skip to main content
10.1145/3624032.3624043acmotherconferencesArticle/Chapter ViewAbstractPublication PagessastConference Proceedingsconference-collections
research-article

SelectNLTest - Selection and natural language rewriting of test cases generated by the DRL-MOBTEST tool

Published:17 October 2023Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. FDroid. 2023. Repositório de aplicativos Android gratuito e de código aberto. https://f-droid.org/pt_BR/packages/.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle Scholar
  12. JaCoCo. 2023. JaCoCo Java Code Coverage Library. urlhttps://www.jacoco.org/jacoco/.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. Marc Moreno Lopez and Jugal Kalita. 2017. Deep Learning applied to NLP. arXiv preprint arXiv:1703.03091 (2017).Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. Monkey. 2023. Monkey para testes de IU/aplicativo. https://developer.android.com/studio/test/other-testing-tools/monkey.Google ScholarGoogle Scholar
  17. OpenAI. 2023. Documentation. Introduction. https://platform.openai.com/docs/introduction/overview.Google ScholarGoogle Scholar
  18. Eliane Figueiredo Collins Ribeiro. 2022. DeepRLGUIMAT: Deep Reinforcement Learning-based GUI Mobile Application Testing Approach. Ph. D. Dissertation. Universidade de São Paulo.Google ScholarGoogle Scholar
  19. Eliane Figueiredo Collins Ribeiro. 2023. DRL-MOBTEST. https://github.com/licollins/deepguit.Google ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarCross RefCross Ref
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SelectNLTest - Selection and natural language rewriting of test cases generated by the DRL-MOBTEST tool
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            SAST '23: Proceedings of the 8th Brazilian Symposium on Systematic and Automated Software Testing
            September 2023
            133 pages
            ISBN:9798400716294
            DOI:10.1145/3624032

            Copyright © 2023 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 17 October 2023

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed limited

            Acceptance Rates

            Overall Acceptance Rate45of92submissions,49%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format