Chapter 1 Flashcards
What is an error?
A human action that produces an incorrect result
What is a Fault?
A manifestation of an error in software testing.
*Also known as a bug
*Fault may cause a failure
What is Failure?
Deviation of the software from its expected delivery or service.
Define Reliability.
The probability that a software will not cause any failure of the system for a period of time under specific conditions.
What is software quality?
Software quality measures how well a software is designed and how well it is designed to meet its requirements. Also known as fitness of purpose.
What is the difference between quality assurance and quality control.
QA is a proactive process-oriented approach that focuses on preventing defects and improving the overall quality of the product or service.
On the other hand, QC is a reactive product-oriented approach that focuses on identifying and correcting defects in the final product or service.
What is the defect management approach.
This is counting and managing of defects. Defects are commonly categorized by how severe they are and the numbers in each category are used for planning.
Why do faults occur in software?
Software are written by humans who can’t possibly know everything. They have skills but aren’t perfect so they make mistakes which causes faults and errors.
systems may be incomplete.
Timelines causes rushing and low quality programming.
Why is software testing necessary?
To learn about the reliability of the software.
Because software is likely to have faults.
Failures in software can be very expensive.
It helps in avoiding in a lawsuit from customers.
To stay in business.
How much testing is enough?
It depends on the risks of your system and possibly when you are confident that the system works correctly.
What are some of the risks that motivates testing?
- risk of missing important faults
risk of incurring failure costs
-risk of releasing untested or under-tested software
-risk of losing credibility and market share
-risk of missing a market window
-risk of over-testing, ineffective testing
How to utilize risk to your benefit in testing?
We can use risk to help use determine what requires the most time in testing, what needs to be tested the most.
It can also be used to determine what does not need to be tested currently.
In essence risk can be used to be allocate time and priority to testing different aspects of a system.
What are the 4 different levels of test planning?
Test policy
Test Strategy
High Level Test Plan
Detailed Test Plan
What are qualities of a good test case?
Effective - Find the faults
Exemplary - Represents Other tests
Evolvable - Easy to maintain and change.
Economic - Cheap to use.
What are the 3 tasks that test specification can be broken down into?
Identify - determine ‘what’ is to be tested (identify test conditions) and prioritize
Design - determine ‘how’ the ‘what’ is to be tested (i.e. design test cases)
Build - implement the tests (data, scripts, etc.)
What is retesting?
This is running the same tests over a sample of code after faults have been supposedly fixed.
(Re-running failed tests)