You are working on an Agile project and have been asked to implement exploratory testing for the current sprint. Which one of the following is a correct approach to adopt?
Correct Answer:D
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?
You are a tester in an agile team. The user story you are due to test is still under development so your tests are blocked. The main issue holding progress on this user story is that the developer's unit tests are constantly failing.
As an agile tester, which of the following actions should you take?
Correct Answer:C
As an agile tester, you should work together with the developer, suggesting reasons why the tests are failing. This is an example of the agile principle of collaboration and communication within the team, as well as the agile testing practice of early and frequent feedback. By working together with the developer, you can help to identify and resolve the root causes of the test failures, as well as share your testing knowledge and perspective. This can lead to faster and better quality delivery of the user story, as well as improved team relationships and trust.
Option A is not a good action, because reviewing and improving the design of the user story is not the tester’s responsibility, and it may not address the test failures. Option B is also not a good action, because creating bug reports for blocked tests is not an agile way of handling issues, and it may create unnecessary overhead and waste. Option D is not a good action, because it does not help to unblock the current user story, and it may distract you from the sprint goal and the team’s focus.
References: ISTQB Foundation Level Agile Tester Syllabus, Section 2.3.1, page 171; ISTQB Foundation Level Agile Tester Sample Exam Questions, Question 2.3.1-2, page 82
Which of the following sentences about the integration of development and testing activities
in Agile projects is INCORRECT?
Correct Answer:B
Testers replace developers in writing unit test automation scripts. Comprehensive Explanation: The integration of development and testing activities in Agile projects is based on the principle of cross-functional teamwork, where all team members collaborate and share their skills and knowledge to achieve a common goal. In the context of testing, this means that testing is not seen as a separate activity or phase, but as an integral part of the development process. Therefore, the following sentences are correct:
✑ While developers develop automated unit test scripts, testers write automated system level tests. This is an example of how developers and testers can work in parallel and complement each other’s testing efforts. Developers can focus on testing the internal quality of the code, while testers can focus on testing the external quality of the product.
✑ Developers write acceptance criteria and test cases, together with testers. This is an example of how developers and testers can work together to define and verify the user requirements and expectations. Developers can provide their technical expertise and input, while testers can provide their business and user perspective and feedback.
✑ Developers and testers may work as a pair to develop and test a feature. This is an example of how developers and testers can work closely and interactively to deliver a feature. Developers and testers can exchange ideas, suggestions, and information, and support each other in the coding and testing tasks.
The following sentence is incorrect:
✑ Testers replace developers in writing unit test automation scripts. This is not a valid example of the integration of development and testing activities in Agile projects, because it implies that testers take over the responsibility of developers, rather than collaborate with them. Testers should not replace developers in writing unit test automation scripts, because developers have more knowledge and experience in coding and debugging, and because unit testing is an essential part of the development process. Testers should instead work with developers to ensure that the unit test automation scripts are adequate, effective, and maintainable. References: ISTQB® Foundation Level Agile Tester Syllabus1, Section 1.2.1, page 9; ISTQB® Glossary of Testing Terms2, version 4.0, pages 16 and 55.
Which tasks are typically performed by a tester on an Agile project?
1) Implementing test strategy.
2) Documenting business requirements.
3) Measuring and reporting test coverage.
4) Coaching development team in relevant aspects of testing.
5) Executing test-driven development tests.
Correct Answer:C
A tester on an Agile project typically performs the following tasks12:
✑ Implementing test strategy: A tester helps to define and implement the test strategy for the Agile project, which includes the test approach, test levels, test types, test techniques, test tools, test environment, test data, test metrics, and test documentation.
✑ Measuring and reporting test coverage: A tester measures and reports the test coverage of the product features and quality attributes, such as functionality, usability, performance, security, etc. Test coverage can be expressed in terms of test cases, test scenarios, test sessions, test conditions, test data, code, etc.
✑ Coaching development team in relevant aspects of testing: A tester coaches the development team in relevant aspects of testing, such as test design, test execution, test automation, test-driven development, behavior-driven development, exploratory testing, etc. A tester also helps the development team to improve their testing skills and practices.
The following tasks are not typically performed by a tester on an Agile project:
✑ Documenting business requirements: Business requirements are usually documented by the product owner or the business analyst, not by the tester. The tester may review and provide feedback on the business requirements, but the tester is not responsible for documenting them.
✑ Executing test-driven development tests: Test-driven development tests are usually executed by the developers, not by the tester. The tester may assist the developers in creating and reviewing the test-driven development tests, but the tester is not responsible for executing them.
Therefore, the correct answer is C, as it contains the tasks that are typically performed by a tester on an Agile project. References: ISTQB Foundation Level Agile Tester Extension Syllabus1, pages 14-15, 18-19, 22-23; ISTQB Agile Tester Sample Exam2, question 17.
Which of the following statements about Agile retrospectives is CORRECT?
Correct Answer:B
An Agile retrospective is a regular meeting where the team reflects on their work process and identifies the areas for improvement12. The following statements about Agile retrospectives are correct12:
✑ During Agile retrospectives, testers should be encouraged to provide constructive
suggestions on both testing and non-testing activities, as testing is an integral part of the Agile team and testers can contribute to the overall quality of the product and the process.
✑ In an Agile retrospective, the moderator can encourage and make sure that good practices are kept by the team, by asking what the team is doing well. This helps to reinforce the positive aspects of the team’s work and to appreciate the team members’ efforts and achievements.
✑ Agile retrospectives should be focused mainly on impediments that are within the control of the team because these issues are more actionable and can be resolved by the team. Impediments that are outside the control of the team should also be discussed, but they may require the involvement of other stakeholders or external parties to be addressed.
The following statement about Agile retrospectives is incorrect12:
✑ Unlike working sessions or meetings held in non-Agile projects, Agile retrospectives do require follow-up activities. The team should agree on the action items that result from the retrospective and assign them to the responsible team members. The team should also monitor the progress and effectiveness of the action items in the next iteration and review them in the next retrospective.
Therefore, the correct answer is B, as it is the only statement that is correct about Agile retrospectives. References: ISTQB Foundation Level Agile Tester Extension Syllabus1, page 24; ISTQB Agile Tester Sample Exam2,
You are working in a software development company which, for many years, used a sequential development model and was organized into separate departments for each functional group (e.g. business analysts, developers, testers) located within their own office space. Your organization has recently changed to a SCRUM agile framework. Which of the following is an important organizational and behavioral best practice for a tester in the SCRUM team that should have also been practiced when using the sequential model?
Correct Answer:C
Cross-functional teamwork is an important organizational and behavioral best practice for a tester in the SCRUM team that should have also been practiced when using the sequential model. Cross-functional teamwork means that all team members, regardless of their functional roles, collaborate and share their skills and knowledge to achieve a common goal. In the context of testing, this means that testing is not seen as a separate activity or phase, but as an integral part of the development process. All team members contribute to testing in various ways, such as:
✑ Involving people with the test strategy, test planning and execution as well as test reporting. This can help ensure that the testing activities are aligned with the business objectives, the user needs, and the technical requirements. It can also help improve the test coverage, the test quality, and the test efficiency.
✑ Sharing the responsibility for testing among the team members. This can help reduce the workload and the dependency on a single tester or a testing team. It can also help increase the feedback and the communication among the team members, and foster a culture of quality and learning.
✑ Leveraging the diverse skills and perspectives of the team members. This can help enhance the test design and the test execution by applying different techniques, tools, and approaches. It can also help identify and address the risks, the issues, and the opportunities for improvement from various angles. References: ISTQB® Foundation Level Agile Tester Syllabus1, Section 1.2.1, page 9; ISTQB® Glossary of Testing Terms2, version 4.0, page 16.