Software Testing terms and definitions.
- Efficiency testing
The process of testing to determine the efficiency of a software product - End-to-end Testing
Test activity aimed at proving the correct implementation of a required function at a level where the entire hardware/software chain involved in the execution of the function is available. - Endurance Testing
Checks for memory leaks or other problems that may occur with prolonged execution - Equivalence Class
A portion of a component's input or output domains for which the component's behaviour is assumed to be the same from the component's specification - Equivalence partition Testing
A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes. - Equivalence Partitioning
A test case design technique for a component in which test cases are designed to execute representatives from equivalence classes - Exhaustive Testing
Testing which covers all combinations of input values and preconditions for an element of the software under test - Exploratory Testing
This technique for testing computer software does not require significant advanced planning and is tolerant of limited documentation for the target-of-test. Instead, the technique relies mainly on the skill and knowledge of the tester to guide the testing, and uses an active feedback loop to guide and calibrate the effort. It is also known as ad hoc testing - Failure
The inability of a system or component to perform its required functions within specified performance requirements. A failure is characterized by the observable symptoms of one or more defects that have a root cause in one or more faults. - Fault
An accidental condition that causes the failure of a component in the implementation model to perform its required behavior. A fault is the root cause of one or more defects identified by observing one or more failures. - Fuzz Testing
Fuzz testing is a software testing technique. The basic idea is to attach the inputs of a program to a source of random data. If the program fails (for example, by crashing, or by failing built-in code assertions), then there are defects to correct.The great advantage of fuzz testing is that the test design is extremely simple, and free of preconceptions about system behavior.