Design of Test Cases
* Undetectable errors are infinite in quantity and
variety, in contrast to detectable errors, which by definition are limited
Although structured coding techniques and coding
standards improve the clarity and enable enhancement of the end product but it wont
be wise to assume that the application will always be perfect, i.e., free from any error
or bugs. A bug may be there in the application because of incorrect requirement
specification, improper design, or because of coding errors. So proper testing of the
application should be carried out to enhance the quality and productivity of the
application.
* There is still one more bug left in your program
Few points to be remembered during testing are:
testing should be carried out with a purpose of
finding errors rather than to determine what is correct
extreme cases should be considered
good test cases should be used
line by line code walkthrough and inspection
should be carried out
checking number of actual and formal arguments of
a function to be in agreement
unnecessary code should be removed
proper validation of the fields should be carried
out
testing should be carried out in structured manner
starting from the testing of each module to that of the testing of the GUI
testing and validation are recursive processes and
should be carried out at all phases of the software development
the testing team should be preferably different
from that of the coding team as it is easy to find others errors than ones own
* Test to find an error rather than to determine what
is correct
There are basically four types of tests, which need
to be performed on an application to ensure its productivity and applicability. These are
as follows:
Functional test: Functional test cases
specify operating conditions, typical input values and typical expected results. Function
tests also test behavior just inside, on, and just beyond the functional boundaries.
Performance test: Performance tests are
designed to verify response time under varying loads, percent of execution time spent in
various segments of the program, throughput, primary and secondary memory utilization.
Stress test: These are designed to overload
a system in various ways. Example of stress test include processing more than the allowed
number of identifiers or static levels, or disconnecting a communication link.
Structure test: These are concerned with
examining the internal processing logic of a software system. All the routines called and
all the paths traveled should be checked properly.
* A successful test is one which find errors
Before the actual implementation is done by the
programmer the programmer should be provided a set of test cases so that he can take care
of it. This actually ensures that the minimal common bugs are taken care during the
implementation itself.
The designer should give a numbered list of test
cases for each Form and Report as follows:
Test Case # |
Test |
Expected Response |
| 1. frmPassword : Login Form |
1.1 |
Enter a zero length
password |
Should not be accepted |
1.2 |
Enter a password that
is 25 characters long |
Should not be accepted |
2. frmChangePwd :
Change Password |
2.1 |
When asked for new
password, enter the old password. |
Should not be accepted. |
|