소프트웨어 QA를 공부하다 보면 테스트 케이스, 테스트 시나리오, 테스트 계획서라는 용어를 자주 접하게 됩니다. 테스트 케이스는 어느 정도 감이 오는데, 막상 “테스트 계획서는 왜 필요한 걸까?”라는 생각이 들 수 있습니다.
저도 처음에는 테스트할 기능만 정해져 있다면 바로 테스트하면 되는 것 아닌가 싶었습니다. 하지만 실제 프로젝트에서는 테스트해야 할 기능과 환경, 일정, 인력이 많기 때문에 무엇을 어떻게 테스트할지 미리 정리하는 과정이 상당히 중요합니다.
오늘은 QA 입문자를 위해 테스트 계획서란 무엇인지, QA 실무에서 왜 필요한지, 어떤 내용을 작성하는지 쉽게 알아보겠습니다.
테스트 계획서란 무엇일까?
테스트 계획서(Test Plan)는 소프트웨어 테스트를 어떤 범위와 방법으로 진행할 것인지 정리한 문서입니다.
쉽게 표현하면 테스트를 시작하기 전에 만드는 “테스트 작업의 전체 계획표”라고 생각하면 됩니다.
예를 들어 쇼핑몰 앱을 새롭게 출시한다고 가정해 보겠습니다.
로그인, 회원가입, 상품 검색, 장바구니, 결제 등 테스트해야 할 기능이 많을 것입니다. 이때 무작정 테스트를 시작하면 중요한 기능을 빠뜨리거나 일정이 부족해질 수 있습니다.
따라서 테스트 계획서를 통해 무엇을 테스트할지, 언제 테스트할지, 누가 담당할지, 어떤 환경에서 테스트할지 등을 미리 정리합니다.
QA에서 테스트 계획서가 중요한 이유
가장 큰 이유는 테스트의 방향을 명확하게 만들기 위해서입니다.
프로젝트가 작다면 담당자가 머릿속으로 계획을 세울 수도 있습니다. 하지만 프로젝트 규모가 커지고 여러 명의 QA가 함께 일하게 되면 이야기가 달라집니다.
각자 다른 방식으로 테스트한다면 테스트 범위가 달라질 수 있고, 중요한 기능이 누락될 가능성도 있습니다.
테스트 계획서를 공유하면 QA팀뿐만 아니라 개발자와 기획자도 현재 어떤 범위의 테스트가 진행되는지 이해하기 쉬워집니다.
테스트 계획서에는 무엇을 작성할까?
회사와 프로젝트에 따라 구성은 달라질 수 있지만 일반적으로 다음과 같은 내용을 포함합니다.
1. 테스트 목적
먼저 이번 테스트를 왜 진행하는지 정의합니다.
예를 들어 신규 결제 시스템이 정상적으로 동작하는지 확인하거나, 업데이트된 기능에 문제가 없는지 검증하는 것이 목적이 될 수 있습니다.
2. 테스트 범위
어떤 기능을 테스트하고 어떤 부분은 테스트 대상에서 제외할지 정합니다.
예를 들어 회원가입, 로그인, 결제는 테스트하지만 관리자 페이지는 이번 테스트 범위에서 제외할 수도 있습니다.
3. 테스트 일정
테스트 시작일과 종료일, 주요 테스트 일정을 정합니다.
개발 완료 일정과 함께 고려해야 하기 때문에 실제 QA 업무에서 중요한 부분입니다.
4. 테스트 환경
어떤 환경에서 테스트할지도 정해야 합니다.
웹 서비스라면 브라우저와 운영체제를 정할 수 있고, 모바일 앱이라면 Android와 iOS 버전, 테스트 기기 등을 정의할 수 있습니다.
5. 테스트 방법
어떤 종류의 테스트를 진행할지 작성합니다.
예를 들어 기능 테스트, 회귀 테스트, Smoke Test 등을 계획에 포함할 수 있습니다.
6. 테스트 담당자
각 테스트 업무를 누가 담당할 것인지 정리합니다.
여러 명의 QA가 참여하는 프로젝트라면 담당자를 미리 정해두는 것이 업무를 효율적으로 진행하는 데 도움이 됩니다.
테스트 계획서와 테스트 케이스는 무엇이 다를까?
두 문서를 처음 접하면 상당히 헷갈릴 수 있습니다.
간단하게 말하면 테스트 계획서는 전체적인 테스트 방향을 정하는 문서이고, 테스트 케이스는 실제 테스트 방법을 구체적으로 작성한 문서입니다.
예를 들어 테스트 계획서에서
“회원가입 기능을 테스트한다.”
라고 정했다면 테스트 케이스에서는
“이메일 형식이 잘못된 값을 입력했을 때 적절한 오류 메시지가 표시되는지 확인한다.”
처럼 구체적인 테스트 방법을 작성합니다.
즉, 테스트 계획서가 큰 그림이라면 테스트 케이스는 세부적인 실행 항목이라고 생각하면 이해하기 쉽습니다.
테스트 계획서를 잘 작성하려면?
테스트 계획서를 작성할 때 가장 중요한 것은 현실적으로 실행할 수 있는 계획을 세우는 것입니다.
모든 기능을 완벽하게 테스트할 수 있다면 좋겠지만 실제 프로젝트에서는 일정과 인력이 제한되어 있습니다.
따라서 서비스에서 문제가 발생했을 때 영향이 큰 기능을 우선적으로 테스트하는 등 위험도와 중요도를 고려한 테스트 계획이 필요합니다.
마무리
테스트 계획서는 단순한 형식적인 문서가 아닙니다.
무엇을, 언제, 어디에서, 어떻게 테스트할 것인지 정리해 QA 업무의 방향을 잡아주는 중요한 문서입니다.
QA를 처음 공부한다면 테스트 케이스만큼이나 테스트 계획서의 역할도 알아두는 것이 좋습니다.
특히 실제 QA 업무에서는 테스트 계획을 세운 뒤 테스트 시나리오와 테스트 케이스를 작성하고, 실제 테스트와 버그 관리를 진행하는 흐름으로 이어지는 경우가 많습니다.
다음 글에서는 QA를 공부할 때 반드시 알아두어야 하는 소프트웨어 테스트의 종류와 각각의 특징을 쉽게 정리해 보겠습니다.