소프트웨어 개발과 프로젝트 관리
사양은 '온도가 85 ℃ 이상이면 경고를 낸다'이지만, 펌웨어에는 잘못하여 'if (t > 85)'라고 쓰여 있었다. 온도 t는 정수로 한다. 다음 테스트 값 중 이 오류를 발견할 수 있는 것은?
- A84 ℃
- B85 ℃
- C86 ℃
정답과 해설 보기
정답: B. 85 ℃
사양에서는 85 ℃에서 경고를 내야 하지만, t > 85는 t = 85일 때 거짓이 되므로 85 ℃를 주었을 때만 사양과 구현의 결과가 어긋납니다. 84 ℃에서는 둘 다 경고 없음, 86 ℃에서는 둘 다 경고 있음이 되어 오류가 보이지 않습니다. 이처럼 경계 그 자체의 값을 포함하여 시험하는 것이 경계값 분석의 사고방식입니다. 비교 연산자의 혼동은 펌웨어의 임계값 판정에서 자주 일어나는 오류입니다.