테스팅의 일반적인 목적

- 작업 산출물 평가에 의한 결함을 예방

작업 산출물(Work Product): 소프트웨어를 개발, 수정하는 프로세스 중에 생산되는 실체가 있는 항목

ex) 프로젝트 계획서, 프로세스 요구사항, 코드, 시험 계획서, 회의록, 일정/예산/문제 보고서....)

 

소프트웨어를 개발하고 수정하는 과정에서 99.9999%로 오류가 발생하며, 여기서 발생한 오류는 결함이 될 수 있는 가능성을 지니고 있습니다. 오류를 찾기 위해 프로세스 중에 만들어진 산출물들을 평가하여 오류를 찾아 결함을 예방할 수 있습니다.

 

- 명시된 모든 요구사항이 충족됐는지 검증

개발 중인 소프트웨어가 의도한 대로 만들어지고 있는지 검증합니다. 요구사항에서 벗어났다면 빠르게 바로 잡는 것이 금전, 시간적인 손해를 줄일 수 있습니다.

 

- 테스트 대상의 완성 여부 확인과 사용자와 기타 이해관계자의 기대치만큼 동작하는지 확인

소프트웨어가 완성이 되었을 때, 그 소프트웨어가 사용자와 이해관계자(ex 고객, 투자자...)가 생각하는 수준으로 올바르게 작동하는지 확인이 필요합니다.

 

- 테스트 대상의 품질 수준에 대한 자신감 획득

테스팅을 통해 소프트웨어의 품질에 대한 인증을 받을 수 있습니다.

 

- 이해관계자가 테스트 대상의 품질 수준을 결정하는 데 필요한 충분한 정보 제공

테스팅을 통해 나온 결과를 이해관계자에게 제공하여 테스트 대상의 품질이 어느 정도 수준인지 이해관계자가 알 수 있습니다.

 

- 계약, 법률, 규제 요구사항이나 표준의 준수 및 테스트 대상이 이러한 요구사항이나 표준을 준수하는지 확인


정황에 따라 달라지는 테스팅의 목적

컴포넌트 테스팅의 목적

- 내재되어 있는 결함을 최대한 조기에 많이 식별하고 수정하는 것

- 코드 완성도를 높이는 것

 

인수 테스팅의 목적

- 시스템이 기대한 대로 동작하는지 확인하는 것

- 요구사항을 충족하는지 확인하는 것

- 특정 시점에 시스템을 배포하는 것에 대한 위험 정보를 이해관계자에게 제공하는 것