ABSTRACT
The software testing process is important to ensure quality, especially in mobile applications that have characteristics such as platform diversity, hardware limitations, portability, frequent updates, among others. Software companies need to deliver quickly with increasingly complex functionalities; therefore, the testing process must be efficient and avoid bottlenecks, such as the creation of test cases. Among the solutions found in the literature, the state-of-the-art tool DRL-MOBTEST aims to assist in the automatic generation of test cases for mobile applications using deep reinforcement learning. The experiments show promising results; however, the tool has some limitations, such as generating duplicate and less readable tests. In this article, we present SelectNLTest, a module developed to identify and remove similar test scripts and transcribe the test cases generated by the tool using Natural Language Processing techniques. This allows for the removal of similar tests and improves the readability and understanding of the generated test cases for professionals in the field. The results of the experiments showed that, in 10 Android applications used in the comparative analysis, the proposed module reduced the number of test cases by 58.3% while maintaining code coverage and application functionality.
- SO/IEC/IEEE 29119-1:2022(en). 2023. Software and systems engineering — Software testing — Part 1: General concepts. https://www.iso.org/obp/ui/fr/iso:std:iso-iec-ieee:29119:-1:ed-2:v1:en.Google Scholar
- Sheeva Afshan, Phil McMinn, and Mark Stevenson. 2013. Evolving readable string test inputs using a natural language model to reduce human oracle cost. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation. IEEE, 352–361.Google ScholarDigital Library
- Imran Ahsan, Wasi Haider Butt, Mudassar Adeel Ahmed, and Muhammad Waseem Anwar. 2017. A comprehensive investigation of natural language processing techniques and tools to generate automated test cases. In Proceedings of the Second International Conference on Internet of things, Data and Cloud Computing. 1–10.Google ScholarDigital Library
- Xiliang Chen, Guobin Zhu, Mingqing Liu, and Zhaotong Chen. 2023. Few-shot remote sensing image scene classification based on multiscale covariance metric network (MCMNet). Neural Networks 163 (2023), 132–145.Google ScholarDigital Library
- Eliane Collins, Arilo Dias-Neto, and Vicente F de Lucena Jr. 2012. Strategies for agile software testing automation: An industrial experience. In 2012 IEEE 36th Annual Computer Software and Applications Conference Workshops. IEEE, 440–445.Google ScholarDigital Library
- Xiaohu Dai, Wenyin Gong, and Qiong Gu. 2021. Automated test case generation based on differential evolution with node branch archive. Computers & Industrial Engineering 156 (2021), 107290.Google ScholarCross Ref
- Marcus Paulo Soares Dantas. 2022. Assistente virtual (Chatbot) com base em Natural Language Processing (NLP) aplicado à automatização de respostas de dúvidas frequentes dos estudantes. B.S. thesis. Universidade Federal do Rio Grande do Norte.Google Scholar
- Droidbot. 2023. GitHub - honeynet/droidbot: A lightweight test input generator for Android. Similar to Monkey, but with more intelligence and cool features. https://github.com/honeynet/droidbot.Google Scholar
- FDroid. 2023. Repositório de aplicativos Android gratuito e de código aberto. https://f-droid.org/pt_BR/packages/.Google Scholar
- Vahid Garousi, Sara Bauer, and Michael Felderer. 2020. NLP-assisted software testing: A systematic mapping of the literature. Information and Software Technology 126 (2020), 106321.Google ScholarCross Ref
- Jen-tse Huang, Jianping Zhang, Wenxuan Wang, Pinjia He, Yuxin Su, and Michael R Lyu. 2022. AEON: a method for automatic evaluation of NLP test cases. In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis. 202–214.Google Scholar
- JaCoCo. 2023. JaCoCo Java Code Coverage Library. urlhttps://www.jacoco.org/jacoco/.Google Scholar
- Kamal Jain and Vishal Prajapati. 2021. NLP/Deep learning techniques in healthcare for decision making. Primary Health Care: Open Access 11, 3 (2021), 1–4.Google Scholar
- Marc Moreno Lopez and Jugal Kalita. 2017. Deep Learning applied to NLP. arXiv preprint arXiv:1703.03091 (2017).Google Scholar
- Ke Mao, Mark Harman, and Yue Jia. 2016. Sapienz: Multi-objective automated testing for android applications. In Proceedings of the 25th international symposium on software testing and analysis. 94–105.Google ScholarDigital Library
- Monkey. 2023. Monkey para testes de IU/aplicativo. https://developer.android.com/studio/test/other-testing-tools/monkey.Google Scholar
- OpenAI. 2023. Documentation. Introduction. https://platform.openai.com/docs/introduction/overview.Google Scholar
- Eliane Figueiredo Collins Ribeiro. 2022. DeepRLGUIMAT: Deep Reinforcement Learning-based GUI Mobile Application Testing Approach. Ph. D. Dissertation. Universidade de São Paulo.Google Scholar
- Eliane Figueiredo Collins Ribeiro. 2023. DRL-MOBTEST. https://github.com/licollins/deepguit.Google Scholar
- Iván Romero-Peña, Gerardo Padilla-Zárate, and Karen Cortés-Verdín. 2021. Identification of Test Cases Duplication: Systematic Literature Review. 104–111 pages. https://doi.org/10.1109/CONISOFT52520.2021.00025Google ScholarCross Ref
- Zhengru Shen, Hugo van Krimpen, and Marco Spruit. 2019. A lightweight API-based approach for building flexible clinical NLP systems. Journal of Healthcare Engineering 2019 (2019).Google Scholar
- Wallinson de Lima Silva. 2022. Uso de testes metamórficos para verificação de aplicação chatbot. Master’s thesis. Universidade Federal do Rio Grande do Norte.Google Scholar
- Qinghua Su, Gaocheng Cai, Zhongbo Hu, and Xianshan Yang. 2022. Test case generation using improved differential evolution algorithms with novel hypercube-based learning strategies. Engineering Applications of Artificial Intelligence 112 (2022), 104840.Google ScholarDigital Library
- Ravi Prakash Verma and Md. Rizwan Beg. 2013. Generation of Test Cases from Software Requirements Using Natural Language Processing. 140–147 pages. https://doi.org/10.1109/ICETET.2013.45Google ScholarDigital Library
- Rui-Qi Wang, Fei Zhu, Xu-Yao Zhang, and Cheng-Lin Liu. 2023. Training with scaled logits to alleviate class-level over-fitting in few-shot learning. Neurocomputing 522 (2023), 142–151.Google ScholarDigital Library
- Jingcheng Yang, Hongwei Li, Shuo Shao, Futai Zou, and Yue Wu. 2022. FS-IDS: A framework for intrusion detection based on few-shot learning. Computers & Security 122 (2022), 102899.Google ScholarDigital Library
- HN Yasin, SHA Hamid, and RJ Raja Yusof. 2021. DroidbotX: Test Case Generation Tool for Android Applications Using Q-Learning. Symmetry 2021, 13, 310.Google Scholar
- Yuan Zhao, Sining Liu, Quanjun Zhang, Xiuting Ge, and Jia Liu. 2023. Test case classification via few-shot learning. Information and Software Technology 160 (2023), 107228.Google ScholarDigital Library
Index Terms
- SelectNLTest - Selection and natural language rewriting of test cases generated by the DRL-MOBTEST tool
Recommendations
Generating integration test cases automatically
FSE '10: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineeringIn this thesis, I investigate the problem of automatically generating test cases. In particular, I focus on the problem of automatic generation of integration test cases from unit test cases. I start from the observation that software is usually ...
Test case generation, selection and coverage from natural language
AbstractIn Model-based Testing (MBT), test cases are automatically generated from a formal model of the system. A disadvantage of MBT is that developers must deal with formal notations. This limitation is addressed in this paper, where use ...
Highlights- A process algebraic approach to test generation from use cases in natural language.
Enhancing Test Cases generated by Concolic Testing
ISEC '19: Proceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)Concolic testing tools can automatically generate test cases. However, there is a scope to increase the coverage achieved. Pair-wise testing is a prominent black-box testing method. We propose to combine ideas from these two techniques to enhance the ...
Comments