소프트웨어 개발과 프로젝트 관리

블랙박스 테스트의 설명으로 적절한 것은?

  1. A프로그램의 내부 구조를 보지 않고, 사양에 기반하여 입력과 기대하는 출력을 정하고 올바르게 동작하는지를 확인한다
  2. B프로그램의 내부 구조에 주목하여, 명령이나 분기가 실행되었는지를 기준으로 테스트 케이스를 만든다
  3. C사용자가 실제 업무 환경에서 시스템을 요구사항대로 쓸 수 있는지를 최종적으로 확인한다
정답과 해설 보기

정답: A. 프로그램의 내부 구조를 보지 않고, 사양에 기반하여 입력과 기대하는 출력을 정하고 올바르게 동작하는지를 확인한다

블랙박스 테스트는 테스트 대상을 속이 보이지 않는 상자로 간주하고, 사양만으로 테스트 케이스를 만드는 방법으로, 동치 분할, 경계값 분석, 원인-결과 그래프, 결정 테이블 등의 기법이 있습니다. 사양에는 있는데 구현되지 않은 기능 등을 찾기 쉬운 반면, 구현 안의 특정 경로를 지나갔는지는 알 수 없습니다. 내부 구조에 주목하여 커버리지를 기준으로 하는 것은 화이트박스 테스트입니다. 사용자에 의한 최종 확인은 인수 테스트로, 이는 테스트 단계의 이름입니다.

이 분야 연습하기 분야로 돌아가기

소프트웨어 개발과 프로젝트 관리의 다른 문제

  1. 정수만 입력되는 칸에서 1 이상 100 이하의 값을 받아들이고, 그 밖의 값은 오류로 처리한다. 동치 분할로 입력을 나누었을 때 동치 클래스의 수(유효 동치 클래스와 무효 동치 클래스의 합계)는?
  2. 입장료를 나이(0 이상의 정수)로 정하는 프로그램이 있으며, 0~17세는 어린이 요금, 18~64세는 일반 요금, 65세 이상은 시니어 요금으로 한다. 요금 구분이 바뀌는 경계를 확인하기 위해 경계값 분석으로 고르는 테스트 값의 조합으로 가장 적절한 것은?
  3. 사양은 '온도가 85 ℃ 이상이면 경고를 낸다'이지만, 펌웨어에는 잘못하여 'if (t > 85)'라고 쓰여 있었다. 온도 t는 정수로 한다. 다음 테스트 값 중 이 오류를 발견할 수 있는 것은?
  4. temp와 err의 값은 서로 독립적으로 정할 수 있다고 한다. 다음 처리 'if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }'에서 구문 커버리지(모든 명령문을 적어도 1회 실행한다)를 만족하는 데 필요한 최소 테스트 케이스의 수는?
  5. a, b, c의 참·거짓은 서로 독립적으로 정할 수 있다고 한다. 다음 처리 'if (a) { S1; } if (b) { S2; } if (c) { S3; }'에서 분기 커버리지(모든 판정의 참과 거짓을 적어도 1회씩 실행한다)를 만족하는 데 필요한 최소 테스트 케이스의 수는?