1.2 Why is testing necessary? Flashcards
How does testing contribute to achieving project goals within set scope, time, quality, and budget constraints?
Testing helps identify defects in software components, systems, and documentation, aiding in the achievement of agreed-upon goals within set constraints.
Should testing activities be restricted to the test team alone?
No, any stakeholder can use their testing skills to bring the project closer to success.
What is one of the primary contributions of testing?
Providing a cost-effective means of detecting defects.
How does testing indirectly contribute to higher quality test objects?
By detecting defects that can then be removed through debugging
Besides defect detection, what else does testing directly evaluate?
The quality of a test object at various stages in the SDLC.
How does testing contribute to project management decisions?
By providing measures used in decisions to move to the next stage of the SDLC, such as the release decision.
How does testing ensure user representation in the development lifecycle?
Testers ensure that users’ needs are considered throughout the development lifecycle.
Why might involving a representative set of users in the development project not always be feasible?
Due to high costs and lack of availability of suitable users.
What other reasons might necessitate testing besides defect detection?
To meet contractual or legal requirements, and to comply with regulatory standards.
What is the difference between testing and quality assurance (QA)?
Testing is a form of quality control (QC), while QA encompasses broader activities aimed at ensuring quality throughout the entire software development lifecycle.
What does QC focus on?
QC (Quality Control) is a product-oriented, corrective approach focusing on activities to achieve appropriate quality levels.
What are major forms of quality control?
Testing, formal methods (model checking and proof of correctness), simulation, and prototyping.
What is the focus of QA?
QA (Quality Assurance) is a process-oriented, preventive approach focusing on implementing and improving processes.
Who is responsible for QA on a project?
Everyone on the project shares responsibility for QA, encompassing both development and testing processes.
How are test results utilized in QC and QA?
In QC, test results are used to fix defects. In QA, they provide feedback on the performance of development and test processes.
What causes errors in software development?
Errors (mistakes) can occur due to time pressure, complexity of work products, processes, infrastructure, interactions, fatigue, or inadequate training
Where can defects be found in software artifacts?
Defects can be found in documentation (e.g., requirements specification), source code, or supporting artifacts like build files.
What happens if defects in artifacts produced early in SDLC remain undetected?
They often lead to defective artifacts later in the lifecycle.
What is a root cause?
A fundamental reason for the occurrence of a problem, identified through root cause analysis.
When is root cause analysis typically performed?
It is typically performed when a failure occurs or a defect is identified to prevent similar issues in the future.
What is a cost-effective benefit of testing in software development?
Testing provides a cost-effective means of detecting defects, which can then be removed by debugging.
How does testing indirectly contribute to higher quality test objects?
By detecting defects that can then be removed, testing indirectly improves the quality of test objects
At what stages in the Software Development Life Cycle (SDLC) does testing evaluate the quality of a test object?
Testing evaluates the quality of a test object at various stages in the SDLC.
How do the results of testing influence project management decisions?
The results of testing are used in project management to make decisions about moving to the next stage of the SDLC, such as the release decision.
How does testing provide users with indirect representation on the development project?
Testers ensure that their understanding of users’ needs is considered throughout the development lifecycle.
Why is it often impractical to involve a representative set of users in the development project?
Involving users directly is usually impractical due to high costs and lack of availability of suitable users.
Besides improving software quality, what other requirements might testing help to meet?
Testing may be required to meet contractual or legal requirements or to comply with regulatory standards.
How are testing and quality assurance (QA) different?
Testing is a form of quality control (QC), whereas quality assurance (QA) encompasses a broader range of activities aimed at ensuring quality.