DEV Community

Bindhu Ashokan
Bindhu Ashokan

Posted on

Common Manual Testing Techniques and The Future of Manual Testing in the age of AI

Introduction
Software testing is a process of checking whether a software application working correctly or not Testers check the application to find bugs before it is used by real users. Manual testing is a type of software testing where testers check the application manually without using any automation tools. In this approach, a tester plays the role of an end user and checks whether the application behaves as expected. The blog explores common manual testing types and techniques, explains Boundary value Analysis and Decision Table Testing in detail and discusses how manual testing is evolving in the modern AI-driven
software industry.

Manual Testing Techniques
Manual testing techniques are structured methods used to design and execute test cases effectively. Unlike testing type, which define what to test, techniques focus on how to test. It has Three types White Box Testing (WBT), Black Box Testing (BBT) and Gray Box Testing (GBT)

1. White Box Testing (WBT)
The tester has full knowledge of internal works including the source code, data structures and algorithms it is also called as Glass testing, Unit testing.
Techniques
1. Branch Coverage
2. Path Coverage
3. Statement Coverage
4. Cyclometric Complexity

2. Black Box Testing (BBT)
The tester has no knowledge of the software internal structure, design or code. The focus is purely on the inputs and outputs.

Example
Testing a login form by entering various valid and invalid username and password to see the system correctly grant or denies access.

Type of black box testing
1. Functional testing
2. Nonfunctional testing

1. Functional testing
Functional testing verifies what a software system does by testing its specific features and operations against the specified requirements.

2. Nonfunctional testing
Nonfunctional testing verifies how the system performs those functions, focusing on quality attributes like speed, security and usability. Both are essential for delivering a high quality.

3. Gray Box Testing
It is a combination of White box testing and Black box testing that mean we have partial access for the code and full access for the UI.

Boundary Value Analysis (BVA)

Boundary Value Analysis focuses on testing values at the edges of input ranges, because most errors happen at boundaries. The Main advantage of BVA is its effectiveness in identifying boundary-related issues. By focusing on these critical points, testers can provide comprehensive test coverage for values that are statistically more likely to cause errors. This targeted approach is also cost-effective, as it efficiently uncovers significant defects. BVA remains a vital component of a robust testing strategy, ensuring software reliability and quality.

Formula n-1, n, n+1

Example:
Condition: User can enter age between 18 and 60

Minimum=18
Input age: 17 18 19

Maximum=60
Input age: 59 60 61

Boundary Valid Value: 18 19 59 60
Boundary Invalid Value: 17 61

Decision Table Testing
Decision table testing is a software testing technique used to test system behaviors for different combinations of inputs and their corresponding output using a tabular format. this is systematic approach. When the system has complex business rule, then the decision table testing technique helps in identifying the correct test cases.
The advantages of this approach are significant. It provides complete test coverage of all input combinations, minimizing the risk of overlooked scenarios. Moreover, it simplifies the identification of missing or conflicting business rules, enhancing the overall quality of the software specification. For large systems with numerous inputs and rules, the complexity of the table can become overwhelming. The process of creating and executing these tables can be time-consuming. Decision Table Testing proves to be an invaluable tool for ensuring software reliability and accuracy in complex environments.

Example:
Create a Login screen
Let's make a login screen with a decision table. A login screen with user id and password, Input boxes and submit button.
If Username and Password is correct the user will be redirected to the homepage, If the input is wrong error message will be displayed.

Future of Manual Testing using AI

AI Software Testing involves integrating artificial intelligence and machine learning algorithms into the software testing process. It provides more accurate results and saves time. In the market, variety of AI tools are available to enhance Manual Testing. These AI tools are revolutionizing four main functions of software testing like test case preparation, test data generation, predicting defects and analyzing results.

Test Case Preparation

AI can analyze user behavior, application descriptions, historical data to automatically generate test cases, focusing on critical areas and prioritizing high risk scenarios. AI can interpret natural language descriptions using NLP (Natural Language Processing) of testcases and it can automatically translate them into executable test scripts.

Test Data generation
AI can create test data that closely resembles real user inputs enhancing the quality of testing

Test Execution
AI can prioritize critical test cases, saving time and resources by executing only essential test cases. It can facilitate parallel execution across multiple environments, reducing execution time. It eliminates repetitive tests.

Debugging
AI can easily identify unusual patterns in application behavior, helping human tester to find potential issues and bugs. AI can also help identify areas where defects are more likely to occur so that testers focus their efforts on the most vulnerable part of application. AI can also analyze system logs and other data to help identify the root cause of the defects.

Top comments (0)