
Manual testing is not just about verifying whether an application works under normal conditions. A good QA engineer also needs to identify situations where the application may behave unexpectedly.
In real-world projects, most testers begin by validating the primary user workflows. They check whether users can log in, submit forms, place orders, make payments, and access different application features. These tests are important, but they do not always reveal problems that occur under unusual conditions.
For example, imagine an e-commerce application where customers can successfully place orders. During normal testing, everything works correctly. However, what happens when a customer clicks the Place Order button twice, loses internet connectivity during payment, or tries to purchase the last available product at the same time as another customer?
These situations are called edge cases.
Edge cases are conditions that occur at the boundaries of expected application behavior or under unusual combinations of inputs, user actions, and system conditions. They are often missed because testers focus more on standard workflows than on less common scenarios.
Identifying these cases requires logical thinking, business understanding, technical knowledge, and experience with how real users interact with software.
In this article, we will understand what edge cases are, why they are missed during manual testing, and how QA engineers can identify and test them using practical examples.
What Are Edge Cases in Software Testing?
An edge case is a specific scenario that occurs at the boundary of an application's expected operating conditions or under an unusual combination of circumstances.
These scenarios may involve minimum or maximum input values, unexpected user actions, unusual data combinations, timing conditions, or system limitations.
For example, consider a registration form that accepts usernames between 5 and 20 characters.
A tester might verify that a username containing 10 characters is accepted. However, important edge cases include:
Entering exactly 5 characters.
Entering exactly 20 characters.
Entering 4 characters.
Entering 21 characters.
Entering only spaces.
Using special characters.
Submitting the same username multiple times.
These conditions help determine whether the application handles input boundaries and unusual data correctly.
Edge cases are not necessarily invalid inputs. Some represent perfectly valid situations that occur less frequently but still need to work correctly.
Why Are Edge Cases Often Missed During Manual Testing?
Even experienced QA engineers can miss edge cases when testing under time constraints or working with incomplete requirements.
There are several common reasons.
1. Focusing Only on Happy Path Scenarios
The happy path represents the normal workflow where users provide valid information and perform expected actions.
For example:
Open the application.
Enter valid login credentials.
Click Login.
Navigate to the dashboard.
If testing focuses only on this workflow, unusual situations such as expired sessions, repeated login attempts, network interruptions, and concurrent access may remain untested.
2. Incomplete Requirements
Requirements usually explain how a feature should work under expected conditions. They may not describe every possible boundary condition.
For example, a requirement might state that customers can upload profile pictures without specifying maximum file size, supported formats, or behavior when an upload is interrupted.
QA engineers need to identify these missing details and discuss them with the development or business team.
3. Limited Test Data
Testing with only a few standard input values can leave important conditions undiscovered.
For example, testing an age field with values such as 25 and 30 does not verify what happens when a user enters 0, 17, 18, 60, 61, or a negative number.
Using different categories of test data helps identify more boundary conditions.
4. Ignoring Real User Behavior
Users do not always follow the workflow expected by developers.
They may refresh pages, open multiple browser tabs, click buttons repeatedly, switch devices, or navigate backward during a transaction.
Manual testing should consider these realistic interactions.
5. Not Considering Integration Dependencies
An application may depend on external APIs, payment gateways, databases, authentication services, and third-party systems.
A feature may work correctly in isolation but fail when one of its dependencies becomes unavailable.
These situations are particularly important when testing enterprise applications.
How to Identify Edge Cases During Manual Testing
Finding edge cases requires a systematic approach. Instead of randomly trying unusual inputs, QA engineers should examine application behavior from different perspectives.
The following techniques are useful in real-world testing projects.
1. Use Boundary Value Analysis
Boundary Value Analysis is one of the most effective techniques for identifying edge cases.
It focuses on testing values at the minimum and maximum limits of an input range, including values immediately outside those limits.
Consider a form that accepts an order quantity between 1 and 100.
The following test values should be considered:
Test Data | Expected Result |
|---|---|
-1 | Reject invalid quantity |
0 | Reject invalid quantity |
1 | Accept minimum quantity |
2 | Accept valid quantity |
99 | Accept valid quantity |
100 | Accept maximum quantity |
101 | Reject quantity exceeding the limit |
Testing only values such as 10 or 50 would not provide sufficient coverage of the input boundaries.
This technique is useful for:
Age restrictions.
Password length.
Transaction limits.
File upload size.
Product quantity.
Pagination limits.
Date and time restrictions.
2. Think About Invalid and Unusual Input Combinations
A field may work correctly when tested individually but fail when combined with other inputs.
Consider a customer registration form containing:
Full Name.
Email Address.
Mobile Number.
Password.
Confirm Password.
Apart from testing each field separately, try different combinations:
Valid email with an invalid mobile number.
Password and confirm password containing different values.
Special characters in the name field.
Leading and trailing spaces in the email address.
Very long input in the name field.
Unicode characters in supported fields.
Multiple fields containing invalid values simultaneously.
These combinations help identify validation problems that individual field testing may miss.
3. Test Repeated User Actions
Repeated actions can create unexpected application behavior, especially when requests involve transactions or data updates.
For example, consider a payment button.
A QA engineer should investigate:
What happens when the user clicks Pay twice?
What happens when the button is clicked repeatedly?
Can the user submit the same form in multiple browser tabs?
Does refreshing the page submit the previous transaction again?
Can a user retry a payment while the previous request is still processing?
The application should handle duplicate requests appropriately.
For financial operations, this often requires server-side duplicate protection and idempotency controls rather than relying only on disabling the button in the UI.
4. Test Network Interruptions and Session Behavior
Network-related edge cases are common in web and mobile applications.
A feature may work correctly with a stable internet connection but behave differently when connectivity changes.
For example, during an online payment, investigate:

Join the conversation! Your thoughts help the community grow.