단위 테스트 수행
- 작성된 체크리스트에 따라서 단위 테스트를 수행할 수 있다
- 단위 테스트 수행한 결과의 오류 여부를 확인하여 반영할 수 있다
단위 테스트에 대한 이해
1. 단위 테스트의 개념
UI 기반의 단위 테스트는 사전에 정의된 테스트 시나리오별로 테스트를 수행한다. 테스트 를 통해 시스템의 안정성, 견고성, 사용성을 검증할 수 있으며, 사용자에게 편의성을 제공 할 수 있다.
2. 단위 테스트의 특징
특징 | 설명 |
---|---|
시나리오 기반 테스트임. | UI 기능의 액티비티별 시나리오 작성 및 테스트 |
테스트 케이스를 생성함 | 테스트 식별자, 항목, 기법 기반으로 생성 |
다양한 테스트 기법이 존재함 | 명세 기반 테스트, 베타 테스트 기법, Record&Replay |
테스트 케이스 설계 기법
UI 기반의 단위 테스트 수행 시, 효율적인 테스트를 수행하기 위하여 테스트 목적에 따라 테스트 케이스를 설계해야 한다.
1. 명세 기반 테스트 케이스 설계
- 개념
주어진 명세를 바탕으로 테스트 케이스를 도출하고 테스트 케이스를 실행해 봄으로써 결함이 없음을 보장하는 테스트 기법이다
- 종류
명세 기반 테스트 케이스의 종류별 특징 종류 설명 동등분할 테스트 같은 특성을 가지면서 같은 방식으로 처리된다고 판단하는 모든 등가 집합에서 대표 입력값을 최소 한 개씩 테스트하는 기법 경계값 분석 테스트 동등분할의 경계에서 결함 발견 확률이 높으므로 결함을 예방하 기 위해 경계값까지 포함하여 테스트하는 기법 결정 테이블 테스트 시스템의 동작이 여러 가지 논리적인 조건에 의존적인 경우 테 스트하는 기법 상태전이 테스트 시스템의 현재 상황과 이전의 이력을 반영하는 상태 및 그 변화 에 따라 동작하는 테스트
2. 경험 기반 테스트 케이스 설계
- 개념
이전에 테스트 수행자(또는 테스터)가 다루었던 유사 애플리케이션이나 기술에서의 경 험, 직관, 테스터의 기술 능력으로부터 테스트 케이스를 추출하는 기법이다
- 종류
경험 기반 테스트 케이스의 종류별 특징 종류 설명 탐색적 테스트 테스트 차터를 기반으로 정해진 시간 내 설계, 수행, 기록 및 학습을 진행하는 휴리스틱한 테스트 기법 오류추정 테스트 가능한 결함을 나열하고, 이런 유형의 결함 또는 오류를 공격 할 수 있도록 테스트를 설계하는 기법 체크리스트 기반 테스트 테스트하고 평가해야 할 내용과 경험을 분류하여 나열해 놓은 체크리스트를 기반으로 테스트하는 기법 SW 특성에 따른 테스트 ISO 9126-2의 품질특성을 기준으로 경험적으로 테스트 케이스 를 도출하는 기법
3. 구조 기반 테스트 케이스 설계
- 개념
소스코드와 개발 설계 문서등을 참고하여 SW를 제작한 정보를 참고하여 테스트 사례 별로 테스트 케이스를 설계하는 기법이다
- 종류
구조 기반 테스트 케이스의 종류별 특징 종류 설명 구문 테스트 프로그램 내 모든 구문을 한번 이상 수행 하도록 테스트 케이 스를 설계하는 기법 결정 테스트 프로그램 내부의 각 분기들을 한번 이상 수행하도록 테스트 케이스를 설계하는 기법 조건 테스트 프로그램 내의 각 조건들을 보장하기 위하여 조건들이 참이 되는 경우와 거짓이 되는 경우를 모두 수행하도록 테스트 케 이스를 설계하는 기법 데이터흐름 테스트 프로그램 내부에서 변수들이 값을 할당 받은 지점이나 사용된 지점에 따라서 테스트 경로들을 선택한 방법
단위 테스트 자동화 툴
1. 단위 테스트 자동화 툴의 필요성
단위 테스트 수행 시 자동화 테스트 도구를 도입하면, 테스트 수행, 평가 및 프로세스에 대해 많은 시간과 비용을 줄일 수 있어 테스트의 효율을 높이고, 테스트의 충분성을 나타 내는 지표인 코드 커버리지(Code Coverage)를 향상시킬 수 있다.
2. 단위 테스트 자동화 툴의 종류
단위 테스트 수행 시 자동화 테스트 도구를 도입하면, 테스트 수행, 평가 및 프로세스에 대해 많은 시간과 비용을 줄일 수 있다.
종류 | 설명 |
---|---|
웹 UI 테스트 자동화 도구 | - 단순한 API들로 구성된 개발자 중심의 웹 UI 테스트 자동화 도구 - 현재 Selenium과 통합되어 개발 - Driver 변경만으로 다양한 환경에서 테스트 수행 가능 - 표준 API 지원 통해 개발자 UI 테스트에 최적화 - 개발자 중심의 UI 테스트 도구인 관계로 초기 학습 시간 및 비용 부담 발생 - 시나리오에 기인한 테스트 케이스의 작성이 까다롭고 불명확 - 예제 코드 public class WebUITest{ public static void main(String[] args) { WebDriver driver = new HtmlUnitDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese!"); } |
이미지 기반 웹 테스트 자동화 프레 임워크 | - 이미지 기반 웹 테스트 자동화 프레임워크 - IDE(Integrated Development Environment) 환경에서 스크립트를 작성하고 스크립 트에 필요한 이미지를 캡처할 수 있으며 실행한 테스트 결과 리포트도 제공 - 한글 스크립트 사용 - 크로스 브라우징 - 자바스크립트 오류 자동 검출 - 변수, include, 조건문, 반복문 지원 - 원격 관리 및 실행 지원 - 리포트, 알림, 동영상 캡처 지원 |
3. 단위 테스트 자동화 툴 도입 효과
단위 테스트 자동화 툴 도입 시 시스템 기능에 대한 결함 발견 확률이 높아지고, 회귀 테 스트(Regression Test)를 같이 자동화시킨다면 결함 발견의 확률이 한층 더 높아진다. 또 한, 자동화 테스트가 실행되는 동안 테스터가 좀 더 중요한 이슈에 집중하여 업무를 진행 할 수 있고, 테스트 통과를 눈으로 확인하면서 시스템의 품질을 파악하기에도 수월하다.
'UIUX 엔지니어링 > UI 구현' 카테고리의 다른 글
UI 제작하기 (0) | 2020.11.23 |
---|---|
UI 저작도구 활용하기 (0) | 2020.11.23 |
UI 저작도구 활용하기 (0) | 2020.11.23 |
UI 저작도구 활용하기 (0) | 2020.11.23 |
UI 구현 표준 검토하기 (0) | 2020.11.23 |