테스트 자동화 리포트 방법(도구+지표)

by | Apr 24, 2024

테스트를 자동화하면, 반복적인 작업이 간소화되고, 테스트 수행 절차가 가속화된다. 또 소프트웨어 테스트 수행의 결과가 일관되고 신뢰성을 가지도록 한다. 테스트 자동화 리포트는 테스트 결과에 대한 실행 가능한 인사이트(actionable insight)와 가시성을 제공한다. 그로 인해 팀은 정보에 근거한 의사 결정을 내릴 수 있고, 문제를 신속하게 파악할 수 있다. 또 전반적인 소프트웨어 품질을 효율적으로 향상시킬 수 있다.

테스트 자동화 리포트란 무엇인가?

테스트 자동화 리포트는 자동화된 테스트 케이스의 실행과 결과에 대해 상세히 설명하는 종합적인 문서를 말한다. 테스트 커버리지, 통과/실패 상태, 에러 로그, 성능 지표를 비롯한 다양한 지표를 보여준다.

이 리포트는 소프트웨어의 상태를 가시화하며, 개선해야 할 영역을 정확히 찾아낸다. 또한 테스트 수행 전략 최적화와 소프트웨어 품질을 개선하기 위해 정보에 근거한 의사 결정을 내릴 수 있게 해준다.

테스트 자동화에 대한 리포트가 중요한 이유는 무엇인가?

테스트 자동화에 대한 리포트는 테스트 실행에 대한 명료한 가시성을 제공한다. 그리고 이해 관계자에게는 테스트 커버리지에 대한 종합적인 관점을 제시한다. 이 데이터는 정보에 근거한 의사 결정을 내릴 수 있게 하고, 효과적인 커뮤니케이션을 촉진한다. 이로써 팀이 개선할 사항의 우선 순위를 정하고, 테스트 수행 전략을 지속적으로 개선할 수 있도록 지원한다. 결과적으로, 이는 테스트 노력을 최적화한다. 이는 테스트에 집중하고, 시간을 절약하며, 효과를 극대화하기 위해서다.

예시로 시나리오 하나를 살펴보자:

어떤 팀이 전자 상거래 플랫폼 작업을 하고 있다고 가정해 보자. 그 팀은 자동화 테스트를 구현하여, 장비와 브라우저에 구애 받지 않고, 사용자가 구매를 진행할 때마다, 원활하게 결제 절차가 진행되는지 확인하려 한다.

그 팀은 TestRail과 같은 테스트 관리 도구를 활용하여, 이 자동화 테스트가 정기적으로 실행되도록 설정한다. 테스트가 실행되고 나면, TestRail은 상세 리포트를 생성한다. 이 리포트에는 성공적인 거래의 수, 실패한 결제, 문제가 발생한 장비 또는 브라우저, 실패로 이어진 특정 단계와 같은 정보가 포함되어 있다.

그 리포트는 사파리(Safari)를 이용하는 모바일 장비에서 지속적으로 결제가 실패한다는 사실을 강조하고 있다.

팀은 이런 정보들에 근거하여, 문제에 대해 더 철저하게 분석했다. 그리고 결제 게이트웨이와 모바일 사파리 간의 호환성 문제가 근본 원인임을 파악했다. 해당 문제를 해결하는 것을 우선으로 작업했다.

TestRail과 같은 플랫폼을 이용하면, 이런 이슈들을 추적할 수 있고, 작업을 팀 구성원들에게 할당할 수 있고, 진행 상황을 모니터링 할 수 있다. 그 팀은 문제를 해결하면서 테스트를 다시 실행한다. 그리고 TestRail의 이력 데이터와 테스트 케이스 버전 관리 기능을 사용하여 시간 경과에 따른 개선 사항을 추적한다. 이 반복적인 절차는 다양한 장비와 브라우저에서 결제 시스템이 더욱 안정적으로 작동하도록 하기 위한 것이다.

그림: TestRail의 자동화된 테스트와의 통합 기능은 실시간으로 실행 가능한 인사이트(actionable insight)를 제공한다. 그로 인해 팀은 효율적으로 문제를 파악하고, 해결하며, 추적할 수 있다.

테스트 자동화 리포트 유형

테스트 자동화 리포트는 소프트웨어 테스트 수행에서 정보에 근거한 적절한 의사 결정의 토대가 된다. 이 리포트들은 테스트 결과의 종합적인 개요를 제공한다. 이로 인해 팀은 테스트 수행 환경을 이해하고, 데이터-주도 개선이 가능해진다.

소프트웨어에서 일반적으로 사용되는 테스트 자동화 리포트 유형을 표로 정리하면 다음과 같다:

리포트 유형목적추가 정보
요약 리포트테스트 실행에 대한 개요 제공테스트 결과에 대한 높은 수준의 인사이트: 테스트 실행, 통과, 실패
상세 테스트 케이스 리포트개별 테스트 케이스에 대한 구체적인 세부 정보 표시상태(통과/실패), 실행 시간, 관련 이슈/에러
커버리지 리포트테스트 별 코드/기능 커버리지 표시코드 커버리지, 요구 사항 커버리지 또는 지정된 기준과 같은 지표
트렌드 분석 리포트시간 경과에 따른 테스트 결과의 트렌드 표시진행 상황 추적, 패턴 파악, 소프트웨어 품질의 개선 또는 회귀 판단
실패 분석 리포트실패한 테스트 케이스와 해당 세부 정보에 집중실패의 이유에 대한 상세 정보, 에러 로그, 디버깅 스크린샷
실행 이력 리포트과거 테스트 기록 데이터 공개과거 실행, 결과, 시간경과에 따른 테스트 성능의 변화/추세

이 리포트들은 테스트 수행 절차의 다양한 측면을 평가하는 데 사용되는 뚜렷한 용도가 있다. 팀이 소프트웨어 품질과 효율성을 향상시키기 위해 정보에 근거한 의사 결정을 하도록 돕는다.

그림: TestRail은 테스트 분석 및 리포트를 통해 품질 운영에 대한 전체 그림을 제공한다. 그로 인해 신속하게 데이터 기반 의사 결정을 내릴 수 있다.

테스트 자동화 리포트에서 살펴봐야 할 주요 기능

테스트 자동화를 위한 철저한 보고서를 작성하기 위해서, 핵심 기능을 평가하는 것이 중요하다. 리포팅 도구를 평가할 때, 고려해야 할 중요한 사항은 다음과 같다:

1. 접근성

접근성이 최우선이 되어야 한다. 그래서 모든 이해 관계자들이 테스트 자동화 리포트를 사용 가능하게 한다. 강력한 접근성 기능을 갖춘 도구를 사용하면, 팀 구성원들, 개발자들, 그 외 기타 관계자가 쉽게 접근할 수 있다.

    고려 사항:

    • 온라인 접근성: 리포트에는 접근하기 쉬워야 한다. 팀 구성원들이 특정 소프트웨어의 설치 없이도 리포트를 볼 수 있어야 한다.
    • CI/CD와 통합: 지속적인 통합 및 지속적인 배포(CI/CD) 파이프라인과의 원활한 통합은 각 테스트 실행 후에 자동 접근이 가능하도록 보장한다.

    2. 가독성

    가독성은 효과적인 테스트 자동화 리포트의 기본 특성이다. 정보를 분명하고 간결하게 표현하면 이해관계자들이 테스트 케이스의 상태를 이해하고, 주목해야 할 영역을 파악할 수 있다.

      고려 사항:

      • 명확한 형식: 리포트에서는 제목, 글머리 기호, 표 등 서식을 알아보기 쉽게 설정해야 한다. 가독성을 높이기 위해서다. 차트와 그래프를 사용하면, 복잡한 데이터를 더 이해하기 쉽게 만들 수 있다.

      3. 풍부한 데이터

      리포트에 데이터가 풍부하면 테스트 실행 절차에 대해 더 자세히 이해할 수 있다. 종합적인 데이터를 통해 팀은 패턴, 트렌드, 잠재적인 문제를 파악하여 보다 현명하게 정보에 근거한 의사 결정을 내릴 수 있다.

        고려 사항:

        • 실행 시간: 각 테스트에 소요된 시간과 테스트 스위트 실행 시간에 대한 정보는 성능 분석에 필수적이다.

        4. 체계적

        체계적으로 잘 정리된 리포트 구조는 팀과의 효과적인 커뮤니케이션을 위해 매우 중요하다. 이는 사람들이 원하는 정보를 쉽게 찾을 수 있도록 돕는다. 그리고 제공된 정보의 방대한 양에 당황하는 것을 방지할 수 있다.

          고려 사항:

          • 논리적 섹션: 리포트를 요약, 상세 결과, 과거 추세를 포함하는 섹션을 논리적으로 분할한다.
          • 계층적 뷰: 도구는 테스트 스위트, 테스트 케이스, 해당 종속성에 대한 계층적 시각을 제공해야 한다.

          5. 명확한 전체 그림 제공

          상세한 결과도 중요하지만 명확한 테스트 상태도 중요하다. 잘 정리된 요약을 통해, 이해관계자들은 세부적인 내용을 자세히 살펴보지 않고도 프로젝트의 상태를 파악할 수 있다.

            고려 사항:

            • 요약 대시보드: 주요 지표의 개요를 제공하는 대시보드 또는 요약 섹션을 통합한다.
            • 트렌드 분석: 과거 데이터 및 트렌드 분석 기능은 시간의 경과에 따른 프로젝트의 진행 상황을 파악하는데 도움이 된다.

            그림: TestRail을 사용하면, 수작업 탐색적 테스트부터 자동 회귀 테스트에 이르기까지 모든 테스트 수행 활동의 진행 상황을 한곳에서 모니터링 할 수 있다.

            테스트 리포트 도구

            테스트 리포트 도구는 자동화 테스트의 결과에 대한 정보를 생성, 정리, 표시하기 위해 설계된 소프트웨어 애플리케이션 또는 프레임워크를 말한다. 테스트 실행 후 얻은 데이터를 컴파일한 다음, 이해하기 쉬운 리포트로 변환한다. 이로써 테스트 프로세스의 상태와 효과에 대한 인사이트를 제공한다.

            테스트 리포트 도구의 장점

            테스트 리포트 도구는 테스트 결과에 대한 분명한 인사이트를 제공하여, 정보에 근거한 의사 결정을 내릴 수 있게 한다. 그리고 소프트웨어 품질 향상을 위해 트렌드를 파악하고 리소스의 영향을 극대화하여 테스트 노력을 최적화한다.

            • 가시성: 테스트 결과와 실행 세부 사항에 대한 명확한 인사이트를 제공한다.
            • 정보에 근거한 의사 결정: 종합적인 테스트 데이터를 토대로 정보에 근거한 결정을 할 수 있도록 지원한다.
            • 커뮤니케이션: 소프트웨어 품질에 대한 이해관계자들 사이의 커뮤니케이션을 효과적으로 만든다.
            • 최적화: 개선을 위한 트렌드와 영역을 파악함으로써 테스트 노력을 최적화한다.
            • 리소스 극대화: 테스트 수행의 영향을 극대화하여 소프트웨어 품질을 향상한다.
            • 효율: 테스트 수행 절차를 간소화하여 수작업 노력과 잠재적 에러를 감소시킨다.
            • 지속적인 개선: 실행 가능한 인사이트(actionable insight)와 반복적인 개선을 통해 소프트웨어 품질을 지속적으로 향상한다.

            올바른 리포트 도구를 선택하는 방법

            테스트 리포트 도구를 선택할 때 고려해야 할 가장 중요한 다섯 가지는 다음과 같다:

            • 프로젝트의 필요와 일치: 프로젝트의 특정 리포트 요구 사항에 부합하는지 평가한다. 평가에는 필요한 리포트의 유형, 세부 수준, 사용자 정의 옵션이 포함된다.
            • 통합 기능: 도구가 기존 테스트 자동화 프레임워크, 지속적인 통합/배포(CI/CD) 파이프라인, 개발 수명 주기에 사용되는 기타 도구와 완전하게 통합되는지 확인한다.
            • 사용성과 접근성: 직관적인 인터페이스를 제공하는 사용자 친화적인 도구를 선택한다. 그래서 기술적 전문성이 다양한 팀 구성원들이 리포트에 쉽게 액세스하고, 이해할 수 있도록 한다.
            • 확장성과 유연성: 프로젝트의 성장과 복잡성에 따라 확장할 수 있는 도구를 고려한다. 이 도구로 인해 변화하는 테스트 수행에서의 요구 사항이나 테스트 스위트 확장에 유연하게 적응할 수 있는지 확인한다.
            • 지원과 업데이트: 해당 도구의 지원 시스템, 업데이트 가능성, 그리고 이슈 또는 기능 요청에 대한 대응력을 평가한다. 그 도구로 인해 원활한 사용자 경험과 신속한 문제 해결을 보장할 수 있는지 확인한다.

            TestRail 아카데미의 리포트 및 분석 과정을 살펴보자. 테스트 데이터를 실시간으로 시각화 하는 데 TestRail이 어떻게 도움이 되는지 알 수 있다. 또 리포트 템플릿을 이용해 테스트 커버리지와 추적성을 확인하는 방법도 알 수 있다.

            널리 사용되는 테스트 리포트 도구들

            다음의 가장 널리 사용되는 리포트 도구 중 일부를 요약한 표를 참고하자:

            테스트 리포트 도구설명
            TestRail직관적인 인터페이스와 커스터마이즈 가능한 리포트를 제공하는 인기 있는 테스트 관리 플랫폼이다. 다양한 테스트 수행 프레임워크와 통합되어 맞춤형 리포트를 생성하는 유연성을 제공한다.
            Extent ReportsHTML, PDF, 이메일 형식으로 리포트를 제공한다. 테스트 실행의 상세 사항을 요악하여, 결과 분석에 도움을 준다.
            Allure Reports그래프와 차트가 포함된 리포트를 제공하며, 다양한 프로그래밍 언어 및 프레임워크를 지원한다. 그로 인해 결과를 명확하게 표현할 수 있다.
            JUnit널리 사용되는 리포트 기능이 내장된 자바 테스트 프레임워크다. JUnit은 XML 기반 리포트를 생성한다. 그런 다음 이를 빌드 절차에 통합한다.
            Mochawesome자바 스크립트 테스트 프레임워크인 Mocha를 위해 특별히 설계되었다. Mochawsome은 간결성과 미학에 중점을 두고 테스트 결과를 표시하는 HTML 리포트를 생성한다.
            TestNG기본 HTML/XML 기반 리포트를 제공하는 자바 테스트 수행 프레임워크다. 다양한 플러그인과 호환이 가능해서, 프로젝트 요구 사항에 따라 리포트 기능을 향상시킬 수 있다.

            주요 테스트 자동화 리포트 지표:

            리포트 지표는 테스트 절차 및 진행 상황, 테스트 노력의 효율성, 개선이 필요한 영역에 대해 수량화 할 수 있는 인사이트를 제공한다. 이는 궁극적으로 정보에 근거한 의사 결정을 가능하게 한다.

            다음은 소프트웨어 테스트 수행에서 일반적으로 사용되는 10 가지 주요 테스트 자동화 리포트 지표 목록이다:

            지표설명
            테스트 커버리지테스트 수행 프레임워크에 의해 평가되는 테스트 대상 시스템의 기능적 영역과 비기능적 영역의 질적 측정값이다. 여기에는 사용자 모듈, 사용자 인터페이스의 특정 영역, API 등이 포함된다.
            통과/실패 비율테스트 실행 중에 통과하거나 실패한 테스트 케이스의 비율을 나타낸다.
            실행 시간테스트 스위트 또는 개별 테스트 케이스의 실행 시간을 측정한다.
            결함 밀도코드나 테스트 케이스의 단위 당 발견된 결함을 계산한다. 이로써 주어진 테스트 대상 시스템의 소프트웨어 품질에 대한 정량적 관점을 반영한다.
            테스트 케이스 성공률총 실행된 테스트 케이스의 성공 확률을 측정한다. 이는 테스트의 신뢰성을 강조한다.
            코드 복잡성테스트 대상 코드의 복잡성을 평가한다. 이는 결함 발생 가능성에 영향을 미친다.
            회귀 테스트 효과회귀 테스트의 새로운 결함이나 이슈를 파악하는 능력을 평가한다.
            에러/실패 분포테스트 대상 시스템 내의 정의된 컴포넌트/모듈에 대한 테스트 실패 빈도와 분포를 파악한다.
            테스트 유지 관리 노력테스트 스위트를 유지 관리하기 위해 요구되는 노력을 정량화 한다. 이는 시간의 경과에 따라 테스트 수행의 효율성과 신뢰성에 영향을 준다.
            요구 사항 커버리지테스트 케이스가 다루는 요구 사항의 비율을 측정한다. 이를 통해, 실행된 유효성 검사/테스트에 대해 구현된 기능의 연계성이 보장된다.

            테스트 자동화 리포트는 소프트웨어 테스트 수행에 있어서 중심점의 역할을 한다. 이 상세한 보고서로 인해 정보에 근거한 의사 결정을 할 수 있다. 또 커뮤니케이션을 간소화할 수 있고, 소프트웨어 품질을 향상시킬 수 있다. 오늘 TestRail을 살펴보자. 데이터 기반 인사이트를 토대로 애자일 하면서, 품질 중심의 개발 프로세스를 보장하는 올바른 리포트 도구를 선택하는데 도움이 될 것이다.

            (원문: Hannah Son | December 29th, 2023 | How to Report On Test Automation (Tools + Metrics))

            다른 기고들

            소프트웨어 개발사 ELEKS는 어떻게 가시성과 생산성을 높였을까: Jira와 TestRail을 통합한 사례 연구

            게스트의 글입니다. (작성자: Ostap Elyashevskyy) QA 절차를 처음부터 구축하거나 기존 QA 절차를 개선하는 경우, 올바른 테스트 관리 도구 선택은 매우 중요하다. 그것은 여러분이 버그를 찾고, 테스트 케이스를 관리하는 것을 도와준다. 또한 궁극적으로는, 소프트웨어 개발 절차를 잘 다듬을 수 있도록 돕는다. 이 글에서 나는 ELEKS의 우리 팀에게 효과적인 테스트 관리 솔루션을 찾은 경험을 공유하고자 한다. 그리고 그 과정에서 평가한 다른 몇 가지 대안들...

            애자일 테스트 수행에서의 수락 기준들 (Acceptance Criteria in Agile Testing)

            애자일이라는 직조물(tapestry)에서, 수락 기준은 황금색 실과 같다. 이것은 사용자 스토리를 최종 형태로 연결한다. 이 기준은 테스터가 테스트 수행 전략을 수립하는데 도움이 된다. 그리고 기능 및 품질 보증을 검증하는 데에도 중요한 임계 값 역할을 한다. 수락 기준은 제공된 제품이 고객의 기대에 부합할 것이라고 약속한다. 고객에게 필요한 사항을 정확히 정의하여, 발생 가능한 오해를 줄이고, 더욱 명료하게 한다. 이렇게 고객의 기대치에 맞춰 조율하는 것은 고객 만족으로...

            테스트 관리를 위한 Jira: 선택, 과제, 그리고 솔루션

            여러분의 팀이 소프트웨어 개발 관리를 위해 Jira를 사용하고 있다면, 테스트 수행 및 QA 절차를 Jira와 통합하는 것은 필수적이다. 일반적으로 두 가지 기본 선택권이 있다: Jira를 직접 활용하여 테스트 수행 작업을 모니터링한다. (주로 개발 이슈와 관련된 하위 작업 또는 사용자 정의 이슈 유형을 통해) Jira 기반 테스트 관리 애드-온을 사용한다. (무료일 수도, 유료일 수 있다.) 테스트 관리를 위해 Jira 사용하기 Jira는 애초에 소프트웨어 테스트 수행을...