ISTQB Foundational Flashcards
1. When the tester verifies the test basis while designing tests early in the lifecycle, which test
objective is being achieved?
a. Gaining confidence
b. Finding defects
c. Evaluating work products
d. Providing information for decision making
C is correct per the syllabus.
The other three are achieved primarily by doing dynamic testing. This is a bit tricky because you are very
likely to find defects while doing this analysis and this may lead to either gaining or destroying confidence
and needing to supply information to the decision makers. What is occurring here is an evaluation of the
work product, in this case the requirements.
2. In some Agile teams, people are encouraged to use their skills to help the team, regardless
of their role. This could mean that testers help the developers write code and developers help
testers test. What is this approach called?
a. Team Aid
b. Whole Team
c. Skills First
d. First Aid
B is correct. This is an example of the Whole Team approach where the team members leverage
their skills, regardless of roles, to accomplish the goals of the team.
3. Which of the following is a correct statement?
a. A developer makes a mistake which causes a defect that may be seen as a failure
during dynamic testing
b. A developer makes an error which results in a failure that may be seen as a fault when
the software is executed
c. A developer has introduced a failure which results in a defect that may be seen as a
mistake during dynamic testing
d. A developer makes a mistake which causes a bug that may be seen as a defect when
the software is executed
A is correct. The developer makes a mistake/error which causes a defect/fault/bug which may
cause a failure when the code is dynamically tested or executed.
B is incorrect because fault and failure are reversed.
C is incorrect because failure and mistake are reversed.
D is incorrect because it’s a failure that’s seen during execution, not the defect itself. The failure is a
symptom of the defect.
4. Why is it important to avoid the principle of tests wearing out?
a. Dynamic testing is less reliable in finding bugs
b. Running the same tests repeatedly will consistently find new failures
c. Tests should not be context dependent
d. Running the same tests repeatedly will reduce the chance of finding new failures
D is correct. As tests are run repeatedly, the tests become less effective.
A is not correct because dynamic testing should be used and helps to alleviate tests wearing out.
B is not correct. The same tests do wear out.
C is not correct because testing should be context dependent.
5. When following a standard test process, when should the test control activity take place?
a. During the planning activities
b. During the implementation and execution activities
c. During the monitoring activities
d. During all the activities
D is correct. Control occurs throughout the project to ensure that it is staying on track based on
the plan and to take any corrective steps that may be necessary. The monitoring information is
used to determine if control actions are needed.
6. Which of the following is the activity that compares the planned test progress to the actual
test progress?
a. Test monitoring
b. Test planning
c. Test closure
d. Test control
A is correct. Test monitoring involves the on-going comparison of actual progress against the test
plan.
B is incorrect because it defines testing objectives.
C is incorrect because the activities have already completed and the project is closing down.
D is incorrect because test control is when you take actions to correct any issues observed during
monitoring.
7. If you are working on a project that is constrained by time and budget, which is pressuring
testing to be done quickly. How should the test approach be adjusted?
a. Develop detailed test cases to reduce the test automation effort
b. Use techniques such as exploratory and checklist testing to spend less time on test case
development
c. Ensure that your testing starts only after the developers have completed integration tests
d. Develop end-to-end test automation before performing manual testing so the automation
can be used sooner
B is correct. These techniques will help adjust to the project context where there is pressure to
test quickly. These are lightweight approaches that require less time preparing documentation
and allow test execution to start sooner.
A is not correct because developing detailed test cases will take significant time.
C is not correct because starting testing earlier would be helpful, not later.
D is not correct because this will be problematic automation and the automators will be slowed down by
the failures that would have been found in manual testing.
8. What is the biggest problem with a developer testing his own code?
a. Developers are not good testers
b. Developers are not quality focused
c. Developers are not objective about their own code
d. Developers do not have time to test their own code
C is correct. This is the biggest problem because developers have biases toward the accuracy
and implementation of their own code. Testers and developers think differently and testers can be
more objective as they are not invested in the code.
A and B are not necessarily true – some developers are good testers and have a good quality focus.
D is not correct because unit testing is part of their job and time should be made in the schedule for at
least unit testing.
9. Which of the following is an example of a good testing practice?
a. Testers should have development experience
b. Developers should determine the order of test execution in the test procedures
c. Test design should begin when the code is complete to avoid changes
d. Testers should review requirements documents as soon as a readable draft is available
D is correct. This is a good testing practice.
A is not a requirement for many testers.
B is not correct because this should be determined by the testers based on priority, risk, availability, etc.
C is not correct because test design should start during code design and implementation.
10. When coding is directed by the test cases, what development approach is being used?
a. TDD
b. BDD
c. ATDD
d. TBD
A is correct. This is an example of test-driven development.
11. During which level(s) of testing should non-functional tests be executed?
a. Unit and integration only
b. System testing only
c. Integration, system and acceptance only
d. Unit, integration, system and acceptance only
D is correct. Non-functional tests can and should be executed at all levels of testing.
12. When a system is targeted for decommissioning, what type of maintenance testing may be
required?
a. Retirement testing
b. Regression testing
c. Data migration testing
d. Patch testing
C is correct, per syllabus. Data migration to another system or data migration to an archival
system may be needed.
A is incorrect, there is no such testing type.
B is incorrect because this is more appropriate for current systems, not the system being retired.
D is incorrect because this is of no use for a system being retired.
13. In an iterative lifecycle model, which of the following is an accurate statement about testing
activities?
a. For every development activity, there should be a corresponding testing activity
b. For every testing activity, appropriate documentation should be produced, versioned and
stored
c. For every development activity resulting in code, there should be a testing activity to
document test cases
d. For every testing activity, metrics should be recorded and posted to a metrics dashboard
for all stakeholders
A is correct. For any lifecycle model, this is a correct statement.
B is not correct because some testing activities may not produce documentation, such as reviews.
C is not correct because test cases are not always written, particularly in an Agile lifecycle (which is an
iterative lifecycle) where only exploratory testing might be used.
D is not correct because not all testing activities produce metrics (such as test case creation, reviews,
etc.) and, even if they did, not all stakeholders would be interested in those metrics.
14. In what way is CI/CD an example of the concept of shift-left?
a. It gets the code to production faster
b. It allows the developers to continuously integrate their code
c. It requires continuous testing throughout the pipeline
d. It elevates the testers as the owners of quality
C is correct. CI/CD requires continuous testing, including test automation, to be implemented for the
entire pipeline. This starts testing as early as possible and shifts it to the left in the timeline.
A is not correct as this is not a shift-left concept.
B is true of CI/CD implementations but does not shift-left the testing.
D is not correct because in a good CI/CD implementation, everyone owns quality.
15. In a formal review, which role is normally responsible for documenting all the open issues?
a. The facilitator
b. The author
c. The scribe
d. The manager
C is correct. The scribe is normally responsible for documenting all issues, problems and open
points. The author may take notes as well, but that is not their primary role.
16. What is the primary reason to get early and frequent feedback from stakeholders regarding
a product being developed?
a. To make them feel involved
b. To ensure that their vision for the product will be realized
c. To create more meetings
d. To use the stakeholders as testers
B is correct per the syllabus. By getting their feedback, the team can ensure that what they are building is
what the stakeholders want.
A is not correct because, although it may be beneficial to have them feel a part of the team, it isn’t the
primary reason to get their feedback.
C is not correct because no one needs more meetings.
D is not correct although stakeholders may be used for UAT. Their feedback is needed much earlier than
UAT.
17. Which of the following is a benefit of static analysis?
a. Defects can be identified that might not be caught by dynamic testing
b. Early defect identification requires less documentation
c. Early execution of the code provides a gauge of code quality
d. Tools are not needed because reviews are used instead of executing code
A is correct, per syllabus. Static analysis with a static analyzer can be used to find defects such
as uninitialized variables that could be difficult to catch with dynamic testing.
B is incorrect because defects will still need to be documented regardless of how early they are found.
C is incorrect because this is dynamic analysis.
D is incorrect because static analysis usually requires the use of tools.
18. For a formal review, at what point in the process are the exit criteria defined?
a. Planning
b. Review initiation
c. Individual review
d. Fixing and reporting
A is correct. The entry and exit criteria should be defined during the planning step in the review
process. These should be evaluated at each step to ensure the product is ready for the next step
in the process.
B, C and D are not correct because the criteria should already be defined by this point.
19. Which of the following test techniques uses the requirements specifications as a test
basis?
a. Structure-based
b. Black-box
c. White-box
d. Exploratory
B is correct, per syllabus. Black-box testing is based off the requirements documents.
A and C are incorrect because these use the structure of the software as the test basis.
D is incorrect because exploratory testing is often done when there is no specification, thus giving the
tester the opportunity to learn about the software while testing.
20. If you are testing a module of code, how do you determine the level of branch coverage
you have achieved?
a. By taking the number of branches you have tested and dividing that by the total number
of executable statements in the module
b. By taking the number of branches you have tested and dividing that by the total number
of branches in the module
c. By taking the number of branches you have tested and dividing that by the total lines of
code in the module
d. By taking the number of branches you have tested and dividing that by the total number
of test cases you have executed for the module
B is correct. Branch coverage looks at the number of branches tested versus the number of
branches in the code under test.
21. If you have a section of code that has one simple IF statement, how many tests will be
needed to achieve 100% branch coverage?
a. 1
b. 2
c. 5
d. Unknown with this information
B is correct. A simple IF statement will be composed of If … then … else…. end if. There are two
branch outcomes, one for the result of the If being true and one for it being false. Since 100%
branch coverage requires at least one test case for each branch outcome, two tests are needed.
A and C are incorrect because these are the wrong numbers of tests.
D would be correct if this weren’t defined as a simple if statement because a complex if statement could
include more than two outcomes.
22. Which of the following is a good reason to use experience-based testing?
a. You can find defects that might be missed by more formal techniques
b. You can test for defects that only experienced users would encounter
c. You can target the developer’s efforts to the areas that users will be more likely to use
d. It is supported by strong tools and can be automated
A is correct. Experience-based testing is often used to fill in the gaps left by the more formal
testing techniques.
B is not correct because it is used by experienced testers and has nothing to do with the experience level
of the users.
C is not correct because it is a test technique, not a development technique.
D is not correct. There is not much tool support for these techniques and automation is not usually a goal
because the effectiveness depends on the experience of the tester.
23. What is error guessing?
a. A testing technique used to guess where a developer is likely to have made a mistake
b. A technique used for assessing defect metrics
c. A development technique to verify that all error paths have been coded
d. A planning technique used to anticipate likely schedule variances due to faults
A is correct. Error guessing is a technique used to anticipate where developers are likely to make
errors and to create tests to cover those areas.
B, C and D are not correct.
24. When using the 3 C’s technique for user story development, what is the work product that
is created for the Confirmation aspect?
a. Test Approach
b. Acceptance Criteria
c. Entry Criteria
d. Exit Criteria
B is correct. The confirmation aspect of the 3 C’s is the acceptance criteria.