테스팅은 정황에 의존적이지만, 상위 수준에서 봤을 때 만약 없다면 테스팅이 테스트 목적을 달성하기 어렵게 되는 보편적인 테스트 활동이 있다. 이런 테스트 활동이 테스트 프로세스(test process)를 구성하게 된다. 테스트 프로세스는 여러 요인을 기반으로 주어진 상황에 맞게 조정될 수 있다. 테스트 프로세스에 포함할 테스트 활동과 그러한 활동의 구현 방법과 수행 시기는 보통 해당하는 상황의 테스트 계획을 할 때 결정한다
테스트 활동과 업무는 순차적으로 수행되는 것처럼 보일 수 있으나, 실제로는 반복적 또는 병렬로 구현되는 경우가 많다.
테스트 계획
테스트 목적을 정의한 다음 전반적인 상황에 따른 제약 조건 내에서 목적을 가장 잘 달성할 수 있는 접근법을 선택하는 것
테스트 모니터링과 제어(Test monitoring and control)
지속적으로 모든 테스트 활동을 점검하고, 실제 진행 상황을 계획과 비교하는 활동이다. 테스트 제어는 테스트 목적을 달성하는 데 필요한 조치를 하는 활동이다.
테스트 분석
테스트 분석은 테스트 베이시스를 분석하여 테스트 가능한 기능을 식별하고, 관련된 테스트 조건을 정의하며, 우선순위를 정하는 활동을 포함한다. 이 과정에서 리스크와 리스크 수준도 고려된다. 테스트 베이시스와 테스트 대상을 평가하여 결함을 식별하고 테스트 용이성을 평가한다. 테스트 분석을 지원하기 위해 테스트 기법을 사용하는 경우가 많으며, "무엇을 테스트할 것인가?"라는 질문에 대한 답을 제공하는 역할을 한다.
테스트 설계
테스트 분석은 테스트 베이시스를 분석하여 테스트 가능한 기능을 식별하고, 관련된 테스트 조건을 정의하며, 우선순위를 정하는 활동을 포함한다. 이 과정에서 리스크와 리스크 수준도 고려된다. 테스트 베이시스와 테스트 대상을 평가하여 결함을 식별하고 테스트 용이성을 평가한다. 테스트 분석을 지원하기 위해 테스트 기법을 사용하는 경우가 많으며, 무엇을 테스트할 것인가? 라는 질문에 대한 답을 제공하는 역할을 한다.
테스트 구현
테스트 실행에 필요한 테스트웨어를 준비하는 과정이다. 이에는 테스트 데이터 생성, 테스트 케이스를 테스트 절차 및 테스트 스위트로 묶기, 수동 및 자동 테스트 스크립트 작성, 테스트 절차 정리, 테스트 환경 구축 및 설정 확인이 포함된다.
테스트 실행
테스트 실행은 테스트 일정에 따라 테스트를 수행하는 것으로, 수동 또는 자동으로 실행할 수 있다. 다양한 형태의 테스트를 포함하며, 실제 결과를 기대 결과와 비교하고 기록한다. 이상 현상을 분석해 가능한 원인을 파악하고, 관찰된 장애를 보고한다.
테스트 완료
테스트 완료 활동은 프로젝트 마일스톤(예: 릴리스, 반복 주기 완료)에서 수행되며, 해결되지 않은 결함에 대해 변경 요청서나 제품 백로그 항목을 작성한다. 향후 유용할 테스트웨어를 식별하여 보관하거나 인계하며, 테스트 환경을 종료한다. 테스트 활동을 분석해 교훈과 개선 사항을 파악하고, 테스트 완료 보고서를 작성해 이해관계자에게 전달한다.
테스팅은 단독으로 수행되지 않으며, 개발 프로세스의 필수적인 부분이다. 테스팅 비용은 이해관계자가 부담하며, 최종 목표는 이해관계자의 비즈니스 목표 달성을 지원하는 것이다. 테스팅 수행 방식은 다음과 같은 정황 요소에 따라 달라진다
이 요소들은 테스트 전략, 테스트 기법, 테스트 자동화 수준, 커버리지 수준, 테스트 문서화, 보고 등에 영향을 미친다.
테스트 웨어는 테스트 활동의 결과물로 조직마다 생성, 구체화, 명명, 구성, 관리 방식에 차이가 있다. 적절한 형상 관리는 작업 산출물의 일관성과 무결성을 보장한다. 주요 테스트웨어 항목은 다음과 같다
효과적인 테스트 모니터링과 제어를 위해 테스트 베이시스의 개별 요소, 관련 테스트웨어, 테스트 결과, 식별한 결함 간의 추적성을 구축하고 유지하는 것이 중요하다. 정확한 추적성은 커버리지 평가를 지원하며, 측정 가능한 커버리지 기준의 정의되어 있을 때 유용하다.
좋은 추적성은 커버리지 평가, 변경사항 영향 파악, 테스트 감사, IT 운영 및 관리 기준 충족을 돕는다. 또한, 테스트 진행 상황 및 완료 보고서를 이해하기 쉽게 하고, 테스팅의 기술적 측면을 이해관계자에게 쉽게 전달하는 데 도움이 된다. 추적성은 제품 품질, 프로세스 역량, 프로젝트 진행 상황 등을 평가할 수 있는 정보를 제공한다.
테스트 관리 역할
테스팅 역할
문제 1: 테스트웨어(Testware)에 포함되지 않는 것은 무엇입니까?
A) 테스트 계획
B) 테스트 케이스
C) 소프트웨어 요구사항 문서
D) 테스트 스크립트
정답(드래그)
C
해설(드래그)
테스트웨어는 테스트 활동의 결과물로, 테스트 계획, 테스트 케이스, 테스트 스크립트 등을 포함하지만, 소프트웨어 요구사항 문서는 테스트웨어에 포함되지 않습니다.
문제 2: 효과적인 테스트 모니터링과 제어를 위해 중요한 것은 무엇입니까?
A) 테스트 베이시스와 테스트웨어 간의 추적성 구축
B) 테스트 케이스를 무작위로 선택
C) 테스트 환경을 자주 변경
D) 모든 테스트를 자동화
정답(드래그)
A
해설(드래그)
효과적인 테스트 모니터링과 제어를 위해서는 테스트 베이시스와 테스트웨어 간의 추적성을 구축하고 유지하는 것이 중요합니다. 이는 커버리지 평가와 변경사항의 영향을 파악하는 데 도움이 됩니다.
문제 3: 테스트 관리 역할의 주요 활동이 아닌 것은 무엇입니까?
A) 테스트 계획
B) 테스트 모니터링과 제어
C) 테스트 설계
D) 테스트 완료 활동
정답(드래그)
C
해설(드래그)
테스트 설계는 테스팅 역할의 주요 활동 중 하나입니다. 테스트 관리 역할의 주요 활동은 테스트 계획, 테스트 모니터링과 제어, 테스트 완료 활동입니다.
문제 4: 테스트 분석 작업 산출물에 포함되지 않는 것은 무엇입니까?
A) 테스트 컨디션
B) 결함 보고서
C) 테스트 절차
D) 테스트 베이시스의 결함에 관한 보고서
정답(드래그)
C
해설(드래그)
테스트 절차는 테스트 구현 작업 산출물에 포함됩니다. 테스트 분석 작업 산출물에는 테스트 컨디션, 결함 보고서, 테스트 베이시스의 결함에 관한 보고서가 포함됩니다.
문제 5: 테스트 실행 활동에 포함되지 않는 것은 무엇입니까?
A) 테스트 로그
B) 결함 보고서
C) 테스트 스위트
D) 테스트 결과 비교
정답(드래그)
C
해설(드래그)
테스트 스위트는 테스트 구현 작업 산출물에 포함됩니다. 테스트 실행 활동에는 테스트 로그, 결함 보고서, 테스트 결과 비교가 포함됩니다.
문제 6: 다음 중 좋은 추적성의 이점이 아닌 것은 무엇입니까?
A) 커버리지 평가 지원
B) 변경사항의 영향 파악
C) 테스트 환경 변경 용이성 증가
D) 테스트 감사 용이성 증가
정답(드래그)
C
해설(드래그)
좋은 추적성은 커버리지 평가, 변경사항의 영향 파악, 테스트 감사 용이성 등을 지원하지만, 테스트 환경의 변경 용이성을 증가시키는 것과는 직접적인 관련이 없습니다.
문제 7: 테스팅 역할의 주요 활동이 아닌 것은 무엇입니까?
A) 테스트 분석
B) 테스트 설계
C) 테스트 실행
D) 테스트 계획
정답(드래그)
D
해설(드래그)
테스트 계획은 테스트 관리 역할의 주요 활동 중 하나입니다. 테스팅 역할의 주요 활동은 테스트 분석, 테스트 설계, 테스트 실행입니다.
1.4.1 테스트 활동과 업무
분석과 설계 내용이 같습니다.