Can a Chatbot Support Exploratory Software Testing? Preliminary Results (2307.05807v1)
Abstract: Tests executed by human testers are still widespread in practice and fill the gap left by limitations of automated approaches. Among the human-centered approaches, exploratory testing is the de facto approach in agile teams. Although it is focused on the expertise and creativity of the tester, the activity of exploratory testing may benefit from support provided by an automated agent that interacts with the human testers. This paper presents a chatbot, called BotExpTest, designed to support testers while performing exploratory tests of software applications. We implemented BotExpTest on top of the instant messaging social platform Discord; this version includes functionalities to report bugs and issues, time management of test sessions, guidelines for app testing, and presentation of exploratory testing strategies. To assess BotExpTest, we conducted a user study with six software engineering professionals. They carried out two sessions performing exploratory tests along with BotExpTest. Participants were capable of revealing bugs and found the experience to interact with the chatbot positive. Preliminary analyses indicate that chatbot-enabled exploratory testing may be as effective as similar approaches and help testers to uncover different bugs. Bots are shown to be valuable resources for Software Engineering, and initiatives like BotExpTest may help to improve the effectiveness of testing activities like exploratory testing.
- Current and future bots in software development. In IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE), pages 7–11. IEEE, 2019.
- Natural language dialogue for personalized interaction. Communications of the ACM, 43(8):116–120, 2000.
- B. A. Shawar and E. Atwell. Chatbots: are they really useful? In Ldv forum, volume 22, pages 29–49, 2007.
- M. A. Storey and A. Zagalsky. Disrupting developer productivity one bot at a time. In The 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 928–931, 2016.
- A chatbot for conflict detection and resolution. In 1st International Workshop on Bots in Software Engineering (BotSE), pages 29–33, 2019.
- A smart advisor for software delivery-a bot framework for awareness, alerts and advice. In The 1st International Workshop on Bots in Software Engineering (BotSE), pages 22–23, 2019.
- An empirical study of bots in software development: Characteristics and challenges from a practitioner’s perspective. In Proceedings of the 28th ACM Symposium on the Foundations of Software Engineering, pages 445–455, 2020.
- Can a chatbot support software engineers with load testing? approach and experiences. In The ACM/SPEC International Conference on Performance Engineering, pages 120–129, 2020.
- J. Bach. Exploratory testing explained, 2003.
- J. Lyndsay and N. Van Eeden. Adventures in session-based testing. Workroom Productions Ltd. May, 27, 2003.
- Testing computer software, 1993.
- On the exploratory testing of mobile apps. In Proceedings of the IV Brazilian Symposium on Systematic and Automated Software Testing, pages 42–51, 2019.
- ISTQB. Worldwide Software Testing Practices Report Message from the President Executive Summary Survey Questions and Analysis. 2018.
- Checklists to support test charter design in exploratory testing. In International Conference on Agile Software Development, pages 251–258. Springer, 2017.
- Botse: Bots in software engineering (dagstuhl seminar 19471). In Dagstuhl Reports, volume 9. Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2020.
- M. Monperrus. Explainable software bot contributions: Case study of automated bug fixes. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE), pages 12–15. IEEE, 2019.
- Tutorbot: contextual learning guide for software engineers. In 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE), pages 16–17, 2019.
- How is exploratory testing used? a state-of-the-practice survey. In The 8th ACM/IEEE international symposium on empirical software engineering and measurement, pages 1–10, 2014.
- Exploratory testing of apps with opportunity maps. In XX Brazilian Symposium on Software Quality, pages 1–10, 2021.
- Fostering the diversity of exploratory testing in web applications. In IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), pages 164–174, 2020.
- Towards a hybrid testing process unifying exploratory testing and scripted testing. Journal of software: Evolution and Process, 26(2):220–250, 2014.
- Do exploratory testers need formal training? an investigation using HCI techniques. In 9th International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pages 305–314, 2016.
- J. A. Whittaker. Exploratory software testing: tips, tricks, tours, and techniques to guide test design. Pearson Education, 2009.