Manual testing is a software testing process in which test cases are executed manually without using any automated tool. All test cases executed by the tester manually according to the end user’s perspective. It ensures whether the application is working, as mentioned in the requirement document or not.
Test cases are planned and implemented to complete almost 100 percent of the software application. Test case reports are also generated manually.
Manual Testing is one of the most fundamental testing processes as it can find both visible and hidden defects of the software. The difference between expected output and output, given by the software, is defined as a defect. The developer fixed the defects and handed it to the tester for retesting.
White Box Testing
White Box Testing (also known as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing, or Structural Testing) is a software testing method in which the internal structure/ design/ implementation of the item being tested is known to the tester.
During White Box Testing, the tester chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming know-how and the implementation of knowledge is essential. White box testing is testing beyond the user interface and into the nitty-gritty of a system. This method is named so because the software program, in the eyes of the tester, is like a white/transparent box; inside which one clearly sees.
Advantages of White Box Testing
- Testing can be commenced at an earlier stage. One need not wait for the GUI to be available.
- Testing is more thorough, with the possibility of covering most paths.
Disadvantages of White Box Testing
- Since tests can be very complex, highly skilled resources are required, with a thorough knowledge of programming and implementation.
- Test script maintenance can be a burden if the implementation changes too frequently.
- Since this method of testing is closely tied to the application being tested, tools to cater to every kind of implementation/platform may not be readily available.
Black Box Testing
BLACK BOX TESTING, also known as Behavioral Testing, is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.
This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see. This method attempts to find errors in the following categories:
- Incorrect or missing functions
- Interface errors
- Errors in data structures or external database access
- Behavior or performance errors
- Initialization and termination errors
Advantages of Black Box Testing
- Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications.
- Tester need not know programming languages or how the software has been implemented.
- Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias.
- Test cases can be designed as soon as the specifications are complete.
Disadvantages of Black Box Testing
- Only a small number of possible inputs can be tested and many program paths will be left untested.
- Without clear specifications, which is the situation in many projects, test cases will be difficult to design.
- Tests can be redundant if the software designer/developer has already run a test case.
Gray Box Testing
GRAY BOX TESTING is a software testing method that is a combination of the Black Box Testing method and the White Box Testing method. In Black Box Testing, the internal structure of the item being tested is unknown to the tester and in White Box Testing the internal structure is known. In Gray Box Testing, the internal structure is partially known.
Gray Box Testing involves having access to internal data structures and algorithms for purposes of designing the test cases, but testing at the user, or black-box level. Gray Box Testing is named so because the software program, in the eyes of the tester is like a gray/semi-transparent box; inside which one can partially see.
White Box Testing vs Black Box Testing vs Gray Box Testing
|Index||Black Box Testing||White Box Testing||Grey Box Testing|
|1||Knowledge of internal working structure (Code) is not required for this type of testing. Only GUI (Graphical User Interface) is required for test cases.||Knowledge of internal working structure (Coding of software) is necessarily required for this type of testing.||Partially Knowledge of the internal working structure is required.|
|2||Black Box Testing is also known as functional testing, data-driven testing, and closed box testing.||White Box Testing is also known as structural testing, clear box testing, code-based testing, and transparent testing.||Grey Box Testing is also known as translucent testing as the tester has limited knowledge of coding.|
|3||The approach towards testing includes trial techniques and error guessing method because tester does not need knowledge of internal coding of the software.||White Box Testing is proceeded by verifying the system boundaries and data domains inherent in the software as there is no lack of internal coding knowledge.||If the tester has knowledge of coding, then it is proceeded by validating data domains and internal system boundaries of the software.|
|4||The testing space of tables for inputs (inputs to be used for creating test cases) is pretty huge and largest among all testing spaces.||The testing space of tables for inputs (inputs to be used for creating test cases) is less as compared to Black Box testing.||The testing space of tables for inputs (inputs to be used for creating test cases) is smaller than Black Box and White Box testing.|
|5||It is very difficult to discover hidden errors of the software because errors can be due to internal working which is unknown for Black Box testing.||It is simple to discover hidden errors because it can be due to internal working which is deeply explored in White Box testing.||Difficult to discover the hidden error. Might be found in user level testing.|
|6||It is not considered for algorithm testing.||It is well suitable and recommended for algorithm testing.||It is not considered for algorithm testing.|
|7||Time consumption in Black Box testing depends upon the availability of the functional specifications.||White Box testing takes a long time to design test cases due to lengthy code.||Test cases designing can be done in a short time period.|
|8||Tester, developer and the end user can be the part of testing.||Only tester and developer can be a part of testing; the end user can not involve.||Tester, developer and the end user can be the part of testing.|
|9||It is the least time-consuming process among all the testing processes.||The entire testing process is the most time consuming among all the testing processes.||less time consuming than White Box testing.|
|10||Resilience and security against viral attacks are covered under Black Box testing.||Resilience and security against viral attacks are not covered under White Box testing.||Resilience and security against viral attacks are not covered under Grey Box testing.|
|11||The base of this testing is external expectations internal behavior is unknown.||The base of this testing is coding which is responsible for internal working.||Testing based on high-level database diagrams and dataflow diagrams.|
|12||It is less exhaustive than White Box and Grey Box testing methods.||It is most exhaustive between Black Box and Grey Box testing methods.||Partly exhaustive; depends upon the type of test cases are coding based or GUI based.|