소프트웨어 테스트 자동화: Difference between revisions
From CS Wiki
(새 문서: 분류:소프트웨어 공학분류:기술사 기출 * 상위 문서 소프트웨어 테스트 ;Software Test Automation ;소프트웨어 테스트 케이스 개발, 테...) |
No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[분류:소프트웨어 공학]][[분류:기술사 기출]] | [[분류:소프트웨어 공학]] | ||
* 상위 문서 [[소프트웨어 테스트]] | [[분류:기술사 기출]] | ||
*상위 문서 [[소프트웨어 테스트]] | |||
;Software Test Automation | ;Software Test Automation | ||
;소프트웨어 테스트 케이스 개발, 테스트 수행, 테스트 커버리지 측정 등 소프트웨어 테스트 과정 일부 또는 전체를 수작업이 아닌 자동화된 프로그램을 통해서 수행하는 기법 | ;소프트웨어 테스트 케이스 개발, 테스트 수행, 테스트 커버리지 측정 등 소프트웨어 테스트 과정 일부 또는 전체를 수작업이 아닌 자동화된 프로그램을 통해서 수행하는 기법 | ||
== 테스트 자동화 기술 == | *협의적 개념: 소프트웨어 기능에서 정규 입력에 대한 출력 확인, 오류 검출을 자동화하는 소프트웨어 테스트 기술 | ||
==테스트 자동화 기술== | |||
* | {| class="wikitable" | ||
* [[테스트 커버리지]] 측정 | !단계 | ||
!자동화 기술 | |||
!설명 | |||
|- | |||
| rowspan="3" |설계 | |||
|명세기반테스트 설계 | |||
|소프트웨어 명세로부터 테스트 절차, 데이터, 드라이버 등 생성 | |||
|- | |||
|코드기반테스트 설계 | |||
|소스로부터 테스트절차, 데이터, 드라이버 등 생성 | |||
|- | |||
|테스트 관리 | |||
|테스트계획 수립, 요구사항 및 버그추적 관리 등 지원 | |||
|- | |||
| rowspan="5" |구현 | |||
|정적 분석 | |||
|프로그램을 수행하지 않고 분석하는 도구 | |||
|- | |||
|Review 및 Inspection | |||
|소스코드 및 설계 문서를 분석해서 가이드라인, 규칙 검사 | |||
|- | |||
|커버리지 측정 | |||
|주어진 테스트 케이스에 의해 얼마나 테스트 되었는가 측정 | |||
|- | |||
|동적 분석 | |||
|프로그램 수행 중 시스템 상태평가(Memory Leak 등) | |||
|- | |||
|성능, 로드, 시뮬레이션 | |||
|시스템 부하를 생성하고 반응시간, 메모리 사용량 등 측정 | |||
|- | |||
|구현 | |||
|테스트 수행 | |||
|테스트 케이스 자동 수행, 예상결과 비교 | |||
|} | |||
==[[테스트 자동화 도구]]== | |||
===테스트 수행 자동화=== | |||
*앱피움: 모바일 테스트용, UIAutomator2 + FacebookWDA | |||
*UIAutomator2: 안드로이드용 | |||
*FacebookWDA: iOS용 | |||
*Python-UIAutomation-for-Windows: 윈도우용 | |||
*PyAtom: Mac OS용 | |||
*LDTP: 리눅스용 | |||
===[[코드 인스펙션]]=== | |||
*스페로우 | |||
*코드마인드 | |||
===[[테스트 커버리지]] 측정=== | |||
===성능 테스트=== | |||
==테스트 자동화 프레임워크== | |||
==테스트 자동화 장단점== | |||
{| class="wikitable" | |||
!테스트 자동화 장점 | |||
!테스트 자동화 단점 | |||
|- | |||
| | |||
* 반복적 업무 감소 | |||
* 테스트 노력 절감 및 실수 감소 | |||
* 객관적 평가 기준 제공 | |||
* 효율적인 비용으로 유지보수 가능 | |||
| | |||
* 테스트 자동화 도구의 비용이 고가이며 유지비용 높음 | |||
* 초기 환경 및 테스트 설정에 많은 시간, 비용 소요 | |||
* 도구에 의해 생성된 테스트 자산 유지 비용 소요 | |||
* 테스트 스크립트 유지보수 어려움 | |||
* | |} | ||
* | |||
== | ==기술사 기출== | ||
*정보관리기술사 121회 3교시 | |||
== | ==참고 문헌== | ||
*[http://blog.skby.net/테스트-자동화/ 도리의 디지털라이프] | |||
* |
Latest revision as of 05:36, 13 May 2020
- 상위 문서 소프트웨어 테스트
- Software Test Automation
- 소프트웨어 테스트 케이스 개발, 테스트 수행, 테스트 커버리지 측정 등 소프트웨어 테스트 과정 일부 또는 전체를 수작업이 아닌 자동화된 프로그램을 통해서 수행하는 기법
- 협의적 개념: 소프트웨어 기능에서 정규 입력에 대한 출력 확인, 오류 검출을 자동화하는 소프트웨어 테스트 기술
테스트 자동화 기술[edit | edit source]
단계 | 자동화 기술 | 설명 |
---|---|---|
설계 | 명세기반테스트 설계 | 소프트웨어 명세로부터 테스트 절차, 데이터, 드라이버 등 생성 |
코드기반테스트 설계 | 소스로부터 테스트절차, 데이터, 드라이버 등 생성 | |
테스트 관리 | 테스트계획 수립, 요구사항 및 버그추적 관리 등 지원 | |
구현 | 정적 분석 | 프로그램을 수행하지 않고 분석하는 도구 |
Review 및 Inspection | 소스코드 및 설계 문서를 분석해서 가이드라인, 규칙 검사 | |
커버리지 측정 | 주어진 테스트 케이스에 의해 얼마나 테스트 되었는가 측정 | |
동적 분석 | 프로그램 수행 중 시스템 상태평가(Memory Leak 등) | |
성능, 로드, 시뮬레이션 | 시스템 부하를 생성하고 반응시간, 메모리 사용량 등 측정 | |
구현 | 테스트 수행 | 테스트 케이스 자동 수행, 예상결과 비교 |
테스트 자동화 도구[edit | edit source]
테스트 수행 자동화[edit | edit source]
- 앱피움: 모바일 테스트용, UIAutomator2 + FacebookWDA
- UIAutomator2: 안드로이드용
- FacebookWDA: iOS용
- Python-UIAutomation-for-Windows: 윈도우용
- PyAtom: Mac OS용
- LDTP: 리눅스용
코드 인스펙션[edit | edit source]
- 스페로우
- 코드마인드
테스트 커버리지 측정[edit | edit source]
성능 테스트[edit | edit source]
테스트 자동화 프레임워크[edit | edit source]
테스트 자동화 장단점[edit | edit source]
테스트 자동화 장점 | 테스트 자동화 단점 |
---|---|
|
|
기술사 기출[edit | edit source]
- 정보관리기술사 121회 3교시