테스트를 실행하면 SW 결함으로 인한 장애를 찾아낼 수 있다.
디버깅은 장애의 원인을 찾고 분석해서 수정하는 개발 활동이다.
확인 테스팅 : 결함 수정 후에 원래 결함이 성공적으로 수정되었는지 확인하기 위해 수행하는 테스트
회귀 테스트 : 결함 수정 후의 결과로 새롭게 만들어 지거나, 이전 결함으로 인해 발견되지 않았던 결함을 발견하는 테스트
테스팅은 결함이 존재한다는 것을 보여줄 수 있지만, 결함이 없다는 것을 증명할 수 없다.
모든 것을 테스팅 한다는 것은 매우 간단한 SW를 제외하고는 불가능하다.
SW 수명주기 초기부터 테스팅을 함으로써 나중에 큰 비용이 동반되는 수정을 줄이거나 없앨 수 있다.
대부분의 결함은 소수의 모듈에 집중되어 발생하는 경향을 보인다.
같은 테스트를 계속 반복 실행한다면, 해당 테스트로는 결함을 더 이상 발견할 수 없게 된다.
도메인 별로 테스트하는 목적과 방법이 다르다.
요구사항을 충분히 테스트하고 발견된 모든 결함을 수정하더라도 사용하기 어렵거나,
사용자의 요구와 기대를 충족시키지 못하거나, 경쟁 시스템에 비해 부족한 시스템을 만들어낼 수 있다.