Unit Testing, Integration Testing, System Testing, User Acceptance Testing
Unit Testing
Unit testing is a smallest testable part of a software usually they will give one or two inputs and getting one output. Unit testing conducts on single program or single module. Unit testing is white box testing technique. Unit testing is done by developer.
There are three unit testing techniques :
- Basic path Testing
- Control structure testing
- Mutation testing
In conditional coverage testing two types of testing available which is
Conditional coverage testing
Loop coverage testing
Integration testing :
In integration testing individual software modules are integrated logically and tested as a group.Integration testing mainly focus on checking the data communication amongst these modules. It is done by the developer. Integrated testing is a white box testing technique.
There are two types of approaches in integration testing :
- Top down approach
- Bottom up approach
It is also called I & T testing which is integration testing.
Why we have to do integration testing :
There is a change in required while software module is built. The new build may not be integrated that’s why integration testing is necessary. Sometimes interface of the software module could not be correct.
Approaches methodology/ Strategies of Integration Testing :
1.Stubs & drivers – both are temporary program to test
2.Bottom up integration
3.Top down integration
Stub : It is a module under test
In this method module called stub, Driver calls modules.
Bottom up Integration :
Advantages :
1.Fault localization is easier
2.No time is wasted waiting for all the module to be developed
Disadvantages :
- Critical module on the top which controls the flow of an application.
- Easy prototype not possible
In this method testing will happen from sub module to main module.
Top down integration
Advantages :
- Fault localization is easy
- Critical modules are tested
- Easy prototype is not possible
Disadvantages :
- Need more stubs
- Modules at the lowers levels are tested inadequately
Integration testing procedure :
- Based on test strategies
- Need to prepare integration test plan
- Design the test scenarios, test case, test scripts
- Execute the test case followed by reporting defects
- T racking and retesting the defects
- Steps three and four will repeat until the integration completion is successful
Integration test plan :
1.Approaches to test
2. Scope and out of scope for integration testing
3. Roles and responsibilities
4. Pre requisite for Integration testing
5.Test environment
6. Risk and mitigation paln
System Testing :
It is a black box testing technique.
- Testing the overall functionality of the application with respect to the customer requirement.
- It is a black box testing technique
- Before conducting the system testing we should know the requirement well
- It is done by testing team
- System testing focus on the following aspect to check the flow of the application till the end
- User interface testing (GUI)
- Functional Testing
- Non functional testing
- Usability testing
User Acceptance Testing :
After completion of the system testing UAT team conducts acceptance testing in two levels.
Alpha testing :
It is the application will test in our environment
Beta testing :
Sometimes application will test in the customer environment. It is not staple. Customer may realize the application to the public and make the customers to identify the defects and realize one more version of the application in future.
White box testing :
It is a testing technique to check the internal logic of the program or code and it’s structure. It is also called glass box testing or transparent testing.. Most of the defects can be found in unit, compound and integration level. This test can cover the code, path, branch, conditions.
White box testing technique :
- Code coverage
- Path coverage
- Condition coverage
- Branch coverage
Black box testing :
Testing conducts on the functionality of the application with respect to the customer requirement.
Example : System testing & UAT testing
Grey box testing :
It is a combination of black box and white box testing.
Example is Database testing
Whatever we give in the frontend it is stored in the data base to check the information which is present in he database with the frontend details to execute the SQL command. This is one type. In parallel by giving the valid information in the frontend which is present in the database we also conduct a black box testing. So we here conducting black box testing and white box testing both, these type of testing is called grey box testing.