2.3 테스트 유형
V-모델에 따르면 각 개발에 맞는 테스트 레벨이 매칭되어 수행한다고 포스팅을 하였는데
이번에는 테스트 유형별로 테스팅을 수행하는 의미에 대해 포스팅 하고자 한다.
기능 테스팅(Functional Testing)
명칭 그대로 시스템이 제공하는 기능이 제대로 실행되는지 확인하는 테스팅이다. 기능은 포괄적인 의미인데 시스템이 수행하는 그 "무엇"을 의미한다.
기능 테스팅은 문서화되거나 테스터가 알고 있는 기능과 특징, 시스템 상호운용성을 고려하여 수행하며 모든 테스트레벨에서 수행할 수 있다.
명세기반 기법(기획서, 매뉴얼 등)을 활용하여 테스트 조건과 테스트 케이스를 도출하는데 블랙박스 테스팅(Black-Box) 기법의 일종이다.
<블랙박스 테스팅은 시스템의 내부 구조를 블랙박스로 보고 입출력을 확인하는 방법이다>
비기능 테스팅(Non-functional Testing)
비기능 테스팅은 기능 테스팅과 반대의 의미로 비기능 요구사항을 만족하는지 체크하는 테스트인데,
예를 들면, 해당 시스템이 어느정도 성능을 유지하는지? 테스트하는 성능과 같이 시스템이 "어떻게" 동작하는지를 의미한다.
비기능 테스팅 또한 모든 테스트 레벨에서 수행할 수 있으며, 대부분의 목적 달성을 위해 블랙박스 테스트 설계기법을 활용한다.
기능과 비기능테스트의 차이
기능테스팅 |
기능테스팅 |
소프트웨어 시스템의 기능을 테스팅합니다. |
소프트웨어 시스템의 성능(예:응답, 처리량 시간 등)을 테스팅합니다. |
• 단위 테스트 |
• 성능 테스트 |
기능 테스팅은 수동으로는 수행할 수 없다. |
비기능 테스팅은 수동으로는 대부분 수행할 수 없습니다. |
'검색' 버튼클릭시 검색어에 입력한 검색결과 페이지로 이동합니다. |
해당 시스템은 최대 100명 까지 접근 가능하며, 접속이후 반응이 없을시 10분 후 세션이 자동종료된다. |
구조적 테스팅(Structural Testing)
특정 유형의 구조 커버리지를 평가하여 테스팅의 보장성이나 충분함을 측정하는 것으로 시스템 구조나 아치텍처를 점검한다.
명세기간 기법의 블랙박스 테스팅과 달리 시스템 내부 구조를 확인하는 테스트로 구조적 테스팅은 화이트 박스(White-Box) 로도 불린다.
재테스팅/리그레션 테스팅(Re-tesing and Regression Testing)
테스터에 의해 프로그램이 결함이 발견되었다면 개발자에 수정요청을 해야한다.
개발자가 열심히 결함을 제거하고 나서 테스터가 수정여부를 확인하기 위한 테스팅을 재테스팅=확인 테스팅이라고 부른다.
리그레션 테스팅은 테스트된 프로그램의 테스팅을 반복하는 것으로, 개발자가 결함수정을 하였으나 이로 인한 형상 변경으로 인해 다른 기능이 영향이 있는지 ? 혹은 새로운 결함이 발생되는지 여부를 확인하는 절차이다. 보통 기업에서는 개발자가 기능을 추가하거나 수정시 확인 테스팅보다 리그레션 테스팅을 선호하게 된다.
따라서, 리그레션 테스팅은 프로그램 배포전이나 배포 후 동일한 테스팅 절차를 수행하기 때문에 자동화 테스팅에 매우 유용하다!!!!