효율적인 테스트 케이스 작성법 - 직관적으로 질문하라

2010. 5. 10. 21:34QA

책을 보다 보면, 가끔씩 너무나 자주 사용하면서도 너무나 쉽게 지나치고 있는 원리를 가르쳐 줄 때가 있다.


가능하다면 테스트 케이스에서 작성된 질문들은 “Yes”“Pass” 조건 소프트웨어가 설계한대로 동작하며 결함이 발견되지 않는 상태 - 을 가리키도록 작성되어야 한다.
어떠한 테스트 케이스에 “No”라고 대답한다는 것은 해당 테스트 케이스를 실행할 경우 문제가 발생한다는 이야기이며, 이러한 결함은 반드시 보고되어야 한다. 여기에는 여러가지 이유가 있지만 가장 직관적인 이유는, 일반적으로 우리는 심적으로 “Yes”“Pass”를 동일시하고(둘 다 긍정적인 의미이므로), 같은 방식으로 “No”“Fail”을 동일시 하기 때문이다.

또한, 동일한 컬럼 안에서 패스 처리된 모든 항목들을 한 군데에 묶음으로써, 테스터와 테스트 매니저 모두 완료된 테스트 스위트에서 실패 처리된 항목과 성공 처리된 항목들을 쉽게 식별할 수 있기 때문이다.

 

예를 들어, 다양한 인터페이스와 결합해 작은 창안에 텍스트로 설명을 해주는 툴팁 디스플레이를 커버하는 테스트 케이스가 있다고 가정해보자. 기본적인 테스트 케이스에는 툴팁 텍스트에 오탈자가 있는지의 내용이 포함될 것이다. 이를 위한 가장 직관적인 테스트 케이스는 다음과 같을 것이다.

 

텍스트에 오탈자가 포함되어 있는가?(Does the text contain typographical errors?)

 

이 질문에는 문제가 있어보이는데, 이는 이 항목을 패스 처리를 하려면 “No”라고 대답해야 한다는 것이다.
격무에 시달려 피곤하거나 지친 테스터라면, 이를 잘못 생각해 오탈자가 없다는 것을 "Yes"라고 표시해 결과적으로 실패했다고 처리할 수 있는 부분이다. 이러한 질문은 “Yes”가 곧 “Pass”를 가리킬 수 있도록 다음과 같이 표현되는 것이 좋다.

 

텍스트에 오타가 없는가?(Is the text free of typographical errors?)

 

보는 대로, 직접적인 화법을 사용한 테스팅은 매우 구조적이고 체계적이다. 이러한 직접적인 테스팅을 완료하고 나서, 혹은 이와 병행하여 조금 덜 구조적이긴 하지만 훨씬 직관적인 애드 혹 테스트(ad-hoc)를 같이 수행하는 것이 좋다.  

                                                                                                          from Game Testing All in One

  • 프로필사진
    BlogIcon Oh2010.05.10 22:09

    무릎을 탁 치며 읽었습니다. 정말 그렇군요!!!

  • 프로필사진
    BlogIcon 스쿨쥐2010.05.11 13:06

    좋은 말씀 감사합니다. 테스트가 익숙해지면 자연스럽게 말씀하신대로 직관적으로 질문을 하게 되는데 경험이 적으면 곧 잘 잊어버리는 내용이기도 하지요 ^^

    • 프로필사진
      BlogIcon 검은왕자2010.05.11 13:51 신고

      경험이 많을수록 스스로 실수하고 그냥 넘어가지 않나 뒤돌아봐야 할 것 같아요.

  • 프로필사진
    미노모드2010.08.02 20:11

    안녕하세요^^ 테스트 케이스에 대해서 궁금한 점이 있어서 질문드립니다.

    테스트 케이스에 대해서 좀더 자세하게 설명을 듣고싶은데 가능할까요?

    • 프로필사진
      BlogIcon 검은왕자2010.08.02 20:39 신고

      좀 더 자세하게 질문해 주시면 제가 아는 범위 안에서 성심성의껏 답변 드리겠습니다. ^^

  • 프로필사진
    미노모드2010.08.02 20:46

    제가 게임QA를 하고있습니다. 신규입사자에게 테스트 케이스 란 이러한 활동을 하는것
    이다 라고 자세하게 설명하고싶은데 아직 저도 배우고 있는단계라 설명할방법이 생각
    나질 않네요.

  • 프로필사진
    미노모드2010.08.02 21:00

    질문을 좀더 구체적으로 작성해야 할까요?

    • 프로필사진
      BlogIcon 검은왕자2010.08.03 10:27 신고

      네 좀 더 구체적으로 물어봐 주시면 좋을텐데요... ㅋ
      테스트 케이스에 대한 정의나 작성 요령에 대해서는 여러 책이나 아티클에서 다양하게 다루고 있습니다.

      기본적으로 테스트 케이스는 요구 사항이나 기획 명세서를 기반으로 테스트를 통해 확인하고자 하는 바를 명시하고 이를 어떻게 확인할 것인지 그 방법과 순서를 나열한 것들이죠.

      『소프트웨어 테스팅 마이크로소프트에서는 이렇게 한다』의 9장 ‘버그와 테스트 케이스 관리’를 참조하셔도 좋을 듯 합니다.

  • 프로필사진
    이치훈2020.02.06 23:59

    테스트 케이스를 작성하려면 수식어? 이런게 필요하지않나요??