V 모델 기반으로 테스트를 수행할 때 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 등의 단계를 거친다.
모듈이 정확히 동작하는지를 테스트하는 것이다.
화이트박스와 블랙 박스 테스트 둘 다 가능하다.
단위 테스트에서는 예상 결과를 어떻게 작성할 것인가
와 드라이버와 스텁
개발을 고려해야 한다.
드라이버는 상위 모듈을 대체한다.
스텁은 하위 모듈을 대체한다.
단위 테스트를 통과한 모듈들이 통합되어 실행될 때 발생할 수 있는 문제를 검사하기 위한 활동이다.
보통 두 가지 접근 방법에 의해 이루어진다.
모든 모듈을 한 번에 통합하여 테스트를 수행하는 방식이다.
단위 모듈을 한 번에 하나만 통합하여 테스트를 수행하는 방식이다.
통합되지 않은 스텁을 개발해야 하므로 추가적인 노력이 필요하다.
보통 블랙박스 기반 테스트를 진행한다.
메인 함수를 중심으로 통합한다.
최하위의 단위 함수를 기준으로 상위 호출 모듈을 단계적으로 통합한다.
제어의 중심에 있는 스레드를 기반으로 주변에 있는 모듈을 하나씩 통합하면서 테스트를 수행하는 방식이다.
하향식 통합과 상향식 통합이 동시에 진행되는 방식이다. 마지막에 합칠 때 결함이 발견된다면 결함의 원인을 두고 팀 간의 논란이 생길 수 있다.
가장 중요한 모듈을 먼저 살펴보겠다는 의도가 담긴 방법이다.
개발된 시스템을 하드웨어 플랫폼에 설치한 뒤 수행한다.
기능 뿐만 아니라 성능 등의 품질 측면에도 관심이 있다.
보통 블랙박스 기반 테스트를 진행한다.
개발 소프트웨어 시스템을 사용자에게 전달하기 전에 수행한다.
보통 블랙박스 기반 테스트를 진행한다.
구축된 소프트웨어 시스템에 대해 전문가 및 전문적 지식이 있는 사용자 일부를 테스터로 선정하여 개발 팀과 함께 개발 장소에서 테스트를 수행하는 것이다.
사용자가 일하는 장소에 소프트웨어 시스템을 설치하고 일정 기간 동안 개발된 소프트웨어를 시범적으로 운영하면서 문제점을 찾아내는 테스트다.
사용자가 시스템을 사용하며 성능, 사용의 편의성 등과 같은 사항 점검한다.
개발된 소프트웨어 혹은 운영 중인 소프트웨어에 대해 기능을 추가하거나 결함을 제거한 후 해당 소프트웨어를 테스트하는 활동이다.
모든 테스트 케이스와 추가된 기능에 대한 테스트 케이스를 모두 준비하여 테스트하는 기법이다.
변경된 부분을 중점적으로 테스트하기 위해 변경을 영향받는 범위를 정하고 이를 기반으로 테스트 케이스를 준비한다.
변경, 추가된 부분을 포함하여 소프트웨어를 구성하는 핵심 기능 위주로 우선순위를 정하여 테스트를 수행한다.