Morpheus Web Testing: A Tool for Generating Test Cases for Widget Based Web Applications
Keywords:: User Interfaces, widgets, Morpheus Web Testing, Code Coverage
Context: Widgets are reusable User Interfaces (UIs) components frequently delivered in Web applications.In the web application, widgets implement different interaction scenarios, such as buttons, menus, and text input.
Problem: Tests are performed manually, so the cost associated with preparing and executing test cases is high.
Objective: Automate the process of generating functional test cases for web applications, using intermediate artifacts of the web development process that structure widgets in the web application. The goal of this process is to ensure the quality of the software, reduce overall software lifecycle time and the costs associated with tests.
Method:We elaborated a test generation strategy and implemented this strategy in a tool, Morpheus Web Testing. Morpheus Web Testing extracts widget information from Java Server Faces artifacts to generate test cases for JSF web applications. We conducted a case study for comparing Morpheus Web Testing with a state of the art tool (CrawlJax).
Results: The results indicate evidence that the approach Morpheus Web Testing managed to reach greater code coverage compared to a CrawlJax.
Conclusion: The achieved coverage values represent evidence that the results obtained from the proposed approach contribute to the process of automated test software engineering in the industry.
Pekka Aho, Nadja Menz, Tomi Räty, and Ina Schieferdecker. Automated java gui modeling for model-based testing purposes. In Information technology: New generations (itng), 2011 eighth international conference on, pages 268–273. IEEE, 2011.
Robert V Binder. Testing object-oriented systems: models, patterns, and tools. Addison-Wesley Professional, 2000.
J Craig Cleaveland. Building application generators. IEEE software, 5(4):25–33, 1988.
Krzysztof Czarnecki, Michal Antkiewicz, Chang Hwan Peter Kim, Sean Lau, and Krzysztof Pietroszek. Model-driven software product lines. In Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 126–127. ACM, 2005.
Valentin Dallmeier, Bernd Pohl, Martin Burger, Michael Mirold, and Andreas Zeller. Webmate: Web application test generation in the real world. In Software Testing, Verification and Validation Workshops (ICSTW), 2014 IEEE Seventh International Conference on, pages 413–418. IEEE, 2014.
Márcio Eduardo Delamaro, José Carlos Maldonado, and Mário Jino. Introdução ao teste de software. 2007.
Kit Edward. Integrated, effective test design and automation. Software Development, 21(2):36–38, 1999.
Mark Fewster et al. Common mistakes in test automation. In Proceedings of Fall Test Automation Conference, 2001.
Zahra Abdulkarim Hamza and Mustafa Hammad. Web and mobile applications’ testing using black and white box approaches. 2019.
Elisabeth Hendrickson. The differences between test automation success and failure. Proceedings of STAR West, 1998.
Cem Kaner. Improving the maintainability of automated test suites. In International Software Quality Week, 1997.
Ajeet Kumar and Sajal Saxena. Data driven testing framework using selenium webdriver. International Journal of Computer Applications, 118(18), 2015.
Leonardo Mariani, Mauro Pezzè, Oliviero Riganelli, and Mauro Santoro. Automatic testing of gui-based applications. Software Testing, Verification and Reliability, 24(5):341–366, 2014.
Atif M Memon et al. Comprehensive Framework for Testing Graphical User Interfaces. University of Pittsburgh Pittsburgh, 2001.
Glenford J Myers, Tom Badgett, Todd M Thomas, and Corey Sandler. The art of software testing, 2004.
Bao N Nguyen, Bryan Robbins, Ishan Banerjee, and Atif Memon. Guitar: an innovative tool for automated testing of gui-driven software. Automated Software Engineering, 21(1):65–105, 2014.
Roger S Pressman. Engenharia de software, volume 6. Makron books São Paulo, 1995.
Abdul Rauf, Sajid Anwar, M Arfan Jaffer, and Arshad Ali Shahid. Automated gui test coverage analysis using ga. In Information Technology: New Generations (ITNG), 2010 Seventh International Conference on, pages 1057–1062. IEEE, 2010.
Ana Regina Cavalcanti da Rocha, José Carlos Maldonado, Kival Chaves Weber, et al. Qualidade de software: teoria e prática. São Paulo: Prenttice Hall, 2001.
Marton Sakal. Gui vs. wui through the prism of characteristics and postures. Management, 5(1):003–006, 2010.
Ian Sommerville. Software Engineering. Pearson, 10th edition, 2015.
EDC Van Eyk, WJ Van Leeuwen, Martha A Larson, and Felienne Hermans. Performance of near-duplicate detection algorithms for Crawljax. PhD thesis, Citeseer, 2014.
Tanapuch Wanwarang, Nataniel P Borges Jr, Leon Bettscheider, and Andreas Zeller. Testing apps with real-world inputs. In Proceedings of the IEEE/ACM 1st International Conference on Automation of Software Test, pages 1–10, 2020.