06 Testability Flashcards
Developer
A person whose primary responsibility is to write source code
Quality Assurance
To ensure that few, if any, defects remain in the software when it is delievered to its customers or released to the market.
Testing (Operational)
The execution of software and the observation of its behavior or outcome demonstrated using controlled experiments
Testing (Operational) Purpose
To demonstrate quality/ proper behavior.
To detect problems that need to be fixed.
Defects/Bugs Types
Errors
Fault
Failure
Bugs
Error:
A mistake made by a programmer or SE which caused the fault which in turn may cause a failure.
- Conceptual mistake.
- Human misunderstanding
Fault
Condition/Internal characteristic that may cause a failure in the system.
Failure
Inability of the system to perform a function according to its specification due to some fault.
- Deviation from expected behavior
- Something goes wrong at execution.
Relationship of Defects
Errors can cause Faults.
Faults can cause Failures.
Testability
The degree to which a system or component facilitates the establishment of test criteria and the performance of tests to determine whether those criteria have been met.
How hard it is to find faults
Testability is dominated by two practical problems
How to provide the test values to the software
How to observe the results of tese execution.
Testability is linked to our:
Prior experience.
The more testable the software
The greater the chance that somebody will test it
Testability Benefits
If the software is developed so that its behavior can be verified, it’s easy to confirm that it supports a certain features.
Fewer Suprises.
More easily changed (Fear results in duplication of defects)
When a program element is testable, it means
That it can be put in a known state, acted on, and then observed.
Can be done without affecting or interfering any other program elements.