프로그램 아키텍쳐/소프트웨어공학

테스트

본클라쓰 2011. 12. 22. 14:34

테스트는 개발된 소프트웨어 시스템이 사용자들의 요구에 맞는지, 실행 결과가 예상한 결과와 정확하게 맞는지 또는 어떤 차이를 보이는지를 테스트하고 평가하는 일련의 과정이다.

 

테스트는 오류를 발견하기 위한 과정으로 검증(validation), 검토(verification) 및 품질 보증(quality assurance)의 의미를 포함한다. 크게 단위 테스트, 통합 테스트, 인수 테스트로 나누어 시행한다.

 

 

단위 테스트(unit test)는 소프트웨어 시스템의 최소 구성 요소가 되는 모듈들을 개별적으로 테스트하는 것이다. 모듈 테스트 또는 블랙 박스 테스트라고 부르며 모듈 프로그램의 입출력과 기능을 시험한다.

 

통합 테스트는 개별적인 단위 테스트를 통과한 모듈들을 모아서 전체 시스템으로 완성하기 위해 통합적으로 테스트하는 것으로 시스템이 예정한 대로 기능을 수행하는지 테스트하고 모듈들 사이의 인터페이스가 제대로 작동하는지 테스트하는 것이다.

 

인수 테스트는 실질적으로 사용되기 위해 마지막으로 이루어지는 테스트로 개발된 소프트웨어 시스템을 하나의 완성된 제품으로 보고 사용자들이 제공하는 실제 데이터를 가지고 시스템을 테스트한다. 이 때 시스템이 사용자 요구 사항에 맞게 제 기능을 하는지 테스트를 실시한다.