테스트란?
테스트는 개발된 응용 애플리케이션이나 시스템의 사용자가 요구하는 기능과 성능, 사용성, 안전성 등을 확인하고 노출되지 않은 숨어있는 결함을 찾아내는 활동이다.
테스트 과정에 필요한 열할은 소프트웨어 아키텍트와 테스트 매니저이다.
테스트의 7가지 원칙
1. 테스트는 계획 단계부터 한다.
· 테스트 활동을 소프트웨어 개발 주기에서 가능한 초기부터 시작해야 한다.
2. 테스트는 결함을 밝히는 활동이다.
· 테스트의 목적을 결함의 제거가 아닌, 결함의 발견이다.
· 테스트는 결함이 있다는 것을 보여줄 수 있지만, 결함이 없다는 것을 증명할 수는 없다.
3. 완전한 테스트는 불가능하다.
· 모든 것에 대한 테스팅은 자원에 한계로 불가능하다.
4. 테스트는 상황에 따라 다르다.
·애플리케이션 테스트에서도 동일한 테스트에 대한 비정상적인 결함 검수가 이루어질 수 있으므로, 이러한 현상을 방지하기 위해서는 다양한 방법으로 테스트하는 것이 필요하다.
5. 결함 집중을 고려한다.
· 결함의 80%는 20%의 코드에 집중되어 있다. 즉, 결함이 높은 곳에 자원이 집중되어 있다(파레토 법칙).
6. 살충제 패러독스를 고려한다.
· 동일한 테스트 케이스에 의한 반복적 테스트로 새로운 버그를 찾지 못하는 내성 현상을 의미한다.
7. 오류 부재의 궤변을 고려한다.
· 개발한 제품이 사용자의 필요와 기대에 부응하지 못하고 쓸모가 없다면 결함을 찾는 활동은 의미가 없다.