Explanation: Exploratory testing is a testing approach that emphasizes learning, creativity, and adaptability. It involves simultaneous test design and test execution, where the tester uses heuristics, intuition, and experience to explore the system under test and discover new information12. Exploratory testing can be performed in an Agile project to complement other testing activities, such as test-driven development, behavior-driven development, and acceptance test-driven development12.
The correct approach to adopt for exploratory testing in an Agile project is D, as it follows the best practices for exploratory testing1234:
- Ask experienced testers to prepare test charters for time boxed sessions lasting no more than 2 hours: A test charter is a brief document that describes the scope, objective, and strategy of an exploratory testing session. A test charter helps to guide the tester’s exploration and to document the results. A time box is a fixed period of time allocated for an exploratory testing session. A time box helps to focus the tester’s attention and to limit the scope of exploration. A time box should not be too long, as it may reduce the tester’s concentration and creativity. A recommended duration for a time box is between 45 minutes and 2 hours.
- Tests should be designed and executed within each session using heuristics, creativity and intuition: Exploratory testing is an iterative and interactive process, where the tester designs and executes tests based on the observations and feedback from the system under test. The tester uses heuristics, which are rules of thumb or shortcuts that help to simplify the testing problem and to generate test ideas. The tester also uses creativity and intuition, which are mental abilities that help to generate novel and useful solutions and to make judgments based on incomplete or uncertain information.
The incorrect approaches to adopt for exploratory testing in an Agile project are A, B, and C, as they violate the principles and practices of exploratory testing1234:
- A: Allocate independent testers to design exploratory tests using test charters in time boxed sessions. Plan to run all sessions in parallel with each session lasting more than 5 hours: This approach is incorrect because it does not involve simultaneous test design and test execution, which is the essence of exploratory testing. It also uses too long time boxes, which may reduce the tester’s concentration and creativity. It also does not leverage the collaboration and communication within the Agile team, as it isolates the testers from the developers and other stakeholders.
- B: Ask experienced testers to try and find new defects by using the system without the constraint of documentation and tools: This approach is incorrect because it does not use test charters, which are essential for guiding and documenting the exploratory testing sessions. It also does not use heuristics, creativity, and intuition, which are important for generating test ideas and making decisions. It also implies that exploratory testing is an unstructured and random activity, which is a common misconception. Exploratory testing is a disciplined and systematic approach that requires planning, analysis, and evaluation.
- C: Use testers who have not been involved in the sprint to write new test cases from the user stories. These test cases are then executed in a time boxed session for the sprint: This approach is incorrect because it does not involve simultaneous test design and test execution, which is the essence of exploratory testing. It also uses testers who have not been involved in the sprint, which may reduce their understanding of the system under test and the customer needs. It also does not use test charters, which are essential for guiding and documenting the exploratory testing sessions. It also does not use heuristics, creativity, and intuition, which are important for generating test ideas and making decisions.
References: ISTQB Foundation Level Agile Tester Extension Syllabus1, page 23; ISTQB Agile Tester Sample Exam2, question 19; Exploratory Testing; ISTQB Agile Tester #56 – What is Exploratory testing?