DOI QR코드

DOI QR Code

XML을 이용한 안드로이드 GUI 위젯의 기능 테스트 자동화

Functional Test Automation for Android GUI Widgets Using XML

  • 투고 : 2011.11.01
  • 심사 : 2012.01.30
  • 발행 : 2012.04.30

초록

캡처 리플레이 기법은 GUI 테스팅을 위하여 흔히 사용되는 자동화 방법이다. 하지만 안드로이드 플랫폼 애플리케이션 테스팅에는 직접 이용하기 어렵다. 그 이유는 좋은 테스팅 프레임워크가 제공되고 있지만 GUI 요소들과 위젯 이벤트 처리 부분이 자동 링크되지 않기 때문이다. 캡처 리플레이 테스팅 도구가 없다면 명세서를 이용하여 테스팅 시나리오를 만들고 일일이 수동으로 GUI 요소들과 연결하여 테스팅 하여야 한다. 이 논문은 현재 사용되고 있는 안드로이드기반 GUI 자동화 테스트 기법보다 발전되고 최적화된 캡처 리플레이 방법을 제안하고 이의 효율성을 증명하기 위한 것이다. XML을 이용하여 주요 위젯기반 원소를 추출하기 위한 기술들을 정립하고 위젯기반 API 이벤트 처리 방법을 고안하였다. 제안한 방법으로 캡처 단계에 모니터링하여 클릭 이벤트가 일어나는 형태를 추적한 후 리플레이 단계에서 활성화 된 위젯을 API 이벤트와 상태를 교환하여 테스트 케이스를 생성한다.

Capture-and-replay technique is a common automatic method for GUI testing. Testing applications on Android platform cannot use directly capture-and-replay technique due to the testing framework which is already set up and technical supported by Google and lack of automatic linking GUI elements to actions handling widget events. Without capture-and-replay testing tools testers must design and implement testing scenarios according to the specification, and make linking every GUI elements to event handling parts all by hand. This paper proposes a more improved and optimized approach than common capture-and-replay technique for automatic testing Android GUI widgets. XML is applied to extract GUI elements from applications based on tracing the actions to handle widget events. After tracing click events using monitoring in capture phase test cases will be created by communicating status of activated widget in replay phase with API events.

키워드

참고문헌

  1. A. M. Memon, M. E. Pollack and M. L. Soffa, "Hierarchical GUI test case generation using automated planning," IEEE Transactions on Software Engineering, Vol.27, No.2, pp.144-155, 2001. https://doi.org/10.1109/32.908959
  2. A. M. Memon, "GUI Testing: Pitfalls and Process," IEEE Computer, Vol.35, pp.87-88, 2002. https://doi.org/10.1109/MC.2002.1023795
  3. Automated GUI Testing, Tessella Support Services plc, January 1999, http://www.tssp.co.uk/Literature/Supplements/autogui.htm
  4. A. Jaaskelainen, M, Katara, A, Kervinen, M, Maunumaa, T. Paakkonen, T. Takala and H. Virtanen, "Automatic GUI Test Generation for Smart Phone Applications - an Evaluation," ICSE - Companion 2009. 31st International Conference on Software Engineering - Companion Volume, pp.112-122, 2009.
  5. B. Mu, MK. Zhan, LF. Hu, "Design and Implementation of GUI Automated Testing Framework Based on XML," WCSE '09 Proceedings of the 2009 WRI World Congress on Software Engineering, Vol.4, pp.194-199, 2009.
  6. C. Lowell and J. Stell-Smith, "Successful Automation of GUI Driven Acceptance Testing," Lecture Notes in Computer Science, Springer-Verlag Heidelberg, Vol.2675, pp.331-333, 2003.
  7. J. Chen and S. Subramaniam, "Specification-based Testing for GUI-based Applications," Software Quality Journal, Vol.10, No.3, pp.205-224, 2002. https://doi.org/10.1023/A:1021634422504
  8. M. Assem, A. Keshk, N. Ismail, H. Nassa, "Specification - Driven Automated Testing of Java Swing GUIs Using XML," ITI 5th International Conference on Information and Communications Technology, pp.84-88, 2009.
  9. M. A. Abdel Salam, A. E. Keshk, N. A. Ismail, H. M. Nassar, "Automated Testing of Java Menu-Based GUIs Using XML Visual Editor," ICCES '07. International Conference on Computer Engineering & System, pp.313-318, 2007.
  10. W. K. Chen, T. H. Tsai, and H. H. Chao, "Integration of Specification based and CR-based Approaches for GUI Testing," AINA'05, 19th International Conference on Advanced Information Networking and Applications, Vol.1, pp.967-972, 2005.
  11. Y. Sun and E. L. Jones, "Specification-Driven Automated Testing," Proceedings of the 42ed Annual Southeast Regional Conference, pp.140-145, 2004.
  12. 김상형, 안드로이드 프로그래밍 정복, 한빛미디어, 2010.
  13. 권호철, 김주성, 이창건, 하은용, "안드로이드 모바일 플랫폼에 서의 사용자 인터페이스 자동 전환 기술의 개발," 한국 정보과학회 학술 발표 논문집, Vol.36, No.2(B), pp.436-440, 2009.
  14. 황선명, 윤석진, "이미지 플로우 기반의 모바일 GUI 테스트 도구에 관한 연구," 정보처리학회논문지D, Vol.15-D, pp. 347-354, 2008. https://doi.org/10.3745/KIPSTD.2008.15-D.3.347
  15. 황선명, 김정종, "시나리오기반의 모바일 어플리케이션 소프트 웨어 GUI 테스트 방법," 한국산학기술학회논문지, Vol.9, pp.681-689, 2008.
  16. Android Testing Framework, http://developer.android.com
  17. JUnit, http://www.junit.org/