테스팅의 유형

단위(Unit) 테스팅
매우 작은 규모의 코드에 대한 테스트를 말하며, 그 코드들은 전체 애플리케이션을 구성하는 단위들이다. 이 테스팅에서는 코드의 아주 작은 부분에 초점을 두며, 그 코드들이 우리가 바라는 대로 동작하는지 확인한다.

통합(Integration) 테스팅
서로 다른 개발자들이 코드의 다른 부분을 맡아 개발하는 경우 항상 코드 간의 통합이 잘 되지 않는다. 통합 테스팅의 목표는 서로 다른 사람의 코드를 실행 중단시키지 않도록 확인하는 것이다. 통합 테스팅은 모든 다양한 단위 테스트를 실행하여 이루어지며, 여러 코드들이 설계한대로 실행을 하는지 확인한다.

시스템(System) 테스팅
별도의 QA 그룹이 있을 경우는 종종 시스템 테스팅에 초점을 둔다. 즉, 전체 애플리케이션을 실행하여 문제 발생의 소지가 있는지를 보는 것이다. 시스템 테스팅은 자동화된 테스트들을 혼합하여 해당 애플리케이션에 적합하게 이루어지며, 애플리케이션의 문제 발생 여부를 알아본다. 시스템 테스팅에서는 컴포넌트 간의 상호 동작을 나타낼 수 있으며, 개발자들이 생각조차 하지 않던 결함들을 밝혀 낼 수 있다.

스트레스(Stress) 테스팅
스트레스 테스팅의 목표는 애플리케이션이 중단되는 한계치까지 과부하를 주는 것이다. 즉, 많은 수의 모의 사용자나 엄청난 양의 데이터베이스 레코드 및 제한된 램 메모리를 갖는 컴퓨터에서의 애플리케이션 실행과 같은 것을 의미한다.

베타(Beta) 테스팅
베타 테스팅에서는 외부의 테스터들에게 미완성 코드의 복사본을 제공하여 그들이 코드를 실행하여 찾은 문제점들을 보고하도록 한다. 베타 테스팅은 마케팅의 도구로 사용될 수도 있는데, 구입 가능성이 있는 고객들에게 정식판에 앞서 새로운 제품을 발표하기 위함이다.

인수(Acceptance) 테스팅
우리가 사용하는 개발 프로세스에 따라 다르겠지만, 애플리케이션에서 각각의 요구 사항을 정확하게 만족시키는지를 정형적으로 검사할 수 있다. 그리고 그와 같은 정형적인 인수 테스팅에서는 소프트웨어가 제 기능을 하는지를 검사할 수 있지만, 예기치 않은 사용에서 발생하는 결함들은 찾지 못하는 경향이 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다