스물두줄

정보관리기술사 · 소프트웨어 공학

소프트웨어 테스트

소프트웨어 테스트는 요구사항을 만족하는지 확인하고 결함을 찾는 활동이다. 핵심 요소는 결함, 테스트 케이스, 테스트 오라클이다. 오라클은 결과의 옳고 그름을 판정하는 기준이다. 테스트의 목적은 결함을 찾는 것이다. 결함이 없음을 증명하는 것이 아니다. 블랙박스는 내부…

주요 장면

  1. 0:02 테스트란 무엇인가
  2. 0:23 블랙박스와 화이트박스
  3. 0:47 동등 분할과 경계값 분석
  4. 1:27 구문 커버리지 계산
  5. 2:01 답안에서 자주 틀리는 부분
  6. 2:30 정리

대본

테스트란 무엇인가

소프트웨어 테스트는 요구사항을 만족하는지 확인하고 결함을 찾는 활동이다.

핵심 요소는 결함, 테스트 케이스, 테스트 오라클이다. 오라클은 결과의 옳고 그름을 판정하는 기준이다.

테스트의 목적은 결함을 찾는 것이다. 결함이 없음을 증명하는 것이 아니다.

블랙박스와 화이트박스

블랙박스는 내부 구조를 보지 않고 명세의 입출력으로 시험한다.

화이트박스는 내부 로직과 코드 구조를 기준으로 경로를 시험한다.

블랙박스는 명세 누락을, 화이트박스는 구현 결함을 찾는다.

두 방식은 상호 배타적이 아니다. 실무에서는 단위와 시스템 테스트에 함께 결합해 쓴다.

동등 분할과 경계값 분석

학점 처리 모듈은 입력 점수가 0부터 100까지의 정수인 가상의 명세다.

동등 분할은 입력 영역을 같은 처리를 받는 구간으로 나눠 대표값을 고른다.

경계값 분석은 구간의 경계에서 결함이 자주 나타난다는 점을 이용한다.

60점 이상이 D라는 명세이므로 59와 60을 함께 검사한다.

정답은 F다. 59는 F 구간의 마지막 값이고 60부터 D다.

구문 커버리지 계산

구문 커버리지는 실행된 구문 수를 전체 실행 가능 구문 수로 나눈 비율이다.

전체 구문 40개 중 34개를 실행했다면 34를 40으로 나눠 85%가 된다.

결과가 0에서 100% 사이에 있으면 상식 범위 안의 값이다.

정답은 80%다. 40을 50으로 나눈 값에 100을 곱한다.

답안에서 자주 틀리는 부분

시험 답안에서 자주 틀리는 부분을 짚는다.

테스트를 실행 과정으로만 정의하는 것이 가장 흔한 실수다. 정의에는 명세·계획·설계·판정을 포함해야 한다.

동등 분할 답안에서는 0 미만, 100 초과 같은 무효 클래스를 빠뜨리기 쉽다.

경계값 분석에서는 경계마다 직전과 직후 값, 즉 ±1 지점을 함께 써야 한다.

정리

테스트 기법은 명세 기반, 구조 기반, 경험 기반으로 나뉜다.

답안에는 블랙박스와 화이트박스의 대상과 기법을 나란히 쓴다.

정리하면 테스트는 결함을 찾고 품질 근거를 확보하는 활동이다.

같은 장의 영상