“Building Strong Basement Weak” - This dialogue is too funny to hear, but if our Software product is developed as such. Just imagine what will be the quality of the product? So “Quality can never be an Accident “. Testing is an essential success factor for the software Quality.
Functional Testing based on Business requirements of the Product. Functional Testing is a Methodology that focuses mainly on the result of Software Processing.
Types of Functional Testing are ,
Unit Testing
Integration Testing
Software Testing
System Testing
User Acceptance Testing
Regression Testing
Smoke Testing
Above list is not static , Levels would get added or lesser based on Product type. Also No one is superior or inferior in the above list. All Test levels aim is to give high Quality deliverebles.
All the types of Functional testing would be performed with respect to Requirements derived from Customer/user requirements. So all different Testing types might not be needed if we test very simple products.
In case of complex products, it would be recommended to perform all Testing types to catch bugs as fast as possible. Because product Development Cost would be less as soon as bugs are identified.
Smoke Testing | Smoke Testing is a Quick test that checks the Basic Functionalities of Product working fine. This Testing is must to perform and Passed before proceeding with a test that would take a long time. Because if basic functions are not working, then Effort , time and cost spent on Long hours testing would get wasted . Also Smoke Testing performed to ensure that basic functions were not affected when we made any change in the software code.
|
Regression Testing | |
Unit Testing | Unit Testing is performed at code level. This is to ensure that each unit of code works as expected. Mostly, unit Testing performed by Developers using automated Tools/compilers.
|
Integration Testing | Integration Testing is to ensure that software works after integrating the required components of code. Each Component of code might work independently , but it might give issues while interacting with other modules of code. So Integration testing will help to find that communication between units runs smoothly.
|
Software Testing | Software Testing is to ensure that complete software modules of code work fine. Software Testing is a Black Box Testing where source code is never seen by the tester. Testing with input and output modules of Software.
|
System Testing | |
User Acceptance Testing | |
Now, we can imagine if a product undergoes all these testing types , how would be a Quality? Yes. Definitely Higher . Each Testing types scope , Deliverables are independent and altogether helps to improve quality of product.
Let us discuss with simple Example of Water Bottle,
Unit Testing | |
Integration Testing | |
System Testing | The capacity of the bottle is okay? The appearance of the bottle is okay? The robustness/quality/ of the bottle is okay? Water can be stored in the bottle? No leakage of liquid items from the bottle? No leakage near the neck/Thread areas near by the bottle?
|
User Acceptance Testing | It is user friendly. Holding or grip is fine. Easily washable No leakage in and around the bottle. It matches with the design which the user expected. Capacity, quality of the product meets. It made by plastic standards
|
In Above Case, Software testing is not applicable for Water Bottle since it doesn't contain any software.
Comments
Post a Comment