In this blog we will discuss about Black-Box Testing, Integration Testing and System Testing along with it types.
Black Box Testing:
Black box testing is done by the functional testing team where they check whether the functionality of an application is working according to requirement. It is known as black-box since the code is not visible to the test engineer during testing process unlike White-Box Testing where the code is visible to the tester. Here test engineers will test each and every component of the module or modules of an application independently.
Points to remember during Software Testing:
- We should always start with Positive Testing that is testing if the application is working according to it requirement with positive values.
- After this we should perform Negative Testing that checking the behavior of the application when we feed negative values in it.
- Over Testing or Exhaustive testing should be avoided.
- No Assumptions should be taken by the Test Engineer during the testing process. The main goal here is to make sure the application is working according to the requirement. So proper understanding of the requirement is very important.
- No Under Testing–> No components should be left untested even if it is similar to other components.
The toughest challenge for a Quality Assurance Team is to take the decision at what point they should stop the testing process. The simplest answer to this is ‘Maximum Test Coverage’. Testing team should make sure that maximum test coverage is ensured during the testing phase before giving sign-off. This will give more confidence to the testing team to deliver a bug free application in the production environment.
- Integration Testing is checking the flow of data between the modules of an application.
- It is applicable only if the modules are dependent on each other.
- Functional testing is applicable for very module but Integration testing is not applicable.
- Integration testing approach should be module by module so that more clarity exists in testing and we can cover a greater number of scenarios.
Types of Integration Testing:
Integration testing are of two types:
- Incremental Integration Testing
- Non-Incremental Integration Testing or Big Bang Method
Incremental Integration Testing:
We go for this approach whenever there is a clear relationship between the modules. That is dependency between the modules are very clear.
There are two approaches under this:
- Top-Down Approach
- Bottom-Up Approach
Top-Down Approach–> In his case we incrementally add the modules from top to the bottom and test the data flow between the modules in the same order.
Bottom-Up Approach–> In this case we incrementally add the modules from bottom to the top and check the dataflow in the same order.
Non-Incremental Integration Testing:
We go for this approach whenever there is no clear relationship between the modules. Since the relationship is not clear we bang on every module. So the name implies as Big Bang Method.
- System Testing is a process to check end-to-end flow of an application.
- We follow the sequence of Functional Testing (Testing the application at the modules level) followed by Integration Testing (Testing the Data flow between different dependent modules of an application) and finally followed by System Testing where we test the end-to-end flow of an application.
- Systematic approach in testing helps to bring more stability in the application.
That’s it for this blog. Beginners can also try to get themselves ISTQB certified which will be helpful to kickstart their career in software testing .In the next blog we will discuss about Software Build Process. So stay tuned.