An Automated Test Technique of GUI Based on Source Code

소스코드기반의 GUI 테스트 자동화 기법의 구현

  • 문중희 (숭실대학교 소스트웨어공학과) ;
  • 이남용 (숭실대학교 소프트웨어공학과)
  • Published : 2009.09.15

Abstract

A GUI automated test can be divided into two areas. The first one is a regression test automation and the second one is an automated test. The former includes generating test cases manually and executing them automatically but the latter includes both generating test cases and executing them automatically. Costs of a software test are increasing more and more. Many companies are searching for a test automation method but most used things are limited to regression test automation. So, when testing at first, there should be test cases which are drawn up by a human. This paper explains to make test cases based on a source code and execute them automatically. In this paper, the study proceeds with a digital television set-top box application and explains to test without any effort of human. Of course, this study is far from a realization to industries. But this paper has a contribution at reducing more human efforts than the previous regression test automation and showing that later, fully automated test can be possible.

GUI 테스트의 자동화는 크게 두 가지로 분류하여 생각해 볼 수 있다. 즉, 회귀 테스트 (Regression Test) 자동화와 테스트 자동화(Automated Test)이다 전자는 테스트 케이스를 수동으로 생성하고 수행만을 자동화하는 의미를 가지는 반면, 후자는 테스트 케이스 생성 자체의 자동화도 포함한다. 점차 테스트에 소요되는 비용이 커지는 상황에서 테스트 자동화 방안을 계속적으로 모색하고 있으나 실제 적용되는 방법은 대부분 회귀 테스트에 한정되어 있다. 즉, 테스트를 처음 수행하는 단계에서는 직접 테스트 케이스를 생성하는 작업이 요구된다. 관련하여 기존의 많은 연구들이 상태 전이도를 기반으로 테스트 케이스를 자동으로 생성하는 방안을 제안하고 있으나 이 방법 역시 사람이 상태 전이도를 작성해야하는 문제를 남기게 된다. 본 논문에서는 자동화 범위를 보다 확대하여 소스코드를 기반으로 테스트 케이스를 자동으로 생성하고 수행하는 방안을 소개한다. 논문에서는 디지털 텔레비전에 탑재되는 셋탑 박스 기반의 어플리케이션 프로그램을 대상으로 연구하였으며 기존에 필요했던 수작업이 없이도 테스트 자동화를 진행하는 것이 가능하다는 것을 실제 적용 사례로 제시하였다. 물론 본 연구결과를 아직 일반화하여 적용할 수는 없을 것이다. 그러나 기존의 테스트 자동화 기법 및 연구들과 비교하여 본 연구결과는 수작업의 양을 보다 줄일 수 있었고 이후 완전한 테스트 자동화 또한 가능하다는 것을 보였다는데 그 의의가 있을 것이다.

Keywords

References

  1. Yury Makedonov, 'Manager's Guide to GUI Test Automation,' Software Test & Performance Conference, November 3, 2005
  2. Wikipedia Dictionary Available at URL: http://en.wikipedia.org/wiki/HP_QuickTest_Professional,June, 2008
  3. Memon,A.M., Pollack, M.E., Soffa,M.L., 'Hierarchical GUI Test Case Generation Using Automated Planning,' IEEE Transactions on Software Engineering, vol.27, no.2, Feb 2001
  4. Richard K. Shehady and Daniel P. Siewiorek, Department of Electrical and Computer Engineering, Carnegie Mellon University, 'A Method to Automate User Interface Testing Using Variable Finite State Machines,' $27^{th}$ International Symposium on Fault Tolerant Computing(FTCS'97), 1997
  5. Kim G. Larsen, Marius Mikucionics, Brian Nielsen, Arne Skou, 'Testing Real-Time Embedded Software using UPPAAL-TRON,' EMSOFT'05, September 19-22, 2005
  6. Wikipedia Directory Available at URL: http://en.wikipedia.org/wiki/Instrumentation_%28computer_programming%29, June, 2008
  7. Nicola Aloia, Cesare Concordia and Mariateresa Paratore, 'Automatic GUI Generation For Web Based Information Systems,' Technical Report, ERCIM Technical Reference Digital Library, 2003
  8. Frank Sauer, 'A framework for automatic GUI rendering from XML specs,' Technical Report, JavaReport Site, 2001