정보처리기사/필기

[2과목-4장-056] 테스트 자동화 도구

여니두 2020. 4. 25.

사람이 반복적으로 수행하던 테스트 절차 > 스크립트 형태로 구현하는 자동화 도구를 적용함으로써 > 쉽고 효율적으로 테스트 수행 가능하도록 한 것

- 휴먼 에러를 줄이고 테스트 정확성 유지하면서 테스트 품질 향상시킬 수 있음

 

1. 장점 / 단점

* 장점

1) 반복적 작업 자동화 > 인력, 시간 줄일 수 있음

2) 다중 플랫폼 호환성, SW 구성, 기본 테스트 등 향상된 테스트 품질 보장

3) 요구사항 등을 일관성 있게 검증 가능

4) 결과에 대한 객관적 평가 기준 제공

5) 결과를 다양한 표시 형태(그래프 등)로 제공

6) UI 없는 서비스도 정밀 테스트 가능

 

* 단점

1) 테스트 자동화 도구 사용법 교육 및 학습 필요

2) 프로세스 단계별로 적용하기 위한 시간, 비용, 노력 필요

3) 비공개 상용 도구의 경우 고가 추가 비용 필요

 

2. 수행 시 고려사항

- 절차 고려하여 재사용, 측정 불가능한 테스트 프로그램은 제외

- 모든 테스트 과정 자동화할 수 있는 도구는 X > 용도에 맞는 적절한 도구를 선택해서 사용

- 환경 설정 및 습득 기간을 고려 > 프로젝트 일정을 계획해야 함

- 테스트 엔지니어 투입 시기 늦어지면 > 이해 부족 > 불완전 테스트 초래 가능

>> 반드시 프로젝트 초기에 테스트 엔지니어 투입 시기를 계획해야 함

 

3. 유형

1) 정적 분석 도구

- 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도, 남은 결함 등을 발견하기 위해 사용

- 테스트 수행하는 사람이 소스 코드 이해하고 있어야만 함

 

2) 테스트 실행 도구

스크립트 언어 사용하여 테스트 실행하는 방법. 테스트 데이터, 테스트 수행 방법 등이 포함된 스크립트 작성 후 실행

(1) 데이터 주도 접근 방식

- 스프레드시트에 테스트 데이터 저장, 이를 읽어 실행

- 다양한 테스트 데이터를 동일 테스트 케이스로 반복 실행 가능

- 스크립트에 익숙하지 않은 사용자도 테스트 데이터만 추가하여 테스트 가능

 

(2) 키워드 주도 접근 방식

- 테스트 수행 동작 나타내는 키워드와 테스트 데이터를 저장하여 실행

- 키워드를 이용하여 테스트 정의 가능

 

3) 성능 테스트 도구

가상의 사용자를 만들어 테스트 수행 > 성능의 목표 달성 여부 확인

 

4) 테스트 통제 도구

테스트 계획 및 관리, 테스트 수행, 결함 관리 등을 수행하는 도구

- 종류: 형상 관리 도구, 결함 추적/관리 도구

 

5) 테스트 하네스 도구

- 테스트 하네스: 애플리케이션의 컴포넌트, 모듈을 테스트하는 환경의 일부분. 테스트 지원 위해 생성된 코드, 데이터

- 테스트 실행 환경을 시뮬레이션 > 컴포넌트 및 모듈이 정상적으로 테스트되도록 함

- 구성 요소

(1) 테스트 드라이버: 하위 모듈 호출, 파라미터 전달, 결과 도출하는 도구

(2) 테스트 스텁

(3) 테스트 슈트: 테스트 케이스 집합

(4) 테스트 케이스: 테스트 항목 명세서

(5) 테스트 스크립트: 자동화된 테스트 실행 절차에 대한 명세서

(6) 목 오브젝트: 사전에 사용자 행위를 조건부로 입력해 두면 예정된 행위를 수행하는 객체

 

 

4. 테스트 수행 단계별 테스트 자동화 도구

1) 테스트 계획

- 요구사항 관리

2) 테스트 분석/설계

- 테스트 케이스 생성

3) 테스트 수행

- 테스트 자동화

- 정적 분석

- 동적 분석

- 성능 테스트

- 모니터링

4) 테스트 관리

- 커버리지 분석: 테스트 충분성 여부 검증 지원

- 형상 관리

- 결함 추적/관리

댓글