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

테스트 공정에서 테스트 시간(또는 테스트 케이스의 소화 수)을 가로축에, 발견된 결함의 누적 건수를 세로축에 잡은 신뢰도 성장 곡선을 그렸다. 곡선이 아직 오른쪽 위로 올라가는 채이고, 포화하는(평평해지는) 모습이 보이지 않을 때의 판단으로 가장 적절한 것은?

  1. A결함이 순조롭게 발견되고 있어 테스트의 효율이 좋으므로, 예정대로 테스트를 끝내도 된다
  2. B곡선의 모양은 품질과는 관계가 없으므로, 예정한 테스트 케이스를 모두 소화하면 테스트를 끝낸다
  3. C아직 발견되지 않은 결함이 많이 남아 있을 가능성이 높으므로, 테스트를 계속하고 결함의 경향도 분석한다
정답과 해설 보기

정답: C. 아직 발견되지 않은 결함이 많이 남아 있을 가능성이 높으므로, 테스트를 계속하고 결함의 경향도 분석한다

테스트를 진행하면 처음에는 결함이 잇따라 발견되고, 남은 결함이 줄어듦에 따라 발견되는 건수가 줄어 가므로, 누적 건수의 곡선은 S자형(곰페르츠 곡선이나 로지스틱 곡선으로 근사)이 되어 이윽고 포화합니다. 곡선이 포화에 가까워지고 있으면 품질이 안정되어 왔다고 판단하는 기준이 되지만, 오른쪽 위로 올라가는 동안은 아직 많은 결함이 남아 있을 가능성이 높다고 봅니다. 예정한 테스트 케이스를 소화했다는 것만으로는 테스트를 끝내는 근거가 되지 않습니다. 곡선을 맞춰 남은 결함의 수를 추정하고, 테스트의 추가나 중점화에 사용합니다.

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

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

  1. 규모가 25 k스텝(25,000행)인 펌웨어의 통합 테스트에서 결함이 30건 발견되었다. 조직의 과거 실적으로부터 이 공정에서 발견되는 결함의 기준은 1 k스텝당 2~4건으로 되어 있다. 이 결과의 평가로 가장 적절한 것은?
  2. Git에서 두 개발자가 같은 파일의 같은 행을 각각 다른 브랜치에서 고쳐 쓰고, 한쪽 브랜치를 다른 쪽에 병합했다. 이때 일어나는 일로 적절한 것은?
  3. 설계서나 소스 코드의 리뷰 방법 중, 모더레이터(진행자)가 주도하고 참가자의 역할을 정하며, 체크리스트 등을 사용해 공식적으로 수행하고, 발견한 결함을 기록하여 수정까지 확인하는 것은?
  4. 올바르게 동작하는 것으로 알려진 펌웨어 버전 뒤에 1,000개의 커밋이 있고, 최신 커밋에서는 결함이 일어난다. 결함은 어느 한 커밋에서 들어왔고, 그 이후의 커밋에서는 모두 일어난다고 한다. git bisect처럼 이진 탐색으로 원인 커밋을 특정할 때, 빌드하여 테스트하는 횟수의 최댓값은?
  5. 프로젝트의 산출물과 작업을 계층적으로 분해한 WBS에서, 가장 아래 계층에 있으며 소요 기간이나 비용을 추정하고 담당자를 할당하는 단위는?