스물두줄

컴퓨터시스템응용기술사 · 소프트웨어 공학 및 아키텍처

소프트웨어 테스트

소프트웨어 테스트는 요구사항을 만족하는지 결함을 찾기 위한 체계적 검증 활동이다. 계획, 설계, 실행, 평가를 거쳐 테스트 대상의 품질을 판정한다. 시험에서는 테스트 설계 프로세스와 기법을 묻는 문제가 반복 출제된다. 표준은 테스트를 프로세스, 문서, 기법으로 나누어…

주요 장면

  1. 0:02 개념과 정의
  2. 0:20 표준의 구성
  3. 0:37 기법의 세 범주
  4. 0:58 구조기반 커버리지
  5. 1:26 설계·구현 프로세스
  6. 1:52 예제로 계산
  7. 2:31 정리와 정답

대본

개념과 정의

소프트웨어 테스트는 요구사항을 만족하는지 결함을 찾기 위한 체계적 검증 활동이다.

계획, 설계, 실행, 평가를 거쳐 테스트 대상의 품질을 판정한다.

시험에서는 테스트 설계 프로세스와 기법을 묻는 문제가 반복 출제된다.

표준의 구성

표준은 테스트를 프로세스, 문서, 기법으로 나누어 정의한다.

프로세스 부는 기법과 문서를 호출하고, 기법은 프로세스 밖에서도 쓸 수 있다.

답안에서는 부 번호와 명칭을 함께 쓰면 설명이 간결해진다.

기법의 세 범주

기법은 테스트 조건을 정하는 근거에 따라 세 범주로 나뉜다.

명세기반은 기능 명세를 입력으로 삼으며, 블랙박스 기법이라고도 한다.

구조기반은 코드 구조를 입력으로 삼는 화이트박스 기법이다.

경험기반은 테스터의 경험에 기대며, 탐색적 테스트 등이 속한다.

구조기반 커버리지

구조기반 기법은 코드 구조를 근거로 커버리지를 측정한다.

구문은 라인 실행 여부, 결정은 분기의 참과 거짓 결과를 본다.

MC/DC는 조건과 결정을 함께 보며, 가장 강한 기준이다.

결정 커버리지 달성률은 실행된 결정 결과 수를 전체 결정 결과 수로 나눈다.

커버리지 수치는 충분성 지표일 뿐 품질 보증 자체가 아니다.

설계·구현 프로세스

테스트 설계와 구현은 여섯 단계로 나뉘며 순서대로 진행된다.

먼저 대상, 위험, 요구사항을 분석하고 테스트 조건과 커버리지 항목을 식별한다.

이어서 케이스를 설계해 입력과 예상 결과를 정하고, 절차를 작성한다.

데이터, 환경, 도구를 준비한 뒤 실행 가능 상태를 확인해 구현 완료를 판정한다.

예제로 계산

예로 나이와 소득 두 조건으로 대출 승인을 판정하는 조건문을 보자.

두 조건이 모두 참일 때만 승인이다. 이는 가상의 예다.

구문 커버리지는 승인 라인만 실행하면 되고, 결정 커버리지는 최소 두 케이스가 필요하다.

MC/DC는 각 조건이 결과를 독립적으로 바꾸는 쌍이 필요해 최소 세 케이스다.

정리와 정답

정답은 3개다. 구문 1개, 결정 2개, MC/DC 3개 순으로 시험 개수가 늘어난다.

정리하면 설계와 구현은 절차로 나뉘고, 기법은 세 범주로 분류된다.

명세기반과 구조기반을 병행하고, 커버리지 수치를 품질 보증으로 오해하지 않는다.

같은 장의 영상