1. Fundamentals Of Testing Flashcards
(31 cards)
What is the definition of testing?
The process consisting of all lifecycle activities (both static and dynamic) that deal with the planning, preparation, and evaluation of a software product.
What is the goal of testing?
Ensure that software meets all specified requirements, that it fulfils its purpose, and to find any defect conditions.
What is the difference between testing and debugging?
Testing by testers, shows error effects
Debugging by Devs, finds analyzes and fixes error conditions in code
What is the difference between verification and validation?
Verification checks that a software meets its specifications (requirement doc). Non/functional requirements
Validation ensures a software meets customer expectations, as spec may not reflect user needs
What is quality control?
A product-oriented, corrective approach. Focus on achieving appropriate levels of quality. Testing is a form of QC. Test results fix defects.
What is quality assurance?
Process-oriented, preventive.
Focus on process implementation and improvement. Everyone’s responsible.
Applies development and testing processes.
Test results provide feedback on performance of said processes
What is an error?
Errors are mistakes made by people. Causes include time pressure, lack of training, complexity of subject
What is a defect?
Errors produce defects, which are faults or bugs. Defects are found in documentation.
What is a failure?
Unintended behaviour in software caused by defects or environmental conditions
What is root cause analysis?
Finding the fundamental reason for a problem, in order to prevent/reduce the frequency of similar defects & failures
Testing Principle 1. Testing shows…
Testing shows the presence, not the absence of defects.
Testing principle 2. Exhaustive testing…
Exhaustive testing is impossible. (Prioritize to focus test efforts)
Testing principle 3. Early testing saves…
Early testing saves time and money (shift left)
Testing principle 4. Defects…
Defects cluster together (~Pareto principle of 80/20)
Testing principle 5. Tests…
Tests wear out. (updates vital, except in automated regression testing)
Testing principle 6. Testing depends…
Testing depends on context. (No universal approach)
Testing principle 7. Absence…
Absence-of-defects fallacy. (Verification AND validation essential)
The test process usually consists of which 7 processes?
Test planning, analysis, design, implementation, execution, completion. Monitoring and control throughout.
What is the goal of test planning?
Define test objectives and select an approach to achieve them
What is the goal of test monitoring and control?
Ongoing checks which compare actual process to the plan. Then taking actions required to meet the objectives of testing
What is the goal of test analysis?
Defines “what to test?” by analyzing test basis for features to test. We define these conditions, then prioritize them. The test basis is verified to identify defects
What is the goal of test design?
Defines “how to test?” by turning test conditions into test cases. We decide how much (coverage items) and where (test environment) we test, and what we need to do so (test data requirements, tools & infrastructure). Closely linked to test implementation
What is the goal of test implementation?
We acquire the testware, create test suites/procedures including scripts (manual and automatic). We then prioritize the tests by arranging their execution schedule, then build and verify the test environment. Closely linked to test design, the more practical side.
What is the goal of test execution?
Test! Manual or automated, in order of test schedule. Then log results, compare to expected results, analysis and reporting of anomalies based on failures observed