소프트웨어 테스트 자동화: 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
;소프트웨어 테스트 케이스 개발, 테스트 수행, 테스트 커버리지 측정 등 소프트웨어 테스트 과정 일부 또는 전체를 수작업이 아닌 자동화된 프로그램을 통해서 수행하는 기법
;소프트웨어 테스트 케이스 개발, 테스트 수행, 테스트 커버리지 측정 등 소프트웨어 테스트 과정 일부 또는 전체를 수작업이 아닌 자동화된 프로그램을 통해서 수행하는 기법
* 협의적 개념: 소프트웨어 기능에서 정규 입력에 대한 출력 확인, 오류 검출을 자동화하는 소프트웨어 테스트 기술


== 테스트 자동화 기술 ==
*협의적 개념: 소프트웨어 기능에서 정규 입력에 대한 출력 확인, 오류 검출을 자동화하는 소프트웨어 테스트 기술
* 테스트 자동 반복 수행
 
* [[퍼징 테스트]]
==테스트 자동화 기술==
* 정적 코드 검사(Inspection)
{| 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"
!테스트 자동화 장점
!테스트 자동화 단점
|-
|
* 반복적 업무 감소
* 테스트 노력 절감 및 실수 감소
* 객관적 평가 기준 제공
* 효율적인 비용으로 유지보수 가능
|
* 테스트 자동화 도구의 비용이 고가이며 유지비용 높음


== [[테스트 자동화 도구]] ==
* 초기 환경 및 테스트 설정에 많은 시간, 비용 소요
=== 테스트 수행 자동화 ===
* 도구에 의해 생성된 테스트 자산 유지 비용 소요
* 앱피움: 모바일 테스트용, UIAutomator2 + FacebookWDA
* 테스트 스크립트 유지보수 어려움
* UIAutomator2: 안드로이드용
|}
* FacebookWDA: iOS용
* Python-UIAutomation-for-Windows: 윈도우용
* PyAtom: Mac OS용
* LDTP: 리눅스용
=== [코드 인스펙션|코드 검사] ===
* 스페로우
* 코드마인드
=== [[테스트 커버리지]] 측정 ===


=== 성능 테스트 ===
==기술사 기출==


== 테스트 자동화 프레임워크 ==
*정보관리기술사 121회 3교시


== 테스트 자동화 장단점 ==
==참고 문헌==


== 기술사 기출 ==
*[http://blog.skby.net/테스트-자동화/ 도리의 디지털라이프]
* 정보관리기술사 121회 3교시

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교시

참고 문헌[edit | edit source]