//구글콘솔 광고 추가가

이제 드디어 6장만 남겨두고 있다. 이런 저런 일들이 있었지만 다 정리해서 공부하고 새롭게 시작할 공부로 넘어가 보자.


6.1.1 테스트 도구의 분류

테스트 도구 자동화

 - 테스팅 자동화 --> 모든 테스팅 활동에 대해 고려

   >> 반복적인 작업 자동화 또는 테스트 계획, 테스트 설계, 테스트 리포팅과 모니터링과 같은 메뉴얼 테스트 지원 --> 테스트 효율성 향상.

   >> 수작업으로 진행 시 상당한 자원을 필요로 하는 업무 자동화 (e.g. 정적 테스팅)

   >> 사람이 수행할 수 없는 업무 자동화 (e.g. 클라이언트 - 서버 어플리케이션의 대단위 성능 테스팅)

   >> 테스팅 신뢰성 향상(e.g. 대량 데이터 비교 자동화, 시뮬레이션)

 - 테스팅 활동에 따른 도구 분류

도구 분류 세부 분류
테스팅 관리 지원 도구 테스트 관리 도구, 인시던트 관리 도구, 요구사항 관리 도구, 형상 관리 도구
정적 테스팅 지원 도구 리뷰 지원 도구, 정적 분석 도구, 모델링 도구
테스트 설계 지원 도구 테스트 설계 도구, 테스트 데이터 준비 도구
테스팅 실행 및 로깅 지원 도구 테스트 실행 도구, 테스트 하네스, 유닛 테스트 프레임워크 도구, 테스트 비교자, 커버리지 측정 도구, 보안 도구
성능과 모니터링 도구 동적 분석 도구, 성능/ 부하/ 스트레스 테스팅 도구, 모니터링 도구
특정 어플리케이션 영역을 위한 도구 웹 기반 어플리케이션에 특화된 성능 테스팅 도구,
특정 개발 플랫폼을 위한 정적 분석 도구,
임베디드 시스템과 같은 특정 어플리케이션 분야를 위한 상용도구 
6.1.2 테스트 관리 지원 도구

테스트 관리 도구

 - 실행된 테스트와 테스팅 활동 관리를 지원

 - 추적성 제공 : 소스 문서(요구사항명세 등)와 테스트 케이스, 테스트 결과, 인시던터(결함) 간의 추적성 제공.

 - 리포트 생성 : 테스트 결과 기록, 테스트 진행 상황에 대한 리포트 생성

 - 정량적 분석 지원 : 테스트 관련 지표(실행한 테스트, 합격한 테스트 등)와 발견된 결함 또는 인시던트와 같이 테스트 대상에 관련된 정량적인 분석(측정)을 지원

 - 조직의 요구에 맞는 양식으로 유용한 정보를 생산하기 위해 스프레드시트, 테스트 실행 도구, 결함 추적 도구, 요구사항 관리 도구와 같은 다른 도구들과 연동 필요

인시던트 관리 도구

 - 보고된 인시던트 리포트 간에 우선순위 결정

 - 결함 수명 주기 관리

   >> 결함이 발견(탄생)되고, 분배되고, (재)수정되고, (재)확인되고, 종료되는 결함 수명 주기 관리

   >> 결함 수정 불필요, 수정 완료 및 테스트 준비, 수정을 다음 릴리즈로 연기 등의 결함 상태 변경

 - 결함을 기록하고 결함 관리 상황에 대한 리포트 생성(누적 s커브 등)

 - 담당자에게 수정 및 확인 테스트 등의 임무 할당

요구사항 --> 테스트 케이스 --> 인시던트
* 현업에서는 인시던트와 결함의 구분 없이 결함 관리, 결함 추적 도구, 또는 버그 추적 시스템으로도 통용됨

 

  요구 사항 관리 도구 

 - 요구사항 명세서 저장

 - 요구사항에 대한 특성(우선순위 포함) 저장

 - 요구사항에 대한 고유 식별자 부여

 - 요구사항에 대한 개별 테스트의 추적성 제공

 - 누락된 요구사항 또는 일관성이 없는 요구사항을 식별

** 참고: 요구사항 커버리지가 100% 커버했다고 하더라도 요구사항이 최소한 1개의 테스트 케이스로 테스트되었다는 정도만 의미함

형상 관리 도구

 - 형상관리 지원 도구는 테스트를 위한 도구는 아니지만 테스트 업무에 활용 가능함

 - 테스트웨어의 버전 관리와 저장을 위해 활용

 - 하나이상의 운영체제, 컴파일러, 브라우저 등의 하드웨어/ 소프트웨어 환경 구성에 필요

 

6.1.3 정적 테스팅 지원 도구

  정적 테스팅 지원 도구

 - 개발 프로세스 초기에 많은 결함을 발견 -> 비용 대비 효과성 올라감

 - 리뷰 프로세스 지원 도구

   >> 리뷰 프로세스에 관한 정보를 저장, 리뷰 코멘트를 저장

   >> 의사소통, 결합 및 노력을 기록/ 보고

   >> 리뷰 규칙이나 체크리스트를 참조할 수 있도록 지원

   >> 문서와 소스 코드 사이의 추적성 확보를 가능하게 함

   >> 온라인 리뷰 지원

 - 정적 분석 도구(개발자에게 더 적절한 지원)

   >> 개발자, 테스터, 품질보증 담당자가 동적 테스팅을 하기 전에 결함을 발견할 수 있도록 지원

   >> 코딩 표준을 지킬 것을 강제

   >> 구조와 의존관계를 분석(링크된 웹페이지의 구조와 의존 관계 분석 등)

   >> 코드 이해 지원

   >> 최근에는 의미 분석, 룰 체크 등으로 구분

 - 모델링 도구 (개발자에게 더 적절한 지원)

   >> 소프트웨어 모델 유효성 검증 지원

   >> 소프트웨어 모델을 기반으로 테스트 케이스 생성 지원

 - 정적 분석 툴이나 모델링 툴에서 가장 큰 이점은 개발 프로세스 초기에 더 많은 결함을 발견하게 하는 비용 효과성을 들 수 있음.

 

6.1.4 테스트 설계 지원 도구

테스트 설계 도구

 - 코드, 디자인 모델, 사용자 인터페이스, 요구사항으로부터 테스트 입력값과 실제 테스트 케이스를 생성

 - 일부 도구는 테스트 오라클을 사용해 예상 결괏값을 생성

 - 상태나 객체 모델로부터 생성된 테스트 케이스는 모델 구현을 검증하는데 매우 유용

테스트 데이터 준비 도구

 - 데이터 베이스, 파일, 데이터 전송을 적적히 조작해 테스트 데이터 마련

   >> 실 데이터의 익명성을 보장하여 데이터를 보호하면서 실제와 거의 동일한 데이터로 테스트 수행함.

   >> 다량의 데이터가 필요한 경우나 특정 생성 규칙에 맞는 데이터가 필요한 경우에도 유용하게 활용됨.

 

 

728x90

+ Recent posts