Test Automation

개요

Test Automation은 개발자가 작성한 다수의 단위테스트 클래스(TestCase) 및 TestSuite을 자동으로 수행하고 그 결과 리포트를 생성하는 기능을 제공하는 것을 말한다. Test Automation의 개념과 방법에 대해 알아본다.

설명

Test Automation지속적인 통합(Continuous Integration - CI)를 실천하기 위한 방안 중 하나인 ”Make Your Build Self-Testing” 개념에서 나온 것으로 개발자 코드에 대해 작성된 단위테스트 클래스들을 자동으로 테스트를 수행하도록 하고, 매일 지속적으로 테스트를 수행하고 그 결과를 확인함으로써 지속적인 통합의 이점을 극대화시키고자 하는 목적을 갖고 있다.

Code-driven testing에서도 설명하고 있듯이, 개발자가 대상 코드에 대한 여러 개의 단위테스트 클래스를 작성하고 나면, 이를 몇 개 그룹으로 묶거나, 빌드도구를 활용하여 TestCase를 한꺼번에 수행하여 그 결과 리포트를 생성할 수 있다.
그리고, CI서버와 연계하여 주기적으로 빌드를 수행하는 프로세스 중 하나로 포함시킴으로써 지속적인 테스트의 기초가 될 수 있다.

좀 더 관심이 있으신 분은 IBM 사이트에 연재되었던 Article ”사람을 위한 자동화:연속 테스팅“을 참고하기 바란다.

Test Automation 오픈소스

Test Automation 수행을 위한 오픈소스로는 Ant와 Maven이 있으며, TestCase 작성을 위한 프레임워크인 JUnit에서 테스트 자동 수행과 리포팅을 위한 기능을 제공한다.

기능 Maven Plug-in Ant Task
빌드도구 Maven 2.0 Ant 1.6.5 이상
테스트 자동 수행 Maven Surefire Plugin Ant JUnit Task
테스트 리포트 생성 Maven Surefire Report Plugin Ant JUnit Report Task

본 개발환경에서는 좀더 많이 사용되는 Ant를 선정했었으나, 배포도구에서 Maven을 선정하였으므로 Ant와 Maven을 이용한 모든 사용법을 함께 설명한다. 그러나, 기본적으로 사용법만 다를 뿐이다.

Test Automation 프로세스

  • Write TestSuite : 작성된 다수의 TestCase 클래스들을 수행을 위해 몇 개 그룹 혹은 하나로 묶는다.
  • Run TestSuite : TestCase 그룹들의 테스트를 한꺼번에 수행한다.
  • Test Reporting : 테스트 수행 결과를 Text, XML, HTML, Excel 형태의 리포트로 생성한다.

환경설정

사용법

Test Automation을 수행하기 위해서는 다음과 같이 진행한다.

  • Write TestSuite : TestSuite 클래스를 작성하거나, 빌드도구에서 테스트 수행을 하기 위한 TestCase들을 명시한다.
  • Run TestSuite : 빌드도구의 이클립스 플러그인을 이용하여 테스트를 수행한다.
  • Test Reporting : 테스트 수행 결과 생성된 Text, XML, HTML, Excel 형태의 리포트를 확인한다.

샘플

Test Automation - Maven

Test Automation을 위한 pom.xml 설정과 같이 설정할 수 있다.

Test Automation - Ant

Test Automation을 위한 build.xml 설정과 같이 설정할 수 있다.

참고자료

1) Eclipse 3.4 JEE 버전에는 기본적으로 JUnit 3.8 버전과 4.3 버전의 Plugin이 설치되어 있다.
 
egovframework/dev2/tst/test_automation.txt · 마지막 수정: 2015/04/14 11:24 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki