1. 개요
자동화 테스트는 반복적인 작업과 수동으로 수행하기 어려운 기타 테스트 작업을 자동화하여 테스트 테스트 방법 중 하나입니다. 자동화 테스트는 테스트 스크립트를 작성하거나 자동화 테스트 도구를 사용하여 수행할 수 있습니다.
본 기술 리포트에서는 테스트 시나리오 작성 과정 중 자동화 테스트를 위한 테스트 케이스 작성법에 대해 설명 하겠습니다.
2. 자동화 도구 소개
2.1 Eggplant Functional
Eggplant Functional(에그플랜트)은 GUI 테스트 자동화 도구로 실행되는 시스템과 테스트 대상 시스템이 분리되어 있어야 합니다. OS, 디바이스, 브라우저, 개발 언어 제품 버전에 따른 제약이 없으며, 스크립트는 언어는 자체 개발한 자연어 수준의 언어를 사용합니다.
자동화 도구: 에그플랜트(Eggplant)
2.2 Stego
Stego는 모바일 테스트 시나리오 저작 도구로 코드 없이 쉽게 작성할 수 있어서 초보자도 손쉽게 스크립트 작성을 할 수 있습니다.
자동화 도구: Stego
3. 테스트 케이스와 자동화 테스트 케이스 차이점
일반 테스트 케이스와 자동화 테스트 케이스의 차이점에 대해 설명하겠습니다.
3-1. 동작과 동작 사이에 딜레이를 고려하여 케이스를 작성
예를 들어, 메인 페이지 진입 후 로그인 버튼 선택하는 케이스 작성 시, 일반 테스트 케이스의 경우 메인 화면 진입 후 로그인 버튼 선택이라는 간단한 테스트 케이스를 작성하면 되지만, 자동화 테스트 케이스의 경우에는 메인 화면을 진입한 후 사이트 진입 안정을 위한 일정 대기 시간을 가진 후 로그인 버튼을 찾은 후 선택하게 케이스를 작성합니다.
3.2 텍스트 입력하는 방법을 고려 케이스를 작성
로그인하는 케이스의 경우, 일반 테스트 케이스의 경우 계정 정보 입력 후 로그인 버튼을 선택하면 되지만 자동화 테스트 케이스의 경우에는 ID/PW 입력 창을 선택 후 어떠한 계정 정보를 입력하고 선택하는지까지 작성이 되어야 합니다
3.3 판정에 대해서 고려하여 테스트 케이스를 작성
로그인 실패에 대한 케이스의 경우, 일반 테스트 케이스의 경우에는 실패했을 경우 다른 계정을 사용하여 로그인하거나 결함을 등록하게 됩니다. 하지만 자동화 테스트 케이스의 경우에는 실패했을 시 그 기록을 남기고, 다른 계정 정보를 이용하여 로그인할 수 있도록 케이스를 작성합니다.
4. 자동화 테스트 케이스 작성법
일반 테스트 케이스와 자동화 테스트 케이스의 차이점을 고려하여 자동화 테스트 케이스를 작성하는 법 및 스크립트 작성 완료 후 유지 보수를 위한 케이스 완성에 대해 설명할 수 있도록 하겠습니다.
테스트 시나리오는 화면 진입 > 로그인 > 상품페이지 진입 > 장바구니 등록 > 로그아웃 순서로 케이스 작성을 해보도록 하겠습니다. 아래의 그림은 해당 케이스 작성 전에 Flow Chart를 작성한 예시입니다.
[그림1] 테스트 케이스 작성을 위한 Flow Chart
4.1 테스트 대상 페이지로 이동
테스트를 위해 테스트 대상 페이지로 이동을 해야 합니다. 사용할 WEB 브라우저 혹은 APP을 화면 내에서 검색하여 존재할 시 선택하여 진입할 수 있도록 작성을 해야 합니다. WEB 브라우저의 경우에는 주소 입력까지 하는 부분을 고려하여 작성해야 합니다. 아래의 예시 4.1에 PC를 대상으로 진입 케이스 작성 예시입니다.
[예시 4.1] PC에서 대상에 따른 진입 작성 테스트케이스 예시
4.2 로그인
대상 페이지로 접속 후 안정화를 위해 일정 시간 대기시간을 가진 뒤 로그인 버튼 선택하여 로그인 창 혹은 로그인 페이지로 이동을 할 수 있게 합니다. 이동 시간과 안정화를 위해 대기시간을 가진 뒤 ID 입력 창을 선택 후 정해진 ID 정보를 입력하고 Password도 동일하게 선택 후 입력할 수 있도록 합니다. 그 후 로그인 버튼을 선택하여 로그인을 시도하고 로그인 동작이 완료되었을 경우에 판정을 위한 케이스 작성을 해주어야 합니다. 여기서 로그인이 실패했을 경우에 대한 예외 케이스도 추가로 작성을 하여야 합니다. 아래의 예시 4.2에서 로그인 및 로그인 실패에 관한 케이스 작성 예시입니다.
[예시 4.2] PC에서 로그인 및 로그인 실패에 따른 진입 작성 테스트케이스 예시
4.3 상품 상세페이지로 이동
상품 상세페이지로 이동하는 여러 방법들이 있습니다. 메인 페이지 내 상품을 선택하여 이동하는 방법, 특정 페이지(ex) 세일, 랭킹) 페이지로 이동하여 상품을 선택하는 방법 등이 있습니다. 상품 상세에 대해 케이스 작성하는 방법을 설명하도록 하겠습니다.
4.3.1 메인 페이지 내 상품 선택
메인 페이지 내 특정 영역의 상품을 선택하는 케이스는 특정 영역을 찾을 수 있는 키워드나 이미지를 찾는 방법으로 작성합니다. 해당 영역을 찾았을 경우와 못 찾았을 경우 그리고 마지막으로 제한 시간 내에 못 찾았을 경우에 대한 케이스를 작성하여야 합니다. 찾았을 경우에는 해당 영역 상품을 선택하게 작성을 하며 못 찾았을 경우에는 화면을 이동하여 찾을 수 있도록 작성을 하며, 시간 내에 못 찾았을 경우에는 해당 동작을 일정 횟수 반복하여 찾을 수 있도록 작성합니다. 아래의 예시
4.3.1에 해당 케이스 작성 예시입니다.
[예시 4.3.1] 메인 페이지 내에서 상품 선택하는 테스트케이스 예시
4.3.2 특정 페이지로 이동 후 상품 선택
특정 페이지(ex) 카테고리, 랭킹, 세일 등등)로 진입하기 위해서는 페이지 진입할 수 있는 영역을 찾을 수 있도록 작성합니다. 마찬가지로 해당 영역을 찾았을 경우와 못 찾았을 경우 그리고 마지막으로 제한 시간 내에 못 찾았을 경우에 대한 케이스를 작성하여야 합니다. 찾았을 경우에는 선택하여 특정 페이지로 이동을 하도록 하며, 페이지 내 상품을 찾아 선택할 수 있도록 케이스를 작성하여 합니다.
4.4 상품 상세페이지 장바구니 담기
상품 상세 페이지로 이동이 완료된 후 장바구니에 담는 케이스를 작성하는 방법을 작성하도록 하겠습니다. [장바구니] 버튼이 페이지 내에 노출되어 있을 경우에는 해당 버튼을 찾아서 선택하게 작성하면 됩니다. PC 환경에서는 마우스를 일정 영역에 위치 시에 버튼이 노출되는 케이스가 있는데 이런 경우에는 마우스를 일정 영역 위로 이동하는 부분도 케이스에 추가로 작성해 주어야 합니다
4.5 로그아웃
마지막으로 로그아웃에 대한 케이스 작성법을 설명하도록 하겠습니다.
로그아웃을 할 수 있는 경로를 설정을 해준 후 로그아웃을 할 수 있도록 케이스를 작성해 주어야 합니다.
4.6 스크립트 작성 완료 후 테스트 케이스 Merge
케이스 작성이 완료 후 스크립트를 작성 완료된 스크립트를 케이스와 분석하여 케이스에 해당되는 부분을 기입할 수 있도록 합니다. 스크립트 파일명이나 경로를 같이 기입을 해주면 유지 보수를 함에 있어서 좀 더 쉽게 접근할 수 있습니다.
[예시 4.6] 스크립트 작성 완료 후 테스트 케이스 Merge
5. 적용 사례
실제적으로 메인 페이지 진입 및 이벤트 페이지 확인 특정 영역 다수의 상품 장바구니에 담은 후 결제하는 시나리오를 실제로 테스트를 이용하여 자동화 테스트를 진행하였습니다. 케이스 작성 후 스크립트 작성 시에도 케이스를 보며 작성하는 데 기준점을 정해진 상태로 작성을 하여 보다 편리하게 작성할 수 있었으며, 작성된 스크립트를 케이스에 Merge 시켜 유지 보수를 함으로써 기초지식을 가진 상태에서도 간단한 스크립트 수정이 가능하여 편리하게 유지 보수를 할 수 있었습니다.
[예시 5] 적용 사례
6. 맺음말
자동화 테스트 케이스 작성 활용으로 자동화 테스트에 대해 좀 더 쉽게 접근할 수 있었으며, 유지 보수의 편리함의 장점을 이용하여 자동화 테스트 진행할시에 조금 더 쉽게 접근할 수 있을 것으로 예상됩니다. 본문을 이용 자동화 테스트업무 진행시에 도움이 되었으면 좋겠습니다.