DEV Community

GOKUL SRINIVASAN
GOKUL SRINIVASAN

Posted on

Common Manual Testing Technique

Software testing is a critical phase in the software development lifecycle, ensuring that the application functions as expected before it is delivered to the end user. Among the various approaches available, manual testing techniques remain fundamental to producing reliable and high quality software. The three most commonly used manual testing techniques are Black Box Testing, White Box Testing, and Experience Based Testing. Each of these techniques serves a distinct purpose and is applied at different stages of the testing process.

Black Box Testing

The first technique is Black Box Testing. As the name suggests, the tester has no knowledge of the internal code. They interact with the application through the console or UI by providing inputs and then validating the scenario based on the output received. This technique focuses entirely on the functional behavior of the application, making it highly effective for validating whether the system meets the specified requirements. Since the tester approaches the application from the perspective of an end user, it helps uncover defects that may impact the overall user experience.

Black box testing is further divided into the following sub-techniques:

  • Equivalence Partitioning — The input data is divided into partitions, where a single representative input from each group is used to test the scenario. This approach reduces the number of test cases required while still ensuring adequate coverage. By grouping similar inputs together and testing one from each group, testers can efficiently identify whether the application handles different categories of input correctly without the need to test every possible value.

  • Boundary Value Analysis — This technique is applied when functionality depends on a range of values. The tester validates the behavior at the start and end values of each range to ensure the boundary conditions are handled correctly. Defects in software are most commonly found at the edges of input ranges rather than at the center, making this technique particularly effective. By focusing on the minimum and maximum values of each range, testers can identify issues that may not be caught through general input testing.

  • Decision Table Technique — All business rules are listed out in a structured table, and each rule is systematically checked and validated against the defined business logic. This technique is especially useful when the application involves complex business rules with multiple conditions and corresponding actions. The decision table provides a clear and organized way to ensure that every possible combination of conditions has been accounted for and tested thoroughly.

White Box Testing

The second technique is White Box Testing. In this approach, the tester has full knowledge of the internal code and all the logic implemented within it. Unlike black box testing, this technique requires the tester to have a strong understanding of programming and system architecture. It focuses on the internal workings of the application, ensuring that the code is structured correctly and that all logical paths function as intended. It is further divided into the following sub-techniques:

  • Statement Coverage — The tester ensures that every statement within the code is executed at least once during testing. This is considered the most basic form of white box testing and serves as a foundation for ensuring that no part of the code is left untested. By achieving full statement coverage, testers can identify dead code or unreachable statements that may indicate a logic error.

  • Branch Coverage — Where multiple conditions exist within the code, the tester provides inputs that navigate through both the true and false outcomes, ensuring that all branches of the code are covered. This is a more thorough approach than statement coverage, as it accounts for every possible decision point within the code. Ensuring full branch coverage helps identify scenarios where certain conditions may not be handled correctly by the application.

  • Path Coverage — The tester ensures that every possible path through the code has been executed and thoroughly tested. This is the most comprehensive form of white box testing, as it considers every combination of branches and conditions within the code. While achieving full path coverage can be time consuming, it provides the highest level of assurance that the code is functioning correctly under all possible scenarios.

Experience Based Testing

The third technique is Experience Based Testing. This approach relies on the tester's knowledge and expertise accumulated over years of working in the field. Unlike black box and white box testing, this technique does not follow a strictly defined process. Instead, it leverages the tester's intuition, domain knowledge, and understanding of common defect patterns to guide the testing effort. It consists of three methods:

  • Exploratory Testing — Within a defined time frame, the tester freely explores all functionalities of the application, examining them in an unscripted and investigative manner. This method encourages creative thinking and allows the tester to simultaneously design and execute test cases based on what they discover during the session. It is particularly effective in the early stages of testing or when documentation is limited, as it does not rely on predefined test cases.

  • Error Guessing — This method is driven purely by the tester's experience from previous releases. The tester draws on their understanding of areas where developers are likely to introduce mistakes and identifies functionalities that have historically been prone to defects, using this insight to guide their testing. While it may appear informal, error guessing can be highly effective when carried out by an experienced tester who has a deep understanding of the application and its development history.

  • Checklist Based Testing — A structured checklist is prepared covering all key functionalities, and the tester methodically follows this checklist to ensure that every item is validated. This method strikes a balance between structure and flexibility, providing the tester with a clear set of items to verify while still allowing room for judgment during execution. Checklists are often built up over time based on past testing experiences and known problem areas, making them a valuable resource for ensuring consistent test coverage.

*Manual Testing is being transformed in the ages of AI *

With the rise of AI, many question whether manual testing is still relevant. AI can generate test cases, execute repetitive scenarios, and identify defects faster. However, manual testing remains indispensable in areas such as exploratory testing, user experience validation, and complex business scenario testing, where human judgment and intuition are essential. Experienced testers bring contextual understanding that AI cannot fully replicate. Rather than replacing manual testers, AI serves as a complement, handling repetitive tasks while testers focus on areas requiring critical thinking. Together, they ensure the delivery of high quality software.

Top comments (0)