이제 드디어 6장만 남겨두고 있다. 이런 저런 일들이 있었지만 다 정리해서 공부하고 새롭게 시작할 공부로 넘어가 보자.
6.1.1 테스트 도구의 분류
▶ 테스트 도구 자동화
- 테스팅 자동화 --> 모든 테스팅 활동에 대해 고려
>> 반복적인 작업 자동화 또는 테스트 계획, 테스트 설계, 테스트 리포팅과 모니터링과 같은 메뉴얼 테스트 지원 --> 테스트 효율성 향상.
>> 수작업으로 진행 시 상당한 자원을 필요로 하는 업무 자동화 (e.g. 정적 테스팅)
>> 사람이 수행할 수 없는 업무 자동화 (e.g. 클라이언트 - 서버 어플리케이션의 대단위 성능 테스팅)
>> 테스팅 신뢰성 향상(e.g. 대량 데이터 비교 자동화, 시뮬레이션)
- 테스팅 활동에 따른 도구 분류
도구 분류 | 세부 분류 |
테스팅 관리 지원 도구 | 테스트 관리 도구, 인시던트 관리 도구, 요구사항 관리 도구, 형상 관리 도구 |
정적 테스팅 지원 도구 | 리뷰 지원 도구, 정적 분석 도구, 모델링 도구 |
테스트 설계 지원 도구 | 테스트 설계 도구, 테스트 데이터 준비 도구 |
테스팅 실행 및 로깅 지원 도구 | 테스트 실행 도구, 테스트 하네스, 유닛 테스트 프레임워크 도구, 테스트 비교자, 커버리지 측정 도구, 보안 도구 |
성능과 모니터링 도구 | 동적 분석 도구, 성능/ 부하/ 스트레스 테스팅 도구, 모니터링 도구 |
특정 어플리케이션 영역을 위한 도구 | 웹 기반 어플리케이션에 특화된 성능 테스팅 도구, 특정 개발 플랫폼을 위한 정적 분석 도구, 임베디드 시스템과 같은 특정 어플리케이션 분야를 위한 상용도구 |
6.1.2 테스트 관리 지원 도구
▶ 테스트 관리 도구
- 실행된 테스트와 테스팅 활동 관리를 지원
- 추적성 제공 : 소스 문서(요구사항명세 등)와 테스트 케이스, 테스트 결과, 인시던터(결함) 간의 추적성 제공.
- 리포트 생성 : 테스트 결과 기록, 테스트 진행 상황에 대한 리포트 생성
- 정량적 분석 지원 : 테스트 관련 지표(실행한 테스트, 합격한 테스트 등)와 발견된 결함 또는 인시던트와 같이 테스트 대상에 관련된 정량적인 분석(측정)을 지원
- 조직의 요구에 맞는 양식으로 유용한 정보를 생산하기 위해 스프레드시트, 테스트 실행 도구, 결함 추적 도구, 요구사항 관리 도구와 같은 다른 도구들과 연동 필요
▶ 인시던트 관리 도구
- 보고된 인시던트 리포트 간에 우선순위 결정
- 결함 수명 주기 관리
>> 결함이 발견(탄생)되고, 분배되고, (재)수정되고, (재)확인되고, 종료되는 결함 수명 주기 관리
>> 결함 수정 불필요, 수정 완료 및 테스트 준비, 수정을 다음 릴리즈로 연기 등의 결함 상태 변경
- 결함을 기록하고 결함 관리 상황에 대한 리포트 생성(누적 s커브 등)
- 담당자에게 수정 및 확인 테스트 등의 임무 할당
요구사항 --> 테스트 케이스 --> 인시던트 |
* 현업에서는 인시던트와 결함의 구분 없이 결함 관리, 결함 추적 도구, 또는 버그 추적 시스템으로도 통용됨 |
▶ 요구 사항 관리 도구
- 요구사항 명세서 저장
- 요구사항에 대한 특성(우선순위 포함) 저장
- 요구사항에 대한 고유 식별자 부여
- 요구사항에 대한 개별 테스트의 추적성 제공
- 누락된 요구사항 또는 일관성이 없는 요구사항을 식별
** 참고: 요구사항 커버리지가 100% 커버했다고 하더라도 요구사항이 최소한 1개의 테스트 케이스로 테스트되었다는 정도만 의미함
▶ 형상 관리 도구
- 형상관리 지원 도구는 테스트를 위한 도구는 아니지만 테스트 업무에 활용 가능함
- 테스트웨어의 버전 관리와 저장을 위해 활용
- 하나이상의 운영체제, 컴파일러, 브라우저 등의 하드웨어/ 소프트웨어 환경 구성에 필요
6.1.3 정적 테스팅 지원 도구
▶ 정적 테스팅 지원 도구
- 개발 프로세스 초기에 많은 결함을 발견 -> 비용 대비 효과성 올라감
- 리뷰 프로세스 지원 도구
>> 리뷰 프로세스에 관한 정보를 저장, 리뷰 코멘트를 저장
>> 의사소통, 결합 및 노력을 기록/ 보고
>> 리뷰 규칙이나 체크리스트를 참조할 수 있도록 지원
>> 문서와 소스 코드 사이의 추적성 확보를 가능하게 함
>> 온라인 리뷰 지원
- 정적 분석 도구(개발자에게 더 적절한 지원)
>> 개발자, 테스터, 품질보증 담당자가 동적 테스팅을 하기 전에 결함을 발견할 수 있도록 지원
>> 코딩 표준을 지킬 것을 강제
>> 구조와 의존관계를 분석(링크된 웹페이지의 구조와 의존 관계 분석 등)
>> 코드 이해 지원
>> 최근에는 의미 분석, 룰 체크 등으로 구분
- 모델링 도구 (개발자에게 더 적절한 지원)
>> 소프트웨어 모델 유효성 검증 지원
>> 소프트웨어 모델을 기반으로 테스트 케이스 생성 지원
- 정적 분석 툴이나 모델링 툴에서 가장 큰 이점은 개발 프로세스 초기에 더 많은 결함을 발견하게 하는 비용 효과성을 들 수 있음.
6.1.4 테스트 설계 지원 도구
▶ 테스트 설계 도구
- 코드, 디자인 모델, 사용자 인터페이스, 요구사항으로부터 테스트 입력값과 실제 테스트 케이스를 생성
- 일부 도구는 테스트 오라클을 사용해 예상 결괏값을 생성
- 상태나 객체 모델로부터 생성된 테스트 케이스는 모델 구현을 검증하는데 매우 유용
▶ 테스트 데이터 준비 도구
- 데이터 베이스, 파일, 데이터 전송을 적적히 조작해 테스트 데이터 마련
>> 실 데이터의 익명성을 보장하여 데이터를 보호하면서 실제와 거의 동일한 데이터로 테스트 수행함.
>> 다량의 데이터가 필요한 경우나 특정 생성 규칙에 맞는 데이터가 필요한 경우에도 유용하게 활용됨.
'ISTQB > ISTQB_SW테스팅' 카테고리의 다른 글
ISTQB/ SW 테스팅 ) 6장. 테스트 지원 도구에 대해 알아보자 (2). (0) | 2024.04.01 |
---|---|
ISTQB/ SW 테스팅 ) 5장. 테스트 경과 모니터링, 결함 관리에 대해 알아보자. (0) | 2024.03.26 |
ISTQB/ SW 테스팅 ) 5장. 테스트 조직과 독립성에 대해 알아보자. (1) | 2024.03.25 |
ISTQB/ SW 테스팅 ) 4장. 소프트웨어 품질 특성에 대해 알아보자. (0) | 2024.03.25 |
ISTQB/ SW 테스팅 ) 4장. 구조 기반 기법과 경험 기반 기법 - 오류 추정, 체크 리스트에 대해 알아보자. (0) | 2024.03.22 |