This is how we work - efficient QA processes for digital excellence Learn more
Read time: ca. 7 min
Edge Cases

Edge case creation and testing

Janina

Edge cases are test cases that are outside the usual user workflow. Edge case testing is therefore a creative testing process in which testers give the app unexpected input, interrupt the workflow, or serve the app in unintended ways. We have summarised what an edge case involves and why we should definitely include them in test cases in this article, so that you know how an extensive testing procedure works.

 

What is an edge case?

Edge cases are tests that are not on the "happy path" of an app and thus discover errors that occur only rarely or sporadically. Such special cases occur when users move outside the normal usage scenarios or when an app is used in an unplanned environment. Edge case errors do not necessarily belong to the core functions of the software, but they can still influence them or indicate errors in them. It is therefore important that testers take these cases into account. Edge cases can be divided into the following categories:

  1. General special cases are usually already known and can be tested comparatively easily - you simply must not forget them. Classic examples are public holidays or leap years for functions based on calendar data.

  2. Extreme cases often occur under stress. A classic edge case is, for example, a poor internet connection or faults in the GPS system, as can be the case in underground car parks or lifts.

  3. Operating system or device-related cases refer to the platform on which the software is running. Such edge cases will occur repeatedly in the course of use and can be fixed by software updates.

For example:
- A bug affects users of a particular device.
- A combination of two or three of these factors
- A new bug occurs after an Android or iOS system update.
- A problem with a web app occurs in individual browsers.

4. Other cases occur as well, of course. Sometimes users behave in ways that developers cannot foresee. In these cases, the very important customer feedback is used to become aware of such errors.

Edge Case Testing is often mistaken for Boundary Value Testing. Boundary Value Testing tests input values in certain input screens below and above the threshold value. Edge cases are rather isolated special cases that occur due to exceptional user behaviour or extreme environmental factors. The test procedures are therefore often interconnected, but in some cases run quite differently.

 

Why should edge cases be included in tests?

Everyday use is often difficult to mirror under laboratory conditions. One example of this is the load on the RAM: In everyday life, this is loaded much more by other apps running in the background on a device and this has an impact on the performance of tested apps: But testers will not always have YouTube, Google Maps, Instagram and a browser with 30 open tabs running. This leads to a distortion of the test, in which extreme use of RAM is not taken into account. Edge cases can reveal general problems with the software - if an app does not pass such stress tests, this is often a sign that the app's performance is poor.

Some developers place less emphasis on solving edge cases, as these errors occur only rarely and often only affect a small proportion of users. However, it is worth fixing such bugs, because small bugs can cause big problems:

  1. Customers could no longer use your app. App users are fleeting and the market is diverse. If your app currently has a monopoly on its function, you are lucky. If not, users might switch to a competitor after a bad experience.
  2. User reports can potentially affect the reputation of your app. Even if it occurs only once and is quickly fixed, a negative tweet about a bug in your app could be enough to scare off potential users.
  3. Your customer service team is burdened. And if they are not able to support users, you will have to respond to customer enquiries and complaints yourself, which will cost you time.

That's why edge cases should already be developed when the other test cases are created. This will save you money and time in the long run, and you will gain happy users. Of course, in the course of development and use, more and more scenarios will arise from which new edge cases will emerge - it is important to anticipate these through comprehensive test planning.

 

How to create Edge Test Cases?

Edge cases are often difficult to reproduce and therefore a great challenge. Nevertheless, some test cases can already be anticipated for the test phase.

  1. When creating edge cases, one should try to create real-life usage scenarios. For example, a navigation app should be tested for errors when changing the radio network while driving.

  2. Edge cases always arise from customer feedback. It is impossible for you as a developer to foresee all potential usage scenarios. That's why it's important to collect customer feedback and react to it promptly, for example with software updates.

  3. General edge cases such as leap years are already known and should be considered in any new app development.

  4. Prioritisation is also important. There are an infinite number of possible edge cases and often very limited time in app development. Therefore, developers need to target and fix problems that are more likely to occur or affect multiple users first.

 

Our standard set of Edge Cases

We add our own set of standard edge cases to each test run, including mobile-specific cases: Does your app work as it should on all platforms and devices? We test under the following conditions:

  • Slow internet connection
  • Mobile internet connection
  • Offline state
  • Switching to standby mode
  • Switching between apps
  • Permissions (location, camera, microphone, etc.)
  • Receipt of push notifications
  • General stress tests:
    • Very fast operation of the app
    • Switching between pages
    • Putting app in background during loading and bringing it out again
    • Interruption of loading sequences

 

Conclusion: How we support you with Edge Case Testing

Finding and executing edge cases is a comprehensive process whose importance should never be underestimated and should be part of any good test plan. We have extensive experience with edge cases to anticipate unusual user behaviour or situations before the release of your app.

Feel free to request a test plan from us to understand exactly how we go about the process.