What are the 4 levels of software testing?
Describe a unit test.
This test individuals using mostly white box methods with black box methods being used at interfaces. This test may require software scaffolding such as stubs and drivers.
Describe an integration test
Should be incremental and focus on critical modules or paths first.
What are options for incremental integration testing?
Describe a validation test
It is a test built from software requirements using black box testing. It can consist of both an Alpha and a Beta phase.
Describe a system test
A system test includes hardware and software
List 4 types of system tests:
What is white box testing?
It is usually used at lower levels of testing (unit level) otherwise complete path testing is impossible. A subset of cases is chosen with a high probability of detecting defects. A white box test has coverage metrics.
Give 4 examples of coverage metrics.
What are the 3 things required for a defect to be tested?
-Defect must be present
-Statement containing the defect must be executed
-The state of the computation must cause the defect to manifest itself
True or false every statement MUST be executed in a test?
True or false a program needs 4 tests to ensure that every statement is covered.
False it requires a true and false outcome so only 2 are required but as many as 4 may be required for a branch outcome.
What is black box testing?
Black box testing is used for interface requirements and ignores program logic treating it as a black box. Test cases consist of legal and illegal input values and states. The program is set to all possible input values and initial states. A subset of test cases is chosen because a full set would be intractable.
What is an equivalence class?
It is a class such that if an error is detected all other cases in the class should have the same error.
How are equivalence classes identified?
-Analyze external conditions
-Identify valid conditions (those that should not produce errors)
-Identify invalid conditions (those that should prodcue errors)
What are equivalence class guidelines?
-For a range of values choose one valid and two invalid (one above and below the range)
-For a number of items choose one valid (correct number) and two invalid (too many or too few)
-For a set of values identify an equivalence class for each element in the set
-For a condition that specifies a must be situation choose one valid and one invalid class
How do you identify test cases?
-Incorporate as many valid equivalence classes as possible into one test case to minimize the number of valid test cases.
-There should be only one test case for each invalid equivalence class because certain erroneous-input checks may mask or supersede others
How is a boundary value analysis accomplished?
-Select values from an equivalence class so that each edge of the equivalence class is the subject of a test.
Given a range give boundary values that should be selected for a boundary value analysis.
-one less than the minimum value
-one more than the maximum value
True or false error guessing is a valid testing scenario?
True, this is for cases that aren't covered by other methods and don't relate to requirements. Sometimes it is based on intuition and is often considered idiot proofing.