소프트웨어 테스트
- 소프트웨어의 결함을 최대한 찾아내 줄이고, 소프트웨어의 품질을 높인다.
테스트의 필요성과 특징
소트프웨어 테스트의 정의
- IEEE : 테스트는 시스템이 명시된 요구를 잘 만족하는지, 즉 예상된 결과와 실제 결과가 어떤 차이를 보이는지 수동이나 자동으로 검사하고 이를 평가하는 작업을 의미한다.
- 조하 만나 : 테스트는 시스템의 명세까지 완벽하게 옳다고 확신할 수 없고, 테스트 시스템 그 자체가 맞다고 증명할 수 없기 때문에 프로그램을 완전히 테스트할 수 없다.
- 달, 다익스트라, 호어 : 테스트는 결함이 있음을 보여줄 뿐, 결함이 없음을 증명할 수는 없다.
결국 소프트웨어 테스트는 **’소프트웨어 내에 존재하지만 드러나지 않고 숨어 있는 오류를 발견할 목적으로 개발 과정에서 생성되는 문서나 프로그램에 있는 오류를 여러 기술을 이용해 검출하는 작업’**이다.
- 작은 의미 : 원시 코드 속에 남아 있는 오류를 발견하는 것
- 큰 의미 : 개발된 소프트웨어가 고객의 요구를 만족하는지 확인해주는 것