![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | |
| By N2H | ||||||||||||||||||||||
System Testing
November 1, 2007
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting and have a nice day!
TESTING
Verification and validation ensure that the program conforms to its specification and meet the needs of the software customer.
Verification ask the question “Are we building the product right?” It checks that the program conforms to its specification. Static techniques or static verification is concerned with the analysis and checking of system representation such as the requirements document, design diagrams and program source code.
Validation asks the question “Are we building the right product”. Validation involves checking that the program as implemented meets the expectations of the software customer. Requirements validation techniques such as prototyping help in this respect.
Static techniques used in verification include program inspections, analysis and formal verification. Static techniques can only check the correspondence between a program and its’ specification.
Alpha Testing is acceptance testing of bespoke software i.e. the customized software is taken to the clients who together with the developer agree that the final system is an acceptable implementation of the system requirements.
Beta testing happens when the software is in the open market for anyone to buy e.g. Microsoft products. Usually the developer takes it to a number of potential customers who agree to use the system and report any errors of defects to the developer. The system is then modified and suspected to further beta testing or for general sale.
Cluster testing is testing of group of classes in object oriented system which act in combination to provide a set of services.
TESTING
There are various ways of testing a system or modules, these are:
Incremental Testing
In this approach we test a module by itself and then immediately add on to it another module and test them. This process is carried out for each module. Incremental testing approach is in 3ways.
Top down incremental testing
We start with the president module and simulate the vice-president modules with dummy modules i.e. stub. Then we test the president, when we are sure the president works, we replace the dummy vice-president modules with real modules and we continue simulating the subordinates with stubs.
Bottom-Up Approach
Begins with the lowest modules and dummy modules (i.e. drivers or test harness) simulate the supervisor module and we thus test and replace the dummy modules with real modules after satisfying that they work properly.
Sandwich Testing Approach
This approach starts with one team at the top of the structure chart testing downwards while the other starts at the bottom going up.
Application of the Approaches
Top down approach tests the upper level interfaces repeatedly it is best used if upper level modules have complicated logic patterns and the bottom level i.e. input and output is straight forward.
Bottom up approach tests the lower level interfaces repeatedly it is best used if the lower level module of a complex database has serious problems where Input/Output
Test data
We should try to devise test data that will test every possible area and decisions, the loops, if and case constructs.
A normal path test employs data that are considered to be valid for the given decision. It should usually test areas in upper boundary, lower boundary and somewhere in between the boundaries.
An Exceptional test path Utilizes values that are not valid for a given decision, we test the upper, lower boundaries and invalid values.
The entire set of test data should be run every time a module is added to the system. Comparing the results of each successive test to make sure that the results have not been altered is called regression testing. Automated regression testers (ART) is a type of automated software tool that help us create test data, run tests and compare results.
System integration test: this test tries to express any defects that the system may have before handing it over to the user.
Acceptance testing: It establishes that all functions promised in the acceptance criteria of the problem specification have been delivered.
Comments
Got something to say?
























