QA 직군에 있다면 누구나 한 번쯤은 "어떻게 하면 더 나은 테스트 케이스를 작성할 수 있을까?"라는 생각을 해봤을 겁니다.
필자 역시 아직도 고민을 하는 중이고 많은 예시들을 보고 배우는 중이다. 내 머릿속에 있는 내용들을 간단하게 정리를 해보려 합니다.
테스트 케이스(Test Case)?
- 명세 기반 테스트의 설계 산출물로 설계된 입력값, 실행 조건, 기대 결과로 구성되어 있는 테스트 항목의 명세서를 의미한다.
- 테스트 케이스의 목적은 기능 누락 방지이다.
🙆♂️ 좋은 테스트 케이스란?
- 정확성(Accurate): 테스트 케이스의 서술 부분에 테스트하겠다고 쓴 것을 테스트한다.
- 경제성(Economical): 테스트 케이스 목적을 위해 꼭 필요한 단계/필드 만을 가진다.
- 반복성, 자립형(Repeatable, self-standing): 테스트 케이스가 잘 제어된 실험이다. 그걸 누가 테스트하든지 간에 매번 동일한 결과가 나온다.
- 적합성(Appropriate): 테스트 케이스가 테스터와 테스트 환경에 알맞아야 한다. 어떤 테스트 케이스가 이론적으로는 견고하다 해도 테스터 중 누구도 갖고 있지 않은 기술을 요구한다면 그게 사용될 수 없음
- 추적성(Traceable): 해당 테스트 케이스가 어떤 요구사항을 테스팅하고 있는지 알아야 한다.
- 자기 세정(Self-cleaning):스스로 회복. 테스트 환경을 테스트 이전 상태로 스스로 되돌려 놓는다.
🙅♂️ 테스트 케이스 작성 시 흔히 하는 실수
- 하나의 케이스에 많은 내용을 담으려 하는 경우
- 기대 결과가 명확하지 않은 경우 (실패 결과인지? 통과 결과인지?)
- 제품의 업데이트에 맞게 기능, 명칭 등을 추가/삭제가 되지 않는 경우
- 누락이 없는 TC를 만들기 위해 불필요한 케이스까지 추가가 되는 경우
아래는 예시로 카카오톡 친구추가에 대한 기능에 기능을 TC로 작성한 부분입니다. (예시이다보니 간단한 부분으로 적었습니다☺️)
❌ 테스트 케이스의 나쁜 예
Test_step | 기대결과 |
1. 카카오톡 홈 > 상단 친구추가 > 친구 추가하기 | 친구추가 되어야 함 |
간단하게 기입하고자 하여 결국 입력 / 기대결과가 구체적이지 못한 케이스가 나올 수 있다.
⭕️ 테스트 케이스의 좋은 예
Test_step | 기대결과 |
1. 카카오톡 친구 탭 > 우측 상단 친구추가 아이콘 선택 2. ID로 추가 아이콘 선택 > 존재하는 유저아이디 입력 > 확인 |
1. "QR코드" "연락처로 추가" "ID로 추가" "추천친구" 노출 확인 2. 유저 프로필 사진, 유저 이름, 친구추가 버튼 노출 확인 |
구체적인 테스트 경로 입력 및 하나의 케이스에 여러내용을 담지 않음
🤔 더 나은 테스트 케이스를 만들기 위해서는?
1. 애매한 부분들이 없도록 입력과 예상 결과를 구체적으로 작성해야 한다. ex) 정상 동작해야 함 >> "뭐가 정상 동작인데?"
2. 간결하고 명료한 문장으로 작성을 해야 함
3. 테스트 케이스는 나만 보는 문서가 아니다. 테스트는 누구든지 할 수 있다. 그러므로 나만 아는듯한 단어 용어는 지양한다.
👊 마지막 한마디
테스트 케이스에는 정답이 없는 것 같다... 좋은 정보들이 있다면 언제든 공유 부탁드리겠습니다!
반응형
'🔍 QA_Test' 카테고리의 다른 글
리스크 기반 테스팅 (0) | 2023.02.16 |
---|---|
마인드맵(Mind Map)으로 테스트 범위 선정하기 (0) | 2023.01.19 |
탐색적 테스팅 (0) | 2022.11.28 |
소프트웨어 테스트 수명주기(STLC)? (0) | 2022.09.30 |
성능테스트 / 부하테스트 / 스트레스 테스트 (0) | 2022.09.23 |