- 쉽고 효율적으로 테스트를 수행할 수 있도록 한 것
- 휴먼 에러(Human Error)를 감소, 테스트의 정확성 유지, 테스트 품질 향상
1. ⭐ 테스트 자동화 도구의 장점 / 단점
1) 장점
- 테스트 데이터 재입력, 재구성 같은 반복적인 작업을 자동화함으로써 인력 및 시간 단축
- 다중 플랫폼 호환성, 소프트웨어 구성, 기본 테스트 등 향상된 테스트 품질 보장
- 사용자 요구사항을 일관성 있게 검증
- 테스트 결과에 대한 객관적인 평가 기준 제공
- 테스트 결과를 그래프 등 다양한 표시 현태로 제공
- UI없는 서비스도 정밀 테스트 가능
2) 단점
- 도구의 사용 방법에 대한 교육 및 학습 필요
- 프로세스 단계별로 적용하기 위한 시간, 비용, 노력이 필요
- 비공개 상용 도구의 경우 고가의 추가 비용 필요
2. 테스트 자동화 수행 시 고려사항
- 재사용 및 측정이 불가능한 테스트 프로그램은 제외
- 모든 테스트 과정을 자동화 할 수 있는 도구는 없으므로 용도에 맞는 적절한 도구 선택
- 환경 설정 및 습득 기간을 고려해 프로젝트 일정을 계획
- 테스트 엔지니어 투입시기가 늦어지면 프로젝트 이해 부족으로 인해 불완전한 테스트를 초래할 수 있으므로 반드시 프로젝트 초기에 테스트 엔지니어의 투입 시기를 계획
3. 테스트 자동화 도구의 유형
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)
- 애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분
- 테스트를 지원하기 위해 생성된 코드와 데이터를 의미
- 테스트가 실행될 환경을 시뮬레이션하여 컴퓨넌트 및 모듈이 정상적으로 테스트 되도록 함
💡 테스트 하네스의 구성요소
- 테스트 드라이버(Test Driver)
- 테스트 대상 하위모듈 호출
- 매개변수 전달하고 모듈 테스트 수행 후 결과를 도출하는 도구
- 테스트 스텁(Test Stub)
- 제어모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구
- 일시적으로 필요한 조건만들 가지고 있는 테스트용 모듈
- 테스트 슈트(Test Suites)
- 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스 집합
- 테스트 케이스(Test Case)
- 사용자 요구사항을 정확하게 준수했는지 확인하기 위한 입력 값, 실행 조건, 기대 결과 등으로 만들어진 테스트 항목의 명세서
- 테스트 스크립트(Test Script)
- 자동화된 테스트 실행 절차에 대한 명세서
- 목 오브젝트(Mock Object)
- 사전에 사용자의 행위를 조건부로 입력해두면, 그 상황에 맞는 예정된 행위를 수행하는 객체
4. 테스트 수행 단계별 테스트 자동화 도구
- 테스트 계획 : 요구사항 관리
- 테스트 분석/설계 : 테스트 케이스 생성
- 테스트 수행 : 테스트 자동화, 정적 분석, 동적 분석, 성능 테스트, 모니터링
- 테스트 관리 : 커버리지 분석, 형상관리, 결함 추적/관리
📖 Reference
728x90
반응형
'Certificate > 정보처리기사' 카테고리의 다른 글
[실기 시험 준비]2023 기출 - 3회(65/100) (0) | 2024.07.25 |
---|---|
[필기 시험 준비]2022 기출 - 4월 24일(76/100) (0) | 2024.07.25 |
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 060. 테스트 케이스 / 테스트 시나리오 / 테스트 오라클 (0) | 2024.07.09 |
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 059. 애플리케이션 테스트 프로세스 (0) | 2024.07.05 |
[2과목 소프트웨어 개발] 애플리케이션 테스트 관리 - 058. ⭐ 통합 테스트 (0) | 2024.07.05 |