A process of finding or identifying defects in software is called software testing. It verify the functionality (behavior) of the application(software) against requirements specification. It is also a process of execution of the software with the intention of finding defects. It check's whether the software works according to the requirements.
Software Testing Methods
There are 3 types of software testing methods, namely:
1) White box testing also called unit testing or structural testing or glass box testing or transparent testing or open-box testing.
2) Black box testing also called as functional testing or behavioral testing.
3) Grey box testing
WHITE BOX TESTING (WBT)
Entire WBT is done by developers where they verify each and every line of code before submitting the software to the Testing team.The Testing team performs the black box testing and verifies the software against the requirement and if they finds any defect or bug they sends it to the developer. The developer fixes the bug and perform a round of WBT and sends it to the Testing team again.This process continues until the software becomes defect free.
WBT consists of the following tests :
Verifying all the independent paths of the program which represents the flow of the application and how each program is interlinked with one another.
Test all the logical conditions for both true and false values i.e, we check for both if and else condition
If( condition) - true
Else - false
the program should work correctly for both conditions i.e, if condition is true, then else should be false and vice-versa.
Testing the loops condition and verifying terminating condition for all the cycles is working properly.
BLACK BOX TESTING
It is verifying the functionality or behavior against requirement specifications.
Types of Black Box Testing:
Also called component testing. Testing each and every component thoroughly or rigorously against requirement specifications is known as functional testing.
Testing the data flow or interface between two features is known as integration testing.
We first do functional testing for all the text fields and each and every feature. Then we do integration testing for the related features.
It is end-to-end testing wherein testing environment is similar to the production environment. System testing generally combines multiple features into an end-to-end process or scenario.
Whenever a new build is deployed in, we always perform smoke testing because there might be some changes which can affect the major functionality of the software.
For smoke testing we always do positive testing i.e, we enter only valid data and not invalid data.
Grey box testing
It is the combination of White box and Black box Testing.
In the Gray box testing tester usually has knowledge of limited access of code and based on this knowledge the test cases are designed and the software application under test treat as a black box & tester test the application from outside.
Grey box testing approach can be used when tester have some knowledge of internal structure but do not have in detailed knowledge.