Fundamentals of Testing Flashcards
What are the typical test objectives?
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
Debugging is concerned with what?
Finding causes of failures (defects) and analyzing and eliminating them
Testing can trigger what?
Failures that are caused by defects in the software OR find defects in the test object.
What is the typical debugging process?
Reproduction of a failure
Finding the root cause
Fixing the cause
Why is testing necessary?
Provides a cost-effective means of detecting defects
Provides a means of directly evaluating the quality of a test object at various stages of the SDLC
Provides users with indirect representation on the dev project
May also be required to comply with regulatory standards or meet contractual and legal obligations
How are QA and testing different?
Testing is a form of Quality Control.
Quality Control is product-oriented, corrective approach.
QA is process-oriented, preventive approach that focuses on implementation and improvement of processes
Who uses test results?
QA and QC
Who is responsible for QA?
everyone on a project
How are test results used by Quality Control?
They are used to fix defects
How are test results used by QA?
They provide feedback on how well the development and test processes are performing
What is an error?
A human made mistake caused by things like time pressure, complexity of work products, processes, infrastructure, interactions, lack of training, or tiredness.
What is a defect?
A fault or bug caused by an error.
What is a failure?
When the system fails to do what it should or shouldn’t do
What is a root cause?
The fundamental reason for the occurrence of a problem.
Where can a defect be found?
Documentation, source code, or supporting artifact
How are root causes identified?
Through root cause analysis that is typically performed when a failure occurs or a defect is identified.
What are the seven testing principals?
Testing shows the presence, not the absence of defects
Exhaustive testing is impossible
Early testing saves time and money
Defects cluster together
Tests wear out
Testing is context dependant
Absence of defects fallacy
Explain the testing principle:
Testing shows the presence, not the absence of defects
Testing reduces the probability of defects remaining undiscovered but cannot prove test object correctness.
Explain the testing principle:
Exhaustive testing is impossible
Except in trivial cases, testing everything is not feasible.
How can testing efforts be focused to prevent exhaustive testing?
By using test techniques, test case prioritization, and risk based testing