Friday 18 September 2015

Types of Functional Testing

1. Build Verification Testing (BVT)
2. Smoke Testing
3. Sanity Testing
4. Component Testing
5. Integration Testing
6. System Testing
7. System Integration Testing
8. User Acceptance Testing (UAT)
9. Alpha Testing
10. Beta Testing
11. Re-Testing
12. Regression Testing

Build Verification Testing (BVT) / Smoke Testing


Build Verification test is a set of tests run on every new build to verify that build is testable before it is released to test team for further testing. These test cases are core functionality test cases that ensure application is stable and can be tested thoroughly. Typically BVT process is automated. If BVT fails that build is again get assigned to developer for fix.
BVT is also called smoke testing or build acceptance testing (BAT)
Sanity Testing
A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep. Sanity test is used to determine a small section of the application is still working after a minor change.
Once a new build is obtained with minor revisions, instead of doing a through regression, sanity is performed so as to ascertain the build has indeed rectified the issues and no further issue has been introduced by the fixes.
Component / Module Testing:
The testing of individual Software Components/Modules.E.g.: If application has 3 modules ADD/EDIT/DELETE then testing of each module individually is called as Component Testing.
Integration Testing:
Testing of combined modules of an application to determine whether they are functionally working correctly. The ‘parts’ can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
Types of Integration Testing:
1. Big Bang: In this approach, all or most of the developed modules are coupled together to forms a complete software system or major part of the system and then used for integration testing. The Big Bang method is very effective for saving time in the integration testing process. However, if the test cases and their results are not recorded properly, the entire integration process will be more complicated and may prevent the testing team from achieving the goal of integration testing.
2. Bottom up Testing: This is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components. The process is repeated until the component at the top of the hierarchy is tested.
All the bottom or low-level modules, procedures or functions are integrated and then tested. After the integration testing of lower level integrated modules, the next level of modules will be formed and can be used for integration testing. This approach is helpful only when all or most of the modules of the same development level are ready. This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage.
3. Top down Testing: This is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.
4. Sandwich Testing: This is an approach to combine top down testing with bottom up testing.
The main advantage of the Bottom-Up approach is that bugs are more easily found. With Top-Down, it is easier to find a missing branch link.
System Testing:
System Testing tends to affirm the end-to-end quality of the entire system. It is a process of performing a variety of tests on a system to explore functionality or to identify problems. System Testing is a level of the software testing process where a complete, integrated system/software is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements. Non-functional quality attributes, such as reliability, security and compatibility are also checked in system testing.
Example - During the process of manufacturing a ballpoint pen, the cap, the body, the tail, the ink cartridge and the ballpoint are produced separately and unit tested separately. When two or more units are ready, they are assembled and Integration Testing is performed. When the complete pen is integrated, System Testing is performed
System Integration Testing:
System Integration testing verifies that a system is integrated to any external or third party systems defined in the system requirements.
User Acceptance Testing (UAT):
Final testing based on specifications of the end-user or customer, or based on use by end-users/customers over some limited period of time. UAT is a process to obtain confirmation that a system meets mutually agreed-upon requirements.
User Acceptance Testing (UAT) is a process to obtain confirmation that a system meets mutually agreed-upon requirements
Alpha Testing:
Alpha Testing is done by users/customers or an independent Test Team at the developers' site.
OR
Alpha Testing: Testing a new product in pre-release internally before testing it with outside users.
Beta Testing
The testing conducted by end user at client place.
OR
In this type of testing, the software is distributed as a beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.
Re-Testing:
In Re-Testing we test only particular functionality (which was failed during testing) that is working properly or not after change is made. In this we did not test all functionality.
Regression Testing:
The intent of regression testing is to provide a general assurance that no additional errors were introduced in the process of fixing other defects.
OR
Regression Testing means to test the entire application to ensure that the fixing of bug will be affecting anywhere else in the application.

1 comment:

  1. Hello,
    The Article on Types of Functional Testing is informative.. It gives detailed information about it. Thanks for Sharing the information about the Functional testing For More information check the detail on Functional testing and the types check, Software Testing Company

    ReplyDelete