Abstract
As the field of software testing continues to advance, cooperative software testing and analysis has been proposed as a new methodology to help combat the challenges involved with performing highly effective software testing. Motivated by the understanding that auto-testing systems on their own are not powerful enough to address complications in testing complex real-world software, this model involves human-machine and machine-machine cooperation to make automated software testing processes more interactive and user-friendly. It is with this in mind that we propose an agent-based approach to software testing that involves teaming humans with virtual assistants on smart devices to help coordinate the tasks associated with testing complex real-world software. Currently, virtual assistants are widely used for interpersonal tasks such as purchasing items from restaurants, interfacing with mobile applications to create events and reminders, and composing and sending messages on behalf of the user. In this research, we create an agent-based framework and use it to demonstrate that a virtual assistant on a smart device can also be utilized to work closely with software testers to efficiently and effectively verify software functionality, generate reports, and communicate results with developers. We utilize unit testing to evaluate our proposed methodology by applying it to a set of Java projects. Our results show that virtual agents can be used to work with humans to coordinate tasks associated with unit-testing software.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Abdellatif, A., Badran, K., Shihab, E.: MSRBot: using bots to answer questions from software repositories. Empir. Softw. Eng. 25(3), 1834–1863 (2020). https://doi.org/10.1007/s10664-019-09788-5
Adamopoulou, E., Moussiades, L.: An overview of Chatbot technology. In: Maglogiannis, I., Iliadis, L., Pimenidis, E. (eds.) AIAI 2020. IAICT, vol. 584, pp. 373–383. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-49186-4_31
Ahuja, M.K., et al.: Opening the software engineering toolbox for the assessment of trustworthy AI. CoRR abs/2007.07768 (2020)
Aniche, M.: Effective Software Testing: A Developer’s Guide. Simon and Schuster (2022)
David, T.: Computational approaches to dialogue. In: The Routledge Handbook of Language and Dialogue, pp. 143–161. Routledge (2017)
Dialogflow: Dialogflow (2022). https://cloud.google.com/dialogflow/docs. Accessed 19 Aug 2022
EclEmma. Java code coverage for eclipse (2023). Accessed 07 Feb 2023
Eclipse Foundation. Eclipse ide. https://www.eclipse.org/ide/. Accessed 20 Mar 2023
Hao, D., Zhang, L., Zhang, L., Sun, J., Mei, H.: VIDA: visual interactive debugging. In: 2009 IEEE 31st International Conference on Software Engineering, pp. 583–586. IEEE (2009)
Dan Hao, L., Zhang, T.X., Mei, H., Sun, J.-S.: Interactive fault localization using test information. J. Comput. Sci. Technol. 24(5), 962–974 (2009)
JUnit: Junit: Simple framework to write repeatable tests. https://junit.org/junit5/. Accessed 20 Dec 2022
Nembhard, F., Carvalho, M.M.: Conversational code analysis: the future of secure coding, chap. 6. In: Radhakrishnan, S., Naduvath, S. (eds.) Coding Theory. IntechOpen, Rijeka (2021)
Nembhard, F.D., Carvalho, M.M.: Teaming humans with virtual assistants to detect and mitigate vulnerabilities. In: Arai, K. (eds.) Intelligent Computing, SAI 2023. LNNS, vol. 711 pp 565–576. Springer, Cham (2023). https://doi.org/10.1007/978-3-031-37717-4_35
Slhoub, K., Carvalho, M.: Towards process standardization for requirements analysis of agent-based systems. Adv. Sci. Technol. Eng. Syst. J. 3(3), 80–91 (2018)
Slhoub, K., Carvalho, M., Nembhard, F.: Evaluation and comparison of agent-oriented methodologies: a software engineering viewpoint. In: 2019 IEEE International Systems Conference (SysCon), pp. 1–8. IEEE (2019)
Tony, C., Balasubramanian, M., Ferreyra, N.E.D., Scandariato, R.: Conversational DevBots for secure programming: an empirical study on SKF Chatbot. In: Proceedings of the International Conference on Evaluation and Assessment in Software Engineering 2022, EASE 2022, New York, NY, USA, pp. 276–281. Association for Computing Machinery (2022)
Urli, S., Yu, Z., Seinturier, L., Monperrus, M.: How to design a program repair bot? Insights from the repairnator project. In: 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP), pp. 95–104. IEEE (2018)
Vogel, L.: How to use JUnit with eclipse (2017). https://www.vogella.com/tutorials/JUnit/article.html. Accessed 12 Jan 2023
Wikipedia contributors. Tic-tac-toe—Wikipedia, the free encyclopedia (2002). Accessed 14 Jan 2023
Xiao, X., Xie, T., Tillmann, N., De Halleux, J.: Precise identification of problems for structural test generation. In: Proceedings of the 33rd International Conference on Software Engineering, pp. 611–620 (2011)
Xiao, Z., Zhou, M.X., Chen, W., Yang, H., Chi, C.: If i hear you correctly: building and evaluating interview Chatbots with active listening skills. In: Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems, pp. 1–14 (2020)
Tao Xie, L., Zhang, X.X., Xiong, Y.-F., Hao, D.: Cooperative software testing and analysis: advances and challenges. J. Comput. Sci. Technol. 29(4), 713–723 (2014)
Zhang, S., Li, R., Li, J., He, Y., Wang, Y.: UniLife–game: a role-playing game for college life simulation (2021). https://github.com/sophiaszy/UniLife--Game
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Nembhard, F.D., Slhoub, K.A., Carvalho, M.M. (2023). An Agent-Based Approach Toward Smart Software Testing. In: Arai, K. (eds) Proceedings of the Future Technologies Conference (FTC) 2023, Volume 2. FTC 2023. Lecture Notes in Networks and Systems, vol 814. Springer, Cham. https://doi.org/10.1007/978-3-031-47451-4_21
Download citation
DOI: https://doi.org/10.1007/978-3-031-47451-4_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-47450-7
Online ISBN: 978-3-031-47451-4
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)