DEV Community

Sakshi Nitnaware
Sakshi Nitnaware

Posted on

Manual testing techniques and its scope in the age of AI

Common Manual Testing Techniques
Manual testing is essential for identifying issues that automated tests might miss. Below are some widely used manual testing techniques.

1. Functional Testing
This involves validating that each function of the software operates according to requirements given by the customer.
The Purpose of Functional Testing is to ensure the application behaves as expected.

This Process involves:
• Identify input conditions.
• Execute test cases.
• Compare actual output with expected results.

Example:
Testing a login form:
• Enter valid credentials: Verify successful login.
• Enter invalid credentials: Verify error message.
• Enter no credentials: Verify error message.

2. User Testing
User testing ensures the application is user-friendly and meets user expectations.
The Purpose of User Testing is to improve the application’s design and usability.

This Process involves:
• Observe users interacting with the application.
• Collect feedback.
• Refine based on findings.

Example:
Testing an e-commerce site:
• Ask users to locate and purchase a product of their choice.
• Ask users to locate the wishlist and purchase a product.
• Assess ease of navigation and clarity of the checkout process.

3. Performance Testing
This technique evaluates how the application performs under different conditions, such as varying loads or limited resources.
The Purpose of The Purpose of Performance Testing is to identify bottlenecks and ensure stability under expected usage.

This Process involves:
• Simulate multiple users.
• Measure response times, scalability and system behavior.
• Analyze performance under stress.

Example:
Manually testing a chat application:
• Open multiple chat sessions simultaneously.
• Observe response times and app stability.
• Observe the upload and download speed of documents and images.

________________________________________________________________________________________

Boundary Value Analysis (BVA) Testing Technique

Boundary Value Analysis (BVA) is a black-box testing technique used to identify errors at the boundaries of input ranges. This method assumes that defects are more likely to occur at the edges of the input domain rather than the center.
The Purpose is to check boundary conditions and verify the system's behavior at the extreme limits of input value such as maximum and minimum.

How It Works:
BVA involves testing the values at:
1. The lower boundary (just below, at, and above the minimum
value = min-1, min, min+1).
2. The upper boundary (just below, at, and above the maximum
value = max -1, max, max+1).

_Steps to follow in B_VA:
1. Identify the input range for the system (e.g., 1 to 100).
2. Determine test cases at the boundaries:
• Lower boundary: min-1, min, min+1.
• Upper boundary: max -1, max, max+1.
3. Execute test cases and verify outcomes.

Example:
Testing a string field that accepts character between 1 and 100.
• Valid Boundary Cases: Minimum (1), Maximum (100),
Minimum+1(2), Maximum-1(99)
• Invalid Boundary Cases: Just outside the boundaries: 0 and
101.

Test     Case        Input       Expected Result
1        0            Error          out of range
2        1            Success        valid input
3        2            Success        valid input
4        99           Success        valid input
5        100          Success        valid input
6        101          Error          out of range
Enter fullscreen mode Exit fullscreen mode

Diagram For Boundary Value Analysis
________________________________________________________________________________________

Boundary Value Analysis

________________________________________________________________________________________

Advantages of BVA:
1. Simplifies test case design by focusing on critical values.
2. Increases the likelihood of uncovering boundary-related
defects.
3. Complements other techniques like equivalence partitioning.
Boundary Value Analysis ensures robust testing at the most
error-prone areas, delivering a reliable software product.

________________________________________________________________________________________

Decision Table Testing Technique

Decision Table Testing is a black-box testing technique used to test complex business logic. It helps identify the outcomes for different input combinations and ensures that all decision rules are covered. This technique is particularly useful when dealing with multiple conditions and their corresponding actions.
The Purpose is to test software behavior for all possible input combinations systematically and ensure consistency in decision-making.

Components of a Decision Table:
1. Conditions: Input variables or factors that influence the
decision.
2. Actions: Outcomes or outputs based on the conditions.
3. Rules: A combination of conditions and corresponding actions.

Steps in Decision Table Testing:
1. Identify the conditions and actions.
2. List all possible combinations of conditions.
3. Define the action(s) for each combination of conditions.
4. Create a decision table and test each rule.

Example:
A customer can withdraw cash from ATM if:
1. The account is active.
2. The account balance is sufficient.
3. The ATM has enough cash.

Decision Table:

Condition  Active     Sufficient   ATM Has     Action
           Account    Balance      Cash
Rule 1      Yes        Yes         Yes        Dispense Cash
Rule 2      Yes        Yes         No         Show "ATM Out of 
                                                    Cash"
Rule 3      Yes        No          Yes        Show "Insufficient 
                                                    Balance"
Rule 4      No         -            -         Show "Inactive 
                                                    Account"

Enter fullscreen mode Exit fullscreen mode

Advantages of Decision Table Testing:
1. Covers all possible combinations of conditions.
2. Provides a clear and concise representation of logic.
3. Detects missing or inconsistent rules.

By ensuring thorough testing of business logic, Decision Table Testing reduces errors and improves software quality.

________________________________________________________________________________________

The Future of Manual Testing in the Age of AI

The advent of artificial intelligence is transforming the field of software testing, blending automation with human expertise. However, manual testing remains indispensable for areas requiring creativity, intuition, and empathy. Its role is evolving, focusing on complementing AI-driven tools to enhance software quality.

Changes in Manual Testing
1. Enhanced Collaboration with AI Tools:
AI will assist testers in identifying critical test cases,
predicting potential defects, and analyzing large datasets.
Manual testers will interpret and validate AI-driven insights
for more effective decision-making.
2. Focus on Human-Centric Testing:
As AI handles repetitive and predictable tasks, manual testing
will shift toward areas like user experience, emotional
responses, and ethical considerations.
3. Testing AI and ML Models:
Manual testers will play a crucial role in evaluating AI
systems, ensuring accuracy, fairness, and transparency in
decision-making processes. For example, in AI-powered hiring
tools, testers will check for biases and compliance with
regulations.
4. Exploratory and Contextual Testing:
The future of manual testing lies in uncovering edge cases and
contextual issues AI tools may overlook, such as cultural
sensitivities in application design.

Example:
Testing a Voice Assistant
Imagine testing a smart voice assistant powered by AI.
Manual Testing Role: Testers interact with the assistant, assess
its responses to varying accents, slang, and emotional tones, and
provide actionable feedback.

Challenges Ahead
1. Skill Requirements: Manual testers must develop expertise in
AI, machine learning, and data science to keep pace with
technological advancements.
2. Dynamic Testing Needs: AI systems are constantly learning,
necessitating adaptive testing strategies.
3. Ethical Considerations: Testing must address biases, ensuring
fairness and inclusivity.

Conclusion
The future of manual testing lies in synergy with AI. While AI improves efficiency, manual testing will focus on areas requiring human judgment, creativity, and ethics. This partnership ensures robust, user-friendly, and ethical software systems, making manual testing indispensable even in the AI era.

Top comments (0)