1. 테스트 자동화 개념
- 사람이 반복적으로 하던 테스트 절차를 스크립트 형태로 구현하는 자동화 도구를 적용함
- 따라서 쉽고 효율적으로 테스트 수행
- 휴먼 에러를 줄이고 테스트 정확성을 유지, 테스트 품질 향상
2. 테스트 자동화 도구 장단점
장점 | 단점 |
- 테스트 데이터의 재입력, 재구성 같은 반복적인 작업 줄임 - 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등 향상된 테스트 품질 보증 - 요구사항 등을 일관성 있게 검증 - 테스트 결과에 대한 객관적인 평가 기준 제공 - 테스트 결과를 그래프 등 다양한 형태 제공 - UI가 없는 서비스도 정밀 테스트 가능 |
- 자동화 도구 학습 필요 - 자동화 도구를 프로세스 단계별로 적용하기 위한 시간, 비용, 노력 발생 - 비공개 상용 도구의 경우 고가의 추가 비용 발생 |
3. 테스트 자동화 수행 시 고려사항
- 재사용 및 측정 불가능한 프로그램은 제외
- 용도에 맞는 적절한 도구 선택
- 자동화 도구의 환경 설정 및 습득 시간을 고한 프로젝트 일정 설계
- 프로젝트 이해도를 높이기 위해 테스트 엔지니어를 초기에 투입
4. 테스트 자동화 도구 유형
1. 정적 분석 도구(Static Analysis Tools)
- 프로그램을 실행하지 않고 분석하는 도구
- 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함 등을 발견하기 위해 사용
2. 테스트 케이스 생성 도구(Test Case Generation Tools)
- 자료 흐름도
- 기능 테스트
- 입력 도메인 분석
- 랜덤 테스트
3. 테스트 실행 도구(Test Execution Tools)
4. 성능 테스트 도구(Performance Test Tools)
5. 테스트 통제 도구(Test Control Tools)
6. 테스트 하네스 도구(Test Harness Tools)
- 구성 요소
1. 테스트 드라이버 : 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 및 결과 도출 도구
2. 테스트 스텁 : 모듈 기능을 단순히 수행하는 도구로 일시적 조건만을 가지고 있는 테스트용 모듈
3. 테스트 슈트 : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스 집합
4. 테스트 케이스
5. 테스트 스크립트
6. 목 오브젝트 : 사전에 사용자 행위를 조건부로 입력해 두면, 그 상황에 맞는 예정된 행위를 수행하는 객체
5. 테스트 수행 단계별 자동화 도구
테스트 단계 | 자동화 도구 | 설명 |
테스트 계획 | 요구사항 관리 | 사용자의 요구사항 정의 및 변경 사항 등을 관리 |
테스트 분석/설계 | 테스트 케이스 생성 | 테스트 기법에 따른 테스트 데이터 및 테스트 케이스 작성 지원 |
테스트 수행 | 테스트 자동화 | 자동화를 도와 테스트 효율설을 높임 |
정적 분석 | 코딩 표준, 런타임 오류 등을 검증 | |
동적 분석 | 대상 시스템의 시뮬레이션을 통해 오류를 검출 | |
성능 테스트 | 가상의 사용자를 생성하여 시스템의 처리 능력을 측정 | |
모니터링 | CPU, 메모리 등과 같은 자원 상태 확인 및 분석 | |
테스트 관리 | 커버리지 분석 | 테스트 완료 후 테스트의 충분성 여부 검증 |
형상 관리 | 테스트 수행에 필요한 도구 및 데이터를 관리 | |
결한 추적/관리 | 테스트 시 발생한 결함 추적 및 관리 활동 지원 |
'Study > 정보처리기사' 카테고리의 다른 글
062 애플리케이션 성능 분석 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.28 |
---|---|
061 결함 관리 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.28 |
059 테스트 케이스/테스트 시나리오/테스트 오라클 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
058 애플리케이션 테스트 프로세스 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |
057 통합 테스트 - 4장 애플리케이션 테스트 관리 - 2과목 소프트웨어 개발 (0) | 2022.01.27 |