회원가입을 하면 원하는 문장을
저장할 수 있어요!
다음
AWS 이용 중이라면 월 기본 5% 할인받으세요
QA의 업무 이야기: ① 테스트 결함 추적 툴 'JIRA'
이전 글에서는 테스트 중 결함이 발생했을 때 사용하는 지라(Jira)에 대해 알아봤다. 이번에는 테스트를 관리할 수 있는 도구 중 하나인 테스트레일(TestRail)에 살펴보자.
테스트레일은 QA팀에겐 포괄적인 테스트 관리를 위해 필수적인 도구다. 테스트 계획, 테스트 진행, 테스트 결과는 물론이고 지라와 연계해서 결함을 추적할 수 있다. 또한 프로젝트에 대한 분석에도 용이한 자료를 제공하고, 프로젝트가 종료될 때 보고용으로도 적합하다. 무엇보다 테스트레일은 이런 여러 가지 기능을 직관적으로 사용할 수 있는 UI가 강점이다. 본격적으로 테스트레일 기능에 대해 알아보자.
테스트레일은 테스트를 관리하기 위한 모든 것이 담겨 있다고 해도 과언이 아니다. 테스트레일이 가진 주요 기능은 다음과 같다.
프로젝트별로 개발이 이뤄질 때 반드시 테스트해야 하는 내용이 생긴다. 그에 따라 프로젝트 별로 어떤 부분을 테스트할지 테스트 스위트를 생성할 수 있다. 이때 진행 중인 테스트들은 테스트 런(test runs) 부분에서 본인이 담당하는 테스트는 To do에서 확인할 수 있다.
테스트 스위트는 테스트 케이스 모음으로 프로젝트 속 각 피처(feature) 별로 존재한다. 예를 들어 어느 게임에서 이번 프로젝트에 이벤트, 아이템, 채팅, 상점 업데이트를 계획한다면 각 업데이트 항목별로 테스트 케이스를 작성하고, 개별로 테스트를 진행하게 된다. 이때 각 테스트 스위트는 서로 영향을 주지 않는다.
테스트레일은 테스트 케이스 작성이나 수정이 쉽다. 또한 엑셀과 같은 프로그램을 통해 테스트 케이스 다수를 작성하고 테스트레일에 반영하는 기능도 제공한다. 이점은 QA 업무에서 ‘관리’ 측면에서 중요하다. 소프트웨어 개발 과정에서는 기존 내용이 변경되는 경우가 잦은데, 이 경우 해당 부분에 대한 테스트 케이스도 수정해야 한다. 추후 변경된 내용을 테스트하기 위해 같은 테스트 케이스를 기반으로 테스트에 나섰을 때, 내용이 달라 혼란을 초래할 수 있기 때문이다.
테스트 결과는 상단에 나타난다. 전체 테스트 케이스는 몇 개이고, 그에 따른 passed 및 다른 결과 비율이 노출된다. 이를 기반으로 진행한 테스트가 얼마나 안정화되고 진행이 불가능하거나 결함이 있는 부분이 어딘지 한눈에 파악할 수 있다. 이 부분은 테스트 보고서에 첨부해서 어느 영역에 결함이 집중되었는지, 버그 수정에 있어 우선순위는 무엇인지 등 업무 상 필요한 판단의 근거가 된다.
테스트 결함 추적 도구 지라와도 연동이 쉽다. 결함이 있을 때 그에 해당하는 테스트 케이스에 연결하는 식으로 적용된다. 우선 테스트를 진행한 후 테스트 케이스에 들어갈 수 있는 결과 값은 다음과 같다. (물론 조직별로 다르게 입력할 수 있다.)
이 중 주로 지라와 연계되는 결과 값은 Failed와 Blocked이다. 서로 연결은 다음과 같은 이미지에서 알 수 있다.
테스트레일의 테스트 케이스에는 Defects 항목이 있다. 우선 테스트 케이스에 해당하는 테스트를 진행한다. 이때 결함이 발견되면 지라에 이슈로 등록한다. 해당 이슈에는 고유한 번호가 자동적으로 붙는다. 해당 번호를 복사해서 테스트레일의 Defects 항목에 넣는다. 이렇게 되면 이미지 우측과 같이 자동적으로 링크가 생성되고 관련된 지라의 이슈 때문에 현재 어떤 결함이 있는지 파악하기 용이하다.
또한 지라에서도 이슈가 어떤 테스트 케이스와 연관되어 있는지 확인할 수 있다. 즉, 지라와 테스트레일은 서로 연결 가능하며 테스트레일 속 테스트 케이스에 지라 이슈를 연결하는 것을 ‘매핑(Mapping)’한다고 표현한다. 실제 업무에서 빌드가 변경되고 확인 가능한 지라 이슈가 수정이 되었을 때, 기존에 매핑한 테스트 케이스가 현재 진행 중인 상태라면 해당 테스트 케이스 결괏값을 반드시 업데이트해야 한다. 이를 통해 테스트 안정화를 파악해야 하기 때문이다.
테스트레일에선 프로젝트 별 예상 시간과 실제 진행 시간을 파악해, 이를 바탕으로 앞으로 진행될 프로젝트에서 어느 정도 시간적, 인적, 비용적 자원이 필요할지 예상해 볼 수 있다. 또한 테스트 케이스를 작성할 때 각 케이스별 소요 시간과 실제 테스트 후 테스트 결괏값을 넣을 때 걸릴 시간도 입력이 가능하다. 이를 기반으로 어느 정도 작업 시간이 필요한지 가늠해볼 수 있는 것이다.
이외에도 날짜별로 테스트 케이스를 어느 정도 처리했는지, 결괏값은 어떻게 되는지도 함께 파악할 수 있다. 나아가 테스트가 진행되는 속도, 그에 따른 발생 상황, 계획 대비 편차, 업무에 방해되는 요소, 잔존 리스크 등을 확인한다. 이런 정보를 바탕으로 개발자와 기획자, 프로젝트 매니저나 경영진에게 프로젝트 별 진행 상황에 대해 공유할 수 있다.
테스트 관리 도구는 QA 업무에 시작부터 진행, 마무리까지 함께한다. 프로젝트가 시작되면 기획서나 다른 정보를 기반으로 테스트 케이스를 작성하고, 각자 담당하는 테스트를 진행한다. 자동화 테스트를 포함해 대부분의 테스트를 테스트레일을 통해 진행할 수 있다. 테스트 시 발견하는 결함은 지라를 통해, 테스트에 대한 결과 및 보고 등은 테스트레일을 통해 진행할 수 있는 것이다.
물론 테스트레일 외에도 많은 테스트 관리 도구가 있지만, UI 직관성과 다른 소프트웨어와의 호환이 용이하며 현재 많은 기업에서 사용하고 있는 테스트레일에 대해 알아보았다. 테스트레일은 별다른 교육 없이도 사용하기 쉽고, 지라를 포함해 20가지가 넘는 소프트웨어와 서로 통합하여 편리한 점이 많다. 그중에서도 대표적인 지라와의 연계를 알아보았는데, 이는 QA 업무와 직접적으로 연결된 부분이 많은 만큼 관심 있는 독자라면 한 번쯤 살펴보기를 추천한다.