Unit Testing: It is defined as the first level of testing in which soon after the unit (smaller part of project/ sub module) is developed; it will be tested for its perfection. If it is working properly as per the design.
Module Testing: It is another level of testing in which once all the sub modules or units are developed to form a module, it will be checked for its perfection, if it is as per requirements.
Module testing belongs to black box testing because at this level usually GUI is made available on which the functionality can be seen and tested hence it is always done by test engineers.
Integration Testing: It is another important level of testing in which soon after the individual modules are developed, tested are brought together to make an application or part of an application. If one performs testing on these integrated modules, it is known as integration testing.
The purpose of integration testing:
To test the individual modules, if their right functionality is affected due to integration.
The net functionality of the integrated modules is to be tested.
To check if the data is flowing among the modules as per DFD’s.
To check the navigation at high level, if it is as per the design.
Integration Approaches:
Integration approach is a process, which defines how the modules are integrated with each other. Based on this criterion there are basically three types of approaches:
1. Top down Approach
2. Bottom up Approach
3. Sandwich Approach
1. Top down Approach: This approach is usually proposed whenever the customer does not interfere and the sequence of development is not affected. In this approach as and when the child modules are developed, they are integrated with the parents, hence the direction of integration is from top to bottom, and hence it is top-bottom approach.
In this approach, there is every possibility that some of the child modules are missing (not yet developed) causing hindrance for the integration among the rest of module. In order to get along with the situation the temporary dummy program is employed in the place of missing child module to make the integration success is known as “STUB”.
2. Bottom-Up Approach: This approach is proposed whenever customer
Interferes in the beginning and changes the sequence of development. In this approach of integration as and when the parents are developed these get integrated with the child modules. In this process there is every possibility that parents are missing, causing hindrance to integration and as usual a temporary dummy program is used as a solution known as “DRIVER”.
3. Sand witch approach: This approach is proposed whenever the customer
Interfere in between the development process. It is basically a combination of top down and bottom up approach hence both the stubs and drivers are seen in this approach.
System Testing: It is another crucial level of testing in which once the application is developed and deployed into the customers specified and simulated environment to prepare the complete system. If one performs testing on entire system to check if the application is functioning as per the requirements, it is known as system testing.
System testing can be considered as full fledged testing as it covers GUI testing, functional testing (positive and negative), performance testing, load testing, and stress testing.
User Acceptance Testing: It is defined as final level of testing in which, the Application is tested in the presence of customer/customer’s representative in order to check, if the users acceptance criteria is justified or not.
The user acceptance testing belongs to black box testing and it is done by either test engineer or customer him self.
Load Testing: It is defined as a type of testing that will be done under system Testing in which the sequential load is performed on the application with a constant increment, in order to determine the load baring capacity of the application.
Performance Testing: It is defined as a type of testing that will be done under system Testing in which set of pre defined end to end transactions are performed on the application to determine the respective response times and to conclude if the performance of the application is ok, depends on, if the actual response times are well with in the expected response times. Hence
performance means “the time factor” i.e., the response time.
Stress Testing: It is defined as the type of testing in which abnormal actions, Beyond capacity and more volumes of data related operations are performed on the application by multiple users. In order to check if the application is stable in spite of the abnormal behavior and stress on the application. Hence stress means to find stability.
Friday, April 25, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment