테스트 용어 설명
테스트 단계
블랙박스 테스트, 화이트박스 테스트
블랙박스 테스트의 동등 분할 방법, 경계 값 분석
ex)

화이트 박스 테스트 3가지 검증 기준
화이트 박스 테스트의 Cyclomatic Complexity : 메트릭으로 원시코드의 복잡도를 정량적으로 평가하는 방법

Cyclomatic Complexity를 구하는 3가지 방법
빅뱅 통합 : 한 번에 완성된 모든 모듈을 모아 통합 → 일정에 대한 관리가 편함, 통합을 위한 스텁 구성이 필요X → 중대한 오류 발생 확률 높음, 오류의 위치와 원인 발견 어려움
하향식 통합 : 시스템 구조 상 위에서 아래로 내려오면서 통합되는 통합 테스트로, 최상위 층의 모듈에 대한 드라이버와 스텁을 작성한 후, 통과 되면 스텁을 대상 모듈로 교체하는 방식으로 구조부터 확인하기 때문에 개발자에게 유리하다. → 상위층의 중요한 모듈 인터페이스를 조기 테스트하고, 스텁을 이용하여 사용자들에게 일찍 시현이 가능하다. 하드웨어 사용이 분산되고, 오류 원인을 찾기 쉽다.
상향식 통합 : 시스템 구조상 최하위에 있는 모듈부터 위로 올라가며 통합되는 통합 테스트로, 위층의 모듈이 추가되어 서브 시스템을 구성한다.스텁이 필요없고, 드라이버가 필요하다. → 하위층 모듈을 상위층보다 많이 테스트하므로, 하위층에 중요한 기능의 모듈이 많은 경우에 적합하다. 하드웨어 사용이 분산되고 오류 원인을 찾기 쉽다. → 초기에 시스템 구조가 갖춰지지 않으며, 상위층의 중요 인터페이스를 마지막에 가서야 확인한다.
연쇄식 통합 : 특정 기능을 수행하는 모듈의 최소단위(thread) 부터 시작하는 통합 테스트로, 상대적으로 중요한 모듈부터 개발한다. → 초기에 시스템 골격을 보여주어 사용자의 의견을 빨리 확인 할 수 있다. 시스템을 여러 프로그래머에 나누어 개발하기 쉽다. → 쓰레드의 구성이 복잡해질 수 있어 드라이버와 스텁의 작성에서 오류가 발생할 수 있다.
시스템 테스트 종류
기능 테스트 : 기능적 요구와 시스템의 차이를 발견하기 위한 테스트
성능 테스트 : 시스템의 여러 측면을 체크하기 위한 테스트 ex) 작업 부하, 처리량, 반응 시간, 효율성
UI 테스트 : 인간 공학적인 결함 발견을 위한 테스트 ex) 보고 느끼는 UI, 데이터 입출력 디스플레이, 오류 처리에 대한 결함…
인수 테스트 : 시스템을 당장 사용할 수 있는지 준비가 되어 있는지 확인하는 테스트로, 개발자가 아닌 의뢰자 또는 대리인이 테스트 수행
인수 테스트 中 베타 테스트 관점에서의 시스템 테스트와의 차이 : 시스템 테스트는 개발 중 주요 단계에서 시스템이 정상적으로 실행되는지 확인하는 테스트이고, 베타 테스트는 실제 사용자가 사용하는 환경에서 테스트하며, 피드백을 받는 테스트이다.