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. 테스트 케이스는 나만 보는 문서가 아니다. 테스트는 누구든지 할 수 있다. 그러므로 나만 아는듯한 단어 용어는 지양한다.

👊 마지막 한마디

테스트 케이스에는 정답이 없는 것 같다... 좋은 정보들이 있다면 언제든 공유 부탁드리겠습니다! 
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기