ISTQB - Chapter 1 Flashcards
This is a list of what?
- To prevent defects
- To find defects and failures
- To verify specified requirements
- To check that the test object is complete and works as expected
- To build confidence in its quality
- To provide information to stakeholders
- To comply with contractual, legal, or regulatory requirements
The typical objectives of testing
What is the difference between testing and debugging?
Testing shows failures that are caused by defects in the software
Debugging is the development activity that finds, analyzes, and fixes defects
What is dynamic testing?
Testing that involves the execution of the component or system being tested
What is static testing?
Testing that does not involve the execution of the component or system being tested
What is the difference between verification and validation?
Verification involves specified requirements (is it build according to specification?)
Validation involves intended use (is it fit for purpose?)
Why is testing necessary?
It reduces the likelihood of delivering a system that causes failures or does not meet the stakeholders’ needs.
Explain the relationship between the terms defect, error, and failure
Person makes an error –> which leads to a defect (fault or bug) –> defect in code can cause failure
Are failures always caused by defects in the code?
No, they can also be caused by environmental conditions such as radiation, pollution, and incorrect hardware.
What is the aim of root cause analysis?
Root cause analysis (figuring out the root cause of a defect) aims to prevent future defects through process improvements.
What might you receive when a product is shipped with defects present?
Customer complaints
What is the difference between quality assurance and testing?
Both are part of quality management:
- Quality assurance ensures that employees follow the company’s standard ways of performing tasks correctly
- Testing examines the quality of work products rather than processes, which makes it part of quality control
How does quality assurance support testing?
Quality assurance is about the proper execution of the entire software development process, which includes testing.
Briefly explain the principle that “Testing shows the presence of defects, not their absence”
Testing is not a proof of correctness: it can’t prove that there are no defects left undiscovered, only reduce the likelihood of it
Briefly explain the principle that “Exhaustive testing is impossible”
Testing every combination of inputs and preconditions is not possible, instead we should focus test efforts using risk analysis, test techniques, and priorities
What is another term for “Early testing” and why is it important?
Shift left: Early testing which saves time and money
Briefly explain the principle that “Defects cluster together”
A small number of modules usually contains most of the defects discovered during pre-release testing
Briefly explain the principle that “Beware of the pesticide paradox”
If the same tests are repeated over and over again, eventually these tests no longer find any new defects. Tests may need to be changed or new ones written.