DOI QR코드

DOI QR Code

A GUI State Comparison Technique for Effective Model-based Android GUI Testing

효과적인 모델 기반 안드로이드 GUI 테스팅을 위한 GUI 상태 비교 기법

  • Received : 2015.07.23
  • Accepted : 2015.09.21
  • Published : 2015.11.15

Abstract

Graphical user interface testing (GUI testing) techniques have been widely used to test the functionality of Android applications (apps) and to detect faults for verification of the reliability and usability of apps. To adequately test the behaviors of apps, a number of studies on model-based GUI testing techniques have been performed on Android apps. However, the effectiveness of model-based techniques greatly depends on the quality of the GUI model, because model-based GUI testing techniques generate test inputs based on this model. Therefore, in order to improve testing effectiveness in model-based techniques, accurate and efficient GUI model generation has to be achieved using an improved model generation technique with concrete definition of GUI states. For accurate and efficient generation of a GUI model and test inputs, this study suggests a hierarchical GUI state comparison technique and evaluates this technique through comparison with the existing model-based techniques, considering activities as GUI states. Our results show that the proposed technique outperforms existing approaches and has the potential to improve the performance of model-based GUI testing techniques for Android apps.

안드로이드(Android) 어플리케이션(앱)의 신뢰성과 사용성 검증을 위해, 앱의 기능 검사와 크래쉬(Crash) 탐지 등을 위한 다양한 GUI 테스팅(Graphical User Interface Testing) 기법이 널리 사용되고 있다. 그 중 모델 기반(Model-based) GUI 테스팅 기법은 GUI 모델을 이용해 테스트 케이스를 생성하기 때문에, 기법의 유효성(Effectiveness)은 기반 모델의 정확도에 의존적이다. 따라서 모델 기반 기법의 유효성 향상을 위해서는 테스트 대상 앱의 행위를 충분히 반영할 수 있는 모델 생성 기법이 필요하며, 이를 위해 본 연구에서는 GUI 상태를 정밀하게 구분하는 계층적 화면 비교 기법을 통해 테스팅의 유효성과 효율성을 향상시키고자 한다. 또한, 기존 연구 기법과의 비교 실험을 통해 제안 기법이 유효한 모델의 효율적 생성을 가능하게 함을 확인함으로써, 모델 기반 안드로이드 GUI 테스팅의 성능 향상 가능성을 제시한다.

Keywords

Acknowledgement

Grant : (SW 스타랩) 모델기반의 초대형 복잡 시스템 분석 및 검증 SW 개발

Supported by : 정보통신기술진흥센터

References

  1. G. Bae, G. Rothermel, and D. H. Bae, "Comparing Model-based and Dynamic Event-Extraction Based GUI Testing Techniques: An Empirical Study," The Journal of Systems and Software, 2014.
  2. S. R. Choudhary, A. Gorla, and A. Orso, "Automated Test Input Generation for Android: Are We There Yet?" arXiv preprint, arXiv: 1503.07217, 2015.
  3. The Monkey Android UI testing tool. [Online]. Available: http://developer.android.com/tools/help/monkey.html
  4. A. Machiry, R. Tahiliani, and M. Naik, "Dynodroid: An Input Generation System for Android Apps," Proc. of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2013, pp. 224-234, 2013.
  5. R. Sasnauskas and J. Regehr, "Intent Fuzzer: Crafting Intents of Death," Proc. of the 2014 Joint International Workshop on Dynamic Analysis (WODA) and Software and System Performance Testing, Debugging, and Analytics (PERTEA), WODA+PERTEA 2014, pp. 1-5, 2014.
  6. D. Amalfitano, A. R. Fasolino, P. Tramontana, S. De Carmine, and A. M. Memon, "Using GUI Ripping for Automated Testing of Android Applications," Proc. of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pp. 258-261, 2012.
  7. W. Choi, G. Necula, and K. Sen, "Guided GUI Testing of Android Apps with Minimal Restart and Approximate Learning," Proc. of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, pp. 623-640, 2013.
  8. S. Methong, "Model-based Automated GUI Testing for Android Web Application Frameworks," ICBEM 2012, Vol. 42, pp. 106-110, 2012.
  9. D. Amalfitano, A. R. Fasolino, P. Tramontana, "A GUI Crawling-based technique for Android Mobile Application Testing," Software Testing, Verification and Validation Workshops (ICSTW 2011), pp. 252-261, 2011.
  10. D. Amalfitano, A. R. Fasolino, P. Tramontana, B. D. Ta, and A. M. Memon, "MobiGUITAR - a tool for automated model-based testing of mobile apps," IEEE Software, pp.(99): NN-NN, 2014.
  11. SuperMonkey, 2014. [Online]. Available: https://github.com/testobject/supermonkey
  12. W. Yang, M. R. Prasad, and T. Xie, "A Grey-Box Approach for Automated GUI-Model Generation of Mobile Applications," FASE 2013, LNCS 7793, pp. 250-265, 2013.
  13. W. Shin, D. H. Park, and C. H. Chang, "A Test-case Design for Efficient Android Application Testing," Proc. Of the KIISE Korea Computer Congress 2013, Vol. 40, No. 10, pp. 575-581, 2013.
  14. T. Azim and I. Neamtiu, "Targeted and Depth-first Exploration for Systematic Testing of Android Apps," Proc. of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, OOPSLA 2013, pp. 641-660, 2013.
  15. H. van der Merwe, B. van der Merwe, and W. Visser, "Execution and Property Specifications for JPF-android," SIGSOFT Softw. Eng. Notes, 39(1):1-5, 2014.
  16. R. Mahmood, N. Mirzaei, and S. Malek, "EvoDroid: Segmented Evolutionary Testing of Android Apps," Proc. of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, 2014.
  17. S. Anand, M. Naik, M. J. Harrold, and H. Yang, "Automated Concolic Testing of Smartphone Apps," Proc. of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012, pp. 59:1-59:11, 2012.
  18. B. Kirubakaran, and Dr. V. Karthikeyani, "Mobile Application Testing - Challenges and Solution Approach through Automation," Proc. of the 2013 International Conference on Pattern Recognition, Informatics and Mobile Engineering, PRIME 2013, pp. 79-84, 2013.
  19. H. Muccini, A. D. Francesco, and P. Esposito, "Software Testing of Mobile Applications: Challenges and Future Research Directions," Proc. of the 7th International Workshop on Automation of Software Test, AST 2012, pp. 29-35, 2012.
  20. A. M. Memon, M. L. Soffa, and M. E. Pollack, "Coverage criteria for GUI testing," Proc. of the 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE 2001, pp. 256-267, 2001.