Azure Test Plans
1. 개요
1. 개요
Azure Test Plans는 마이크로소프트가 제공하는 Azure DevOps 제품군 내의 테스트 관리 서비스이다. 이 서비스는 웹 기반의 Azure DevOps 서비스 형태로 제공되거나, Azure DevOps Server를 통해 온-프레미스 환경에서도 사용할 수 있다. 이 도구는 애자일 및 데브옵스 팀이 소프트웨어 품질을 보장하기 위해 테스트 활동을 계획, 추적, 평가하는 데 필요한 포괄적인 기능을 제공한다.
주요 역할은 애자일 계획 도구로서, 요구사항부터 테스트 케이스, 결함까지의 엔드투엔드 트레이스빌리티를 제공하는 것이다. 이를 통해 팀은 사용자 스토리나 기능에 대한 테스트 진행 상황을 명확하게 파악하고, 소프트웨어 개발 수명 주기 전반에 걸쳐 품질을 관리할 수 있다. 테스트 관리 도구로서의 핵심 가치는 협업과 가시성을 강화하여 보다 효율적인 테스트 프로세스를 가능하게 하는 데 있다.
2. 주요 기능
2. 주요 기능
Azure Test Plans는 애자일 및 데브옵스 팀을 위한 포괄적인 테스트 관리 솔루션을 제공한다. 이 서비스는 웹 기반 Azure DevOps 서비스 또는 Azure DevOps Server 온-프레미스 환경에서 이용할 수 있으며, 소프트웨어 개발 수명 주기 전반에 걸쳐 테스트 활동을 계획, 추적, 관리하는 데 필요한 핵심 기능을 갖추고 있다.
주요 기능은 크게 테스트 계획 수립, 테스트 실행, 그리고 품질 상태에 대한 가시화로 구분된다. 사용자는 테스트 계획을 생성하여 테스트 범위를 정의하고, 테스트 스위트를 구성하여 요구사항, 사용자 스토리 또는 빌드에 기반한 테스트 케이스를 그룹화할 수 있다. 이를 통해 테스트 노력이 개발 작업과 직접적으로 연결되는 엔드투엔드 트레이스빌리티를 확보할 수 있다.
테스트 실행 측면에서는 수동 테스트와 자동화된 테스트를 모두 지원한다. 테스터는 직관적인 웹 인터페이스를 통해 수동 테스트를 실행하고, 각 단계의 결과를 실시간으로 기록하며, 스크린샷이나 주석을 첨부할 수 있다. 또한 연속 테스트 파이프라인에 통합된 자동화된 테스트를 실행하고 그 결과를 중앙에서 모니터링할 수 있다.
품질 관리와 관련하여 서비스는 실시간 대시보드와 풍부한 보고서를 제공한다. 팀은 테스트 진행 상태, 테스트 커버리지, 결함 추세 등을 한눈에 파악하여 데이터 기반의 의사 결정을 내릴 수 있다. 발견된 결함은 바로 작업 항목으로 생성되어 애자일 계획 도구인 Azure Boards와 원활하게 연동되며, 개발부터 배포까지의 전체 흐름을 관리할 수 있다.
3. 테스트 계획 및 스위트 관리
3. 테스트 계획 및 스위트 관리
Azure Test Plans는 애자일 및 데브옵스 팀이 소프트웨어 개발 수명 주기 전반에 걸쳐 테스트 활동을 체계적으로 계획하고 구성할 수 있도록 지원한다. 이를 위해 테스트 계획과 테스트 스위트라는 핵심 구조를 제공한다. 테스트 계획은 특정 릴리스나 스프린트 목표를 달성하기 위한 테스트 활동의 상위 수준 컨테이너 역할을 한다. 사용자는 테스트 계획 내에 여러 테스트 스위트를 생성하여 기능별, 사용자 스토리별 또는 요구 사항별로 테스트 케이스를 논리적으로 그룹화할 수 있다.
테스트 스위트 관리는 정적 스위트와 요구 사항 기반 동적 스위트, 그리고 쿼리 기반 스위트 등 다양한 유형을 지원하여 유연성을 높인다. 정적 스위트는 수동으로 테스트 케이스를 추가하여 관리하는 반면, 요구 사항 기반 스위트는 Azure Boards에 정의된 사용자 스토리나 작업 항목에 자동으로 연결된다. 이 연결을 통해 요구 사항이 변경되거나 추가될 때 테스트 범위가 실시간으로 동기화되어 엔드투엔드 트레이스빌리티를 보장한다.
테스트 케이스는 단계별 지침, 예상 결과, 첨부 파일을 포함하여 상세히 작성할 수 있으며, 재사용이 가능하다. 이를 통해 표준화된 테스트 절차를 구축하고 지식 이전을 용이하게 한다. 또한, 테스트 계획과 스위트는 버전 관리 시스템과 통합되어 변경 이력을 추적하고, 팀 구성원 간의 협업과 테스트 진행 상황의 가시성을 높인다.
4. 테스트 실행 및 추적
4. 테스트 실행 및 추적
Azure Test Plans는 테스트 실행 단계에서 테스터가 실제 테스트를 수행하고 결과를 기록하며 결함을 신속하게 추적할 수 있는 환경을 제공한다. 테스트 스위트에 포함된 개별 테스트 케이스는 웹 기반 인터페이스를 통해 실행되며, 각 단계별로 통과/실패 상태를 지정하고 주석이나 스크린샷과 같은 증거를 첨부할 수 있다. 이 과정에서 발견된 모든 결함은 바로 버그 추적 시스템에 등록되어 개발자에게 전달된다.
테스트 실행의 중요한 특징은 수동 테스트와 탐색적 테스트를 모두 지원한다는 점이다. 특히 탐색적 테스트 세션 중에는 모든 행동이 자동으로 기록되어 재현 가능한 버그 리포트를 생성하는 데 활용된다. 또한 애자일 및 스크럼 프로세스에 최적화되어 있어, 스프린트 내에서 실행된 테스트 결과가 실시간으로 백로그 항목이나 사용자 스토리에 연결되어 엔드투엔드 트레이스빌리티를 확보한다.
테스트 진행 상황은 대시보드를 통해 실시간으로 모니터링된다. 테스트 스위트별 실행 상태, 통과율, 발견된 결함 수 등이 시각화되어 프로젝트 관리자와 테스트 리더에게 가시성을 제공한다. 모든 테스트 결과와 연관된 작업 항목은 Azure Boards와 완전히 연동되어, 결함의 상태 변화가 테스트 측면에서도 자동으로 반영된다.
이러한 추적 기능은 품질 게이트 역할을 수행하여, 주요 빌드나 릴리스 파이프라인 단계에서 특정 테스트 스위트의 통과를 필수 조건으로 설정할 수 있게 한다. CI/CD 파이프라인과의 통합을 통해, 자동화된 테스트 결과와 수동 테스트 결과를 통합적으로 관리하고 소프트웨어 배포의 품질을 보장하는 데 기여한다.
5. 결함 관리 및 연동
5. 결함 관리 및 연동
Azure Test Plans는 테스트 실행 중 발견된 결함을 효율적으로 관리하고, 개발 및 프로젝트 관리 워크플로우와 원활하게 연동하는 기능을 제공한다. 테스터는 테스트 실행 중 직접 결함을 생성할 수 있으며, 이때 테스트 결과, 스크린샷, 로그 파일 등 관련 증거 자료가 자동으로 결함 작업 항목에 첨부된다. 이렇게 생성된 결함은 Azure Boards의 백로그에 즉시 등록되어 팀이 우선순위를 지정하고 추적할 수 있다.
결함 관리의 핵심은 엔드투엔드 트레이스빌리티를 유지하는 것이다. 생성된 결함은 이를 발견한 테스트 케이스, 관련 사용자 스토리 또는 요구사항과 자동으로 연결된다. 이 연결을 통해 팀은 특정 결함이 어떤 기능에 영향을 미치며, 해당 기능의 구현을 담당한 개발 변경 집합은 무엇인지 쉽게 추적할 수 있다. 또한 결함의 상태가 '해결됨'으로 변경되면, 연결된 테스트 케이스를 재실행하여 검증하는 워크플로우가 자연스럽게 유도된다.
이 도구는 지속적 통합 및 지속적 배포 파이프라인과도 통합되어 있다. 빌드 파이프라인에서 실행된 자동화 테스트 실패 시 결함이 자동 생성되도록 구성할 수 있으며, 결함 상태에 따라 배포 게이트를 통과할 수 있는 조건을 설정하는 등 품질 게이트 역할을 할 수 있다. 이러한 연동을 통해 애자일 및 데브옵스 팀은 코드 변경부터 결함 해결 및 검증에 이르는 전 과정을 하나의 플랫폼 내에서 통합적으로 관리할 수 있다.
6. 보고서 및 분석
6. 보고서 및 분석
Azure Test Plans는 포괄적인 보고서 및 분석 기능을 제공하여 테스트 활동의 진행 상황, 품질 상태 및 팀의 생산성을 명확하게 가시화한다. 이 기능들은 Azure DevOps의 기본 제공 대시보드와 Power BI와의 통합을 통해 실현된다. 팀은 테스트 진행률, 결함 추세, 요구사항별 테스트 커버리지 등 다양한 측정 지표를 실시간으로 모니터링할 수 있으며, 이를 통해 데이터 기반의 의사 결정을 내릴 수 있다.
주요 보고서 유형으로는 테스트 계획 진행률, 테스트 결과 추세, 결함 상태 및 해결 추이, 그리고 애자일 백로그 항목에 대한 테스트 완료율 등이 있다. 이러한 보고서는 사용자 정의가 가능하여 팀이나 프로젝트의 특정 요구사항에 맞게 구성할 수 있다. 또한, Azure Boards의 작업 항목과 Azure Repos의 코드 커밋과의 엔드투엔드 트레이스빌리티 덕분에, 특정 결함이나 변경 사항이 테스트 활동에 미치는 영향을 정확하게 분석할 수 있다.
보다 심층적인 분석과 맞춤형 보고를 위해서는 Power BI와의 강력한 통합이 활용된다. Azure DevOps에 저장된 테스트 및 작업 항목 데이터를 Power BI의 데이터 커넥터를 통해 직접 불러와, 복잡한 데이터 시각화와 예측 분석을 수행할 수 있다. 이를 통해 프로젝트 품질의 장기적 추세를 파악하거나, 테스트 리소스의 효율성을 평가하는 등 고급 인사이트를 얻을 수 있다.
이러한 보고 및 분석 도구들은 테스트 팀, 개발 팀, 프로젝트 관리자 등 모든 이해관계자에게 공통된 품질 지표를 제공한다. 이를 통해 팀 전체가 테스트 상태에 대한 단일 진실 공급원을 공유하고, 품질 목표를 달성하기 위한 협업을 강화할 수 있다.
7. 통합 및 확장성
7. 통합 및 확장성
Azure Test Plans는 Azure DevOps 생태계 내에서 다른 핵심 서비스들과 긴밀하게 통합되어 작동한다. 애자일 계획을 위한 Azure Boards, 코드 저장소인 Azure Repos, CI/CD 파이프라인을 구성하는 Azure Pipelines와 원활하게 연동된다. 이를 통해 개발 팀은 단일 플랫폼에서 요구사항, 작업 항목, 코드 변경, 빌드, 테스트, 결함을 종단 간으로 추적할 수 있으며, 이는 애자일 및 데브옵스 방법론을 구현하는 데 핵심적인 트레이스빌리티를 제공한다.
확장성 측면에서는 REST API와 클라이언트 SDK를 제공하여 조직의 특정 요구사항에 맞춰 기능을 확장하거나 외부 시스템과 통합할 수 있다. 또한 마켓플레이스를 통해 제공되는 다양한 확장 프로그램을 설치하여 추가적인 보고, 알림, 타사 도구 연동 등의 기능을 손쉽게 추가할 수 있다. 이러한 개방형 아키텍처는 기존 테스트 자동화 프레임워크나 모니터링 도구와의 통합을 가능하게 한다.
온-프레미스 환경을 운영하는 조직을 위해 Azure DevOps Server 형태로도 제공되어, 데이터를 자체 인프라 내에서 관리할 수 있는 유연성을 보장한다. 웹 기반 인터페이스를 통해 어디서나 접근이 가능하며, 마이크로소프트의 지속적인 클라우드 서비스 업데이트를 통해 새로운 기능과 개선 사항을 주기적으로 제공받을 수 있다.
8. 사용 시나리오
8. 사용 시나리오
Azure Test Plans는 다양한 소프트웨어 개발 생명 주기와 팀 규모에 맞는 테스트 관리 시나리오를 지원한다. 애자일 및 데브옵스 환경에서 지속적 통합과 지속적 배포 파이프라인에 테스트 활동을 통합하는 데 적합하다. 특히 스크럼 팀이 스프린트 동안 사용자 스토리나 작업 항목에 대한 테스트 계획을 수립하고 실행하는 데 널리 사용된다. 대규모 엔터프라이즈 조직에서도 여러 팀과 프로젝트에 걸쳐 표준화된 테스트 프로세스를 적용하고 품질 메트릭을 중앙에서 관리하는 시나리오에 활용된다.
구체적인 사용 사례로는 신규 기능 개발 시 테스트 케이스를 작성하여 요구사항을 검증하거나, 회귀 테스트를 위해 기존 테스트 스위트를 실행하여 변경 사항이 기존 기능에 미치는 영향을 평가하는 경우가 있다. 또한 수동 테스트 수행 시 단계별 지침을 제공하고, 탐색적 테스트를 통해 공식적인 테스트 케이스 외에 예상치 못한 결함을 발견하는 데도 유용하다. 웹 애플리케이션, 모바일 앱, 데스크톱 애플리케이션 등 다양한 플랫폼의 제품을 테스트하는 시나리오에 적용 가능하다.
테스트 팀과 개발 팀 간의 협업을 강화하는 시나리오에서도 중요한 역할을 한다. 테스트 실행 중 발견된 결함은 바로 Azure Boards의 작업 항목으로 생성되어 개발자에게 할당될 수 있으며, 모든 테스트 결과와 결함 상태는 대시보드와 보고서를 통해 실시간으로 공유된다. 이를 통해 팀 전체가 품질 상태에 대한 단일 정보 출처를 공유하고, 트레이스빌리티를 확보하여 요구사항부터 테스트, 결함까지의 연결 고리를 명확히 추적할 수 있다.
