DOI QR코드

DOI QR Code

Effect Relation-based Coverage and Test Case Generation for GUI Testing of iOS Applications

iOS 애플리케이션 GUI 테스팅을 위한 영향 관계 기반 커버리지 및 테스트 케이스 생성

  • 서용진 (충남대학교 컴퓨터공학과) ;
  • 문대건 (충남대학교 컴퓨터공학과) ;
  • 김현수 (충남대학교 컴퓨터공학과)
  • Received : 2012.10.05
  • Accepted : 2012.12.02
  • Published : 2013.03.31

Abstract

iOS applications refer to the apps operating on iOS, a mobile OS developed by Apple. As iOS provides graphic user interfaces based on touch screens, most of iOS apps support GUIs. GUIs become increasingly important for iOS apps. So are GUI tests. As GUI functions are performed by event handlers, faulty event handlers could cause defects in GUIs. Hence, this study detects faults in event handlers as a way to test GUIs for iOS apps, and suggests how to generate test cases by re-defining input domains of event handlers.

iOS 애플리케이션은 애플에서 개발한 모바일용 운영체제인 iOS 위에서 동작하는 애플리케이션을 말한다. iOS가 터치스크린을 기반으로 하는 그래픽 사용자 인터페이스를 제공하기 때문에, iOS 애플리케이션은 대부분 GUI를 사용자 인터페이스로 제공한다. iOS 애플리케이션에서 GUI의 비중이 높아질수록 GUI 테스트에 대한 중요성도 높아지게 된다. GUI의 기능은 이벤트 핸들러에 의해 수행되기 때문에 이벤트 핸들러 자체에 결함이 존재한다면, 그것은 곧 GUI의 결함을 유발할 수 있다. 이에 본 논문에서는 이벤트 핸들러 자체의 결함을 검출하는 방식으로 iOS 애플리케이션의 GUI 테스트를 수행하고자 한다. 이를 위해서 이벤트 핸들러의 입력 도메인을 재정의하고 이로부터 테스트 케이스를 생성하는 방법을 제안한다.

Keywords

References

  1. iOS [Internet], http://en.wikipedia.org/wiki/IOS
  2. Ben Shneiderman, "Direct manipulation: A step beyond programming languages," IEEE Computer, Vol.16, No.8, pp.57-69, 1983. https://doi.org/10.1109/MC.1983.1654471
  3. Mercury Interactive WinRunner, http://www.mercuryinteractive.com/products/winrunner, 2003.
  4. Bitbar, "Testdroid Recorder," http://testdroid.com/product/testdroid-recorder, 2012.
  5. Jung Gyw Lee, Seung Hak Kuk, and Hyeon Soo Kim, "Test Cases Generation Method for GUI Testing with Automatic Scenario Generation," Journal of KIISE: Software and Applications, Vol.36, No.1, pp.45-53. 2009. (in Korean)
  6. Q. Xie and A.M. Memon, "Using a Pilot Study to Derive a GUI Model for Automated Testing," ACM Trans. Software Eng. And Methodology, Vol.18, pp.1-35, 2008.
  7. A.M. Memon and Q. Xie, "Studying the Fault-Detection Effectiveness of GUI Test Cases for Rapidly Evolving Software," IEEE Trans. Software Eng., Vol.31, No.10, pp.884-896, 2005. https://doi.org/10.1109/TSE.2005.117
  8. L. White and H. Almezen, "Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences," Proc. 11th Int'l Symp. Software Reliability Eng., pp.110, 2000.
  9. T. Takala, M. Katara and J. Harty, "Experiences of System-Level Model-Based GUI Testing of an Android Application," 4th IEEE Int'l Conference on Software Testing, Verification and Validation, pp.377-386, 2011.
  10. C. Hu and I. Neamtiu, "Automating GUI Testing for Android Application," 6th Int'l Workshop on Automation of Software Test, pp.77-83, 2011.
  11. Lei Zhao and Kai-Yuan Cai, "Event Handler-Based Coverage for GUI Testing," in Proc. of 10th Int'l Conference on Quality Software, pp.326-331, 2010.
  12. X.Yuan, M.B. Cohen and A.M. Memon, "GUI Interaction Testing: Incorporating Event Context," IEEE Trans. On Software Eng., Vol.37, No.4, pp.559-574, 2011. https://doi.org/10.1109/TSE.2010.50
  13. S. Alpaev, "Applied MVC Patterns. A Pattern Language," presented at CoRR, 2006.
  14. D. Plakalovic and Simic D., "Applying MVC and PAC patterns in mobile applications," Journal of Computing, Vol.2, No.1, pp.65-72, 2010.
  15. Apple, "Concepts in Objective-C Programming," 2012.
  16. Apple, "iOS App Programming Guide," 2012.