Loop Testing
Loops are fundamental to many algorithms. Loops can be categorized as, define loops as simple, concatenated, nested, and unstructured. Loops can be defined in many ways.
To test the loops, following guidelines may be followed:
Simple Loops of size n:
Skip loop entirely
Only one pass through the loop
Two passes through the loop
m passes through loop where m
- (n-1), n, and (n+1) passes through the loop. This helps in testing the boundary of the loops.
- Nested Loops
Start with inner loop. Set all other loops to minimum values.
Conduct simple loop testing on inner loop.
Work outwards and take the next nested loop.
Continue until all loops are tested.
Concatenated Loops
If independent loops, use simple loop testing.
If dependent, treat as nested loops.
Unstructured loops
Don't test - redesign. This is known as poor design.
Black Box Testing
Functional tests examine the observable behavior of software as evidenced by its outputs, without any reference to internal functions. This kind of tests is from the user point of view, which means as if the user is testing as in the normal business functions.
- · Black box tests normally determine the quality of the software. It is an advantage to create the quality criteria from this point of view from the beginning.
· In black box testing, software is subjected to a full range of inputs and the outputs are verified for its correctness. Here, the structure of the program is immaterial.
· Black box testing technique can be applied once unit and integration testing is completed.
· It focuses on functional requirements.
· It is compliment to the white box testing.
The main objective of the black box testing is to find:
incorrect or missing functions
interface errors
errors in data structures or external database access
performance errors
initialization and termination errors.
Some of the techniques used for black box testing are discussed below:
Equivalence Partitioning
The main objective of this method is to partitioning the input so that an optimal input data is selected. Steps to be followed are:
1. Divide the input domain into classes of data for which test cases can be generated.
2. Attempting to uncover classes of errors, if any.
3. Identify the both right and wrong input data while partitioning the data.
4. Test the program for all types of data.
Based on equivalence classes for input conditions.
An equivalence class represents a set of valid or invalid states
An input condition is either a specific numeric value, range of values, a set of related values, or a boolean condition.
Equivalence classes can be defined by:
If an input condition specifies a range or a specific value, one valid and two invalid equivalence classes defined.
If an input condition specifies a boolean or a member of a set, one valid and one invalid equivalence classes defined.
Test cases for each input domain data item developed and executed.
This method uses less number of input data compare to exhaustive testing. However, the data for boundary values are not considered.
This method though reduces significantly the number of input data to be tested, it does not test the combinations of the input data.
RELATED POST
INTEGRATION TESTING PART ONE
INTEGRATION TESTING PART TWO
INTEGRATION TESTING PART THREE
INTEGRATION TESTING PART FOUR
INTEGRATION TESTING PART FIVE
INTEGRATION TEST STANDARDS
INTEGRATION TEST STANDARDS PART TWO
QUALITY TESTING
QUALITY ASSURANCE
QUALITY ASSURANCE PART TWO
QUALITY ASSURANCE SQA
QUALITY OF DESIGN OF TEST CASE
QUALITY MANAGEMENT IN SOFTWARE TESTING
TOOLS FOR QUALITY MANAGEMENT
STATICAL QUALITY ASSURANCE
ISO APPROACH TO QUALITY TESTING
No comments:
Post a Comment