7. SOFTWARE TESTING
Software testing is a process of eliminating the software bugs from an application. It is a state of validating or verifying the software application or a product. It gives a separate view of the software which allows you to understand the risks taken during software implementation. The process of Testing is nothing but finding the errors in an application. It is the major activity during the software development. The program is being executed by using several test cases and using these test cases the output of the program is evaluated to check if the application is working according to the user requirements or not.
Software testing is the most important activity that indicates the final analysis of design and code generation.
Different kinds of Testing Procedures
1. Unit Testing
2. Module testing
3. Subsystem Testing
4. System Testing
5. Integration testing
6. Acceptance Testing
1. Unit Testing:
Unit testing figures out its application on the part of a particular software called module. This testing confirms to verify the software that is developed. Unit testing checks for the detailed design and helps in restoring the errors within the module. Here every single component is being tested to confirm that the application operates properly.
2. Module Testing:
Module is a set of units which is separated and which is used to build a compound structure which is lined with a set of object class and other requirements like functions and procedures.
3. Subsystem Testing:
This stage includes testing of collection of modules which has been joined together into subsystems. Subsystems can be individually designed and operated. If the subsystem interface is mismatched there occurs a huge problem in the huge software systems.
4. System Testing:
The subsystems are combined to produce the integrated system. The testing process is all about looking for errors which results from unexpected communication between the system components and the subsystems.
5. Integration Testing:
The Top Down union starts with the main routines and the instant subordinate routines in the system structure. Top Down union testing provides various advantages.
• System union is assigned all through the implementation phase.
• Modules are combined as they are developed.
• First and most often top level interfaces are tested.
• The top level technique provides a familiar test for lower level tech.
Sometimes it is mandatory to test few crucial low level modules first.
6. Acceptance Testing:
This is the final phase of the testing process before the system is being tested for operational use. Acceptance testing may report errors in the system requirement definition because the original data studies the system from different stages from the test data. Acceptance testing may also report in the requirement issues where the facility of the system does not match the user requirements else system performance is improper.
Validation is a process of testing application over wrong kind of inputs. When a wrong input is given by the user it informs the user to give the proper inputs, validation is required. Validation is always tested over the wrong kind of inputs.
Black Box Testing
In this testing there are few test cases that are being accomplished as input conditions that completely execute the functional requirements of the application that is being developed. Using this testing the errors can be identified in the following cases:
• Missing or incorrect functions.
• Errors occurred in the interface.
• Errors which occurred while accessing the database.
• Initializing and terminating errors.
White Box Testing
Here the test cases are executed based on the logic of each module and the logical operations are tested on each case.
Generating the test cases is used in the following:
• Assuring that all the individual paths are being executed.
• All the logical decisions are tested based on Boolean operations.
• To ensure the validity we need to execute the internal Data Structures.
7.2 TEST CASES
A test case is nothing but the set of data which is given as input and the expected results which give information about the errors occurred. The test cases are of two kinds. The Positive Test Case and a Negative Test Case. In the Positive test case the developer has to receive the expected result. In the Negative test case the developer should not receive the expected result.
The test plan starts with the process of Testing. This test plan establishes all the related testing activities that have to be performed and defines the schedules, shares the resources and specifies the testing guidelines. During testing the detailed test cases are completed and the expected result is compared with the actual result. The final outcome of the testing stage is the error report and the test report.
The main objective here is to test the various functional requirements which is specified in the Software Requirement Specification.
The test reports provide information about the data being entered in the forms with the specified test cases and to check whether the forms are working properly.