Key details for this exam, checked against the published exam outline
Each question shows the correct answer and an explanation of why it is right
A typical objective of testing is to ensure that:
This answer is correct because a typical objective of testing is to ensure that a software has been tested using a combination of test techniques, such as black-box, white-box, or experience-based techniques, that are appropriate for the test objectives, test levels, and test types. Testing using a combination of test techniques can increase the effectiveness and efficiency of testing, as different techniques can target different aspects of the software quality, such as functionality, usability, performance, security, reliability, etc. Testing using a combination of test techniques can also reduce the risk of missing defects that could be detected by one technique but not by another.Reference: ISTQB Foundation Level Syllabus v4.0, Section 2.3.1.1, Section 2.3.2
A program is used to control a manufacturing line (turn machines on and off. start and stop conveyer belts, add raw materials to the flow. etc.). Not all actions are possible at all times. For example, there are certain manufacturing stages that cannot be stopped - unless there is an emergency. A tester attempts to evaluate if all such cases (where a specific action is not allowed) are covered by the tests.
Which coverage metric will provide the needed information for this analysis?
Branch coverage is a type of structural coverage metric that measures the percentage of branches or decision outcomes that are executed by the test cases. A branch is a point in the code where the control flow can take two or more alternative paths based on a condition. For example, an if-else statement is a branch that can execute either the if-block or the else-block depending on the evaluation of the condition. Branch coverage ensures that each branch is taken at least once by the test cases, and thus reveals the behavior of the software under different scenarios. Branch coverage is also known as decision coverage or all-edges coverage.
Branch coverage is suitable for testing the cases where a specific action is not allowed, because it can verify that the test cases cover all the possible outcomes of the conditions that determine the action. For example, if the program has a condition that checks if the manufacturing stage can be stopped, then branch coverage can ensure that the test cases cover both the cases where the stage can be stopped and where it cannot be stopped. This way, branch coverage can help identify any missing or incorrect branches that may lead to undesired or unsafe actions.
The other options are not correct because they are not suitable for testing the cases where a specific action is not allowed. Code coverage is a general term that encompasses various types of coverage metrics, such as statement coverage, branch coverage, data flow coverage, etc. Code coverage does not specify which type of coverage metric is used for the analysis. Data flow coverage is a type of structural coverage metric that measures the percentage of data flow paths that are executed by the test cases. A data flow path is a sequence of statements that define, use, or kill a variable. Data flow coverage is useful for testing the correctness and completeness of the data manipulation in the software, but not for testing the conditions that determine the actions. Statement coverage is a type of structural coverage metric that measures the percentage of statements or lines of code that are executed by the test cases. Statement coverage ensures that each statement is executed at least once by the test cases, but it does not reveal the behavior of the software under different scenarios. Statement coverage is a weaker criterion than branch coverage, because it does not account for the branches or decision outcomes in the code.Reference= ISTQB Certified Tester Foundation Level (CTFL) v4.0 syllabus, Chapter 4: Test Techniques, Section 4.3: Structural Testing Techniques, Pages 51-54.
Which of the following statements about retrospectives is TRUE?
Retrospectives are a crucial part of Agile practices, aiming to identify process improvements and determine how to implement them effectively. They should involve participants discussing not only what improvements could be made but also how to integrate and sustain those improvements within the project context, including the software development lifecycle. This makes statement D accurate according to the ISTQB CTFL syllabus.
The tests at the bottom layer of the test pyramid:
The tests at the bottom layer of the test pyramid run faster than the tests at the top layer of the pyramid because they are more focused, isolated, and atomic. They usually test individual units or components of the software system, such as classes, methods, or functions. They are also easier to maintain and execute, as they have fewer dependencies and interactions with other parts of the system. The tests at the top layer of the test pyramid, on the other hand, are slower because they cover larger pieces of functionalities, such as user interfaces, workflows, or end-to-end scenarios. They also have more dependencies and interactions with other systems, such as databases, networks, or external services. They are more complex and costly to maintain and execute, as they require more setup and teardown procedures, test data, and test environments.Reference: ISTQB Certified Tester Foundation Level (CTFL) v4.0 sources and documents:
ISTQB Certified Tester Foundation Level Syllabus v4.0, Chapter 3.2.1, Test Pyramid1
A calculator software is used to calculate the result for 5+6.
The user noticed that the result given is 6.
This is an example of;
According to the ISTQB Glossary of Testing Terms, Version 4.0, 2018, page 18, a failure is ''an event in which a component or system does not perform a required function within specified limits''. In this case, the calculator software does not perform the required function of calculating the correct result for 5+6 within the specified limits of accuracy and precision. Therefore, this is an example of a failure.
The other options are incorrect because:
A mistake is ''a human action that produces an incorrect result'' (page 25). A mistake is not an event, but an action, and it may or may not lead to a failure. For example, a mistake could be a typo in the code, a wrong assumption in the design, or a misunderstanding of the requirement.
A fault is ''a defect in a component or system that can cause the component or system to fail to perform its required function'' (page 16). A fault is not an event, but a defect, and it may or may not cause a failure. For example, a fault could be a logical error in the code, a missing specification in the design, or a contradiction in the requirement.
An error is ''the difference between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition'' (page 15). An error is not an event, but a difference, and it may or may not result in a failure. For example, an error could be a rounding error in the calculation, a measurement error in the observation, or a deviation error in the condition.
Reference= ISTQB Glossary of Testing Terms, Version 4.0, 2018, pages 15-18, 25; ISTQB CTFL 4.0 - Sample Exam - Answers, Version 1.1, 2023, Question 96, page 34.
148 questions covering all exam domains, starting from $20
Exam domains verified against: Official BCS CTFL4 exam guide, last checked September 2026.
This section covers the basic principles of testing and evaluates your understanding of the test process. You will learn the purpose and value of testing across different types of software development.
Sample question from this domain above: Q5
This section explains how testing is integrated into different development methodologies and emphasizes test-first approaches. It covers both traditional and modern delivery approaches including Agile and DevOps.
Sample question from this domain above: Q2
This section covers the basics of static testing, including the feedback and review process. You will understand how reviews and static analysis contribute to quality before dynamic testing begins.
Sample question from this domain above: Q1
This section explains how to plan tests, monitor and control test activities, and report defects clearly and effectively. You will learn to estimate test effort and manage test risks.
This section discusses the classification of tools and examines the risks and benefits of test automation. You will understand how to select and use tools appropriately in testing activities.
Common questions about the exam itself