Levels of Exploration in Exploratory Testing: From Freestyle to Fully Scripted
Exploratory testing (ET) is a powerful and efficient way of testing software by integrating design, execution, and analysis of tests during a testing session. ET is often contrasted with scripted testing and seen as a choice of either exploratory testing or not. In contrast, we pose that exploratory testing can be of varying degrees of exploration from fully exploratory to fully scripted. In line with this, we propose a scale for the degree of exploration and define five levels. In our
... ls. In our classification, these levels of exploration correspond to the way test charters are defined. We have evaluated this classification through focus groups at four companies and identified factors that influence the choice of exploration level. The results show that the proposed levels of exploration are influenced by different factors such as ease to reproduce defects, better learning, and verification of requirements and that the levels can be used as a guide to structure test charters. Our study also indicates that applying a combination of exploration levels can be beneficial in achieving effective testing. INDEX TERMS Exploratory testing, test charter, test mission, session-based test management, levels of exploration, exploratory testing classification, software testing. VOLUME 6, 2018 2169-3536 2018 IEEE. Translations and content mining are permitted for academic research only. Personal use is also permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information. AHMAD NAUMAN GHAZI received the M.Sc., Licentiate of Technology, and Ph.D. degrees in software engineering from the Blekinge Institute of Technology, Sweden, in 2010Sweden, in , 2014Sweden, in , and 2017. He is currently a Lecturer with the Department of Software Engineering, Blekinge Institute of Technology. He has extensive experience with software industry, where he was a Software Test Engineer for several years. His research interests include empirical software engineering, software verification and validation, exploratory testing, agile software development, software quality assurance, and software process improvement.