@ Full Test Suite = 단위 테스트 케이스 + 통합 테스트 케이스 + 시스템 테스트 케이스

@ 단위 테스트(Unit Test)
: 개발자 자신이 스스로 작성한 소스코드를 테스트함. 비공식적. 함수 하나, 클래스, 컴포넌트가 그 단위가 될 수 있다. 소스코드를 디버깅 도구를 이용하여 한 줄씩 추적해보는 방법이 시간이 많이 걸리지만 장기적으로는 더 효율적일 수 있다.

@ 시스템 테스트(System Test)
: 결함을 찾아내기 위해 소프트웨어를 실행시켜서 테스트를 수행하는 작업, 테스트 조직에서 담당, 요구사항기술서를 토대로 테스트 계획서를 작성하여 테스트 케이스를 만든다.

@ 스모크 테스트(Smoke Test)
: 전자 회로 기판에 전원을 넣었을 때 기판에서 연기가 나는지 확인하는 테스트에서 유래함. 시스템의 안정성 및 주요 기능이 제대로 작동하는지를 확인. 모든 버그를 찾는 것이 아니라 제품의 안정성을 유지하기 위함

@ 화이트/블랙박스 테스트(White/Black BoxTest)
  1. 화이트박스 테스트 : 모듈 안의 작동을 관찰하여 소스코드에 있는 각각의 라인이 제대로 수행되는지를 철저하게 시험
    - Statement coverage : 원시 코드의 모든 문장을 한 번 이상 수행한다.
    - Decision coverage : 선택 문장의 모든 조건을 최소한 한 번 씩 테스트한다.
    - Loop coverage : 모든 루프를 완벽히 테스트한다.
  2. 블랙박스 테스트 : 소스코드 안을 들여다 보지 않고 모듈이 요구 사항에 맞게 기능이 잘 동작하는지 점검하는 테스트
@ 포지티브/네거티브 테스트(Positive/Negative Test)
  1. 포지티브 테스트 : 정상적인 값을 입력했을 때 정상적인 결과가 나오는지를 테스트하는 것
  2. 네거티브 테스트 : 정상적이지 않은 값을 입력할 때나 비정상적으로 시스템을 조작할 때를 테스트하는 것, 보통 사용자들은 소프트웨어를 정상적으로만 이용하지 않기 때문에 네거티브 테스트가 잘 되어 있는 제품의 품질이 더 높다.

@ 회귀 테스트(Regression Test) : 프로그램 수정후 과거에 고쳤던 버그가 다시 살아나는 것을 회귀버그라고 하고 그버그를 찾는 테스틀 회귀 테스트라고 한다. 매 사이클마다 전체 테스트 케이스를 다 점검하는 것이 원칙이다.


Posted by Taoist
,