1.1 What is Testing? Flashcards
What is Testing?
The process within the software development lifecycle that evaluates the quality of a component or system and related work products.
What are the two main types of testing?
The two main types are dynamic testing (involves executing the software) and static testing (does not involve executing the software).
What is the difference between verification and validation in the context of testing?
Verification is the process of confirming that a work product fulfills its specification.
Validation is the confirmation by examination that a work product matches a stakeholder’s needs.
What are the objectives of software testing?
Evaluating work products such as requirements, user stories, designs, and code.
Triggering failures and finding defects.
Ensuring required coverage of a test object.
Reducing the level of risk of inadequate software quality.
Verifying whether specified requirements have been fulfilled.
Verifying that a test object complies with contractual, legal, and regulatory requirements.
Providing information to stakeholders to allow them to make informed decisions.
Building confidence in the quality of the test object.
Validating whether the test object is complete and works as expected by the stakeholders.
What are the typical steps in the debugging process after dynamic testing detects a failure?
Reproducing the failure.
Diagnosing the root cause.
Fixing the cause of the defect.
What happens after a defect identified during testing is fixed?
A confirmation test is performed to verify that the fix resolved the problem, followed possibly by regression testing to ensure the fix did not cause failures in other parts of the test object.
How does static testing differ from dynamic testing in terms of debugging?
In static testing, debugging focuses on directly removing the defect without the need for reproduction or diagnosis, as static testing directly identifies defects.