테스팅의 기초(1)

한승주·2024년 11월 6일

테스팅과 디버깅

테스트를 실행하면 SW 결함으로 인한 장애를 찾아낼 수 있다.
디버깅은 장애의 원인을 찾고 분석해서 수정하는 개발 활동이다.

확인 테스트와 회귀 테스트

확인 테스팅 : 결함 수정 후에 원래 결함성공적으로 수정되었는지 확인하기 위해 수행하는 테스트
회귀 테스트 : 결함 수정 후의 결과로 새롭게 만들어 지거나, 이전 결함으로 인해 발견되지 않았던 결함을 발견하는 테스트

테스팅의 7가지 원리

1. 테스팅은 결함이 존재함을 밝히는 활동이지, 결함이 없음을 밝히는 활동이 아니다.

테스팅은 결함이 존재한다는 것을 보여줄 수 있지만, 결함이 없다는 것을 증명할 수 없다.

2. 완벽한 테스팅은 불가능하다.

모든 것을 테스팅 한다는 것은 매우 간단한 SW를 제외하고는 불가능하다.

3. 조기 테스팅으로 시간과 비용을 절약할 수 있다.

SW 수명주기 초기부터 테스팅을 함으로써 나중에 큰 비용이 동반되는 수정을 줄이거나 없앨 수 있다.

4. 결함은 집중된다.

대부분의 결함은 소수의 모듈에 집중되어 발생하는 경향을 보인다.

5. 살충제 패러독스에 유의하라

같은 테스트를 계속 반복 실행한다면, 해당 테스트로는 결함을 더 이상 발견할 수 없게 된다.

6. 테스팅은 정황에 의존적이다.

도메인 별로 테스트하는 목적과 방법이 다르다.

7. 오류 부재는 궤변이다.

요구사항을 충분히 테스트하고 발견된 모든 결함을 수정하더라도 사용하기 어렵거나, 
사용자의 요구와 기대를 충족시키지 못하거나, 경쟁 시스템에 비해 부족한 시스템을 만들어낼 수 있다.
profile
QA Engineer

0개의 댓글