App development takes place in parallel in different phases and thus also app testing. Often there are different timelines to follow for the latest build, the latest update or a feedback loop on the core product, and accordingly there is little time to put all the components of a development through their paces again. In this article, we explain how you can best plan the testing of an app when you have little time and which areas you should prioritise.
1. Prioritisation together with the stakeholders
A release is planned or new legal requirements are forcing time pressure for new features and there is neither the budget nor the capacity for time-intensive testing? In this case, it is worthwhile to first discuss with the stakeholders and the product owner which features are particularly important and should therefore be prioritised..
2. Identify key areas
Prioritisation should take into account different aspects and perspectives:
- From a development perspective, it is particularly important to test vulnerable features. A good indication of a high priority is, for example, the frequency of recurring errors. The higher this is, the higher the priority should be. For example, complex logics or new technical developments are considered vulnerable.
- From the customer's point of view, the key features of an app are particularly important and should always function smoothly in every iteration. The key features and their priority for customers and their users also result in a pattern for prioritising the test cases.
- From the point of view of the internal stakeholders, the success of the project and the efficient use of capacities and budget are of course also important. A risk-based prioritisation, for example, is based on the assessment of where the greatest damage will occur if errors are not detected. Another prioritisation method is based on which parts of the code are freshest or have been edited most often, i.e. on the timeliness of code changes. A very economical prioritisation is based on how many sub-functions are checked simultaneously with the test of a single feature. Other prioritisation factors would be, for example, whether the feature is directly involved in adding value to the product, or also new legal developments.
3. Build tests on each other and combine them efficiently
Once the test focal points have been identified, the order is also very important for prioritisation: which features build on each other, which tests lay the foundation for the next? Certain test cases are dependent on each other and must be processed together in order to make the testing as efficient as possible. For this purpose, it is important to consider the dependencies already when creating the test cases.
4. Team building: who knows what
When prioritising tests, the know-how and experience of the team are also important: If features have already been tested, if there are experiences and models for this, then that is all the better. Often, testing and development competences overlap in the time planning of a project. This means: test teams that look after the product from the beginning also develop the necessary tests along the project plan in order to be able to carry out prioritised tests quickly in later phases.
5. Estimates are not reliable
Instead of working with estimates, the definition of time quotas is preferable. There are good reasons for this: If testers find errors, then of course the developers have to fix them. How long a fix takes is difficult to say and depends on the technical problem discovered. It therefore makes more sense to define a time quota within a sprint and to balance at the end which errors were discovered and fixed. In this sense, prioritisation serves as a comparison of expectations and feasibility and as a basis for learning in future sprints.
6. Prioritisation vs. exploration
If tests have been prioritised on the basis of the above-mentioned criteria, it may still be worthwhile to let testers proceed exploratively. The exploratory investigation of an app may reveal bugs that had not previously come to light. This survey is important in order to have a basis for prioritisation in the next sprint.
Conclusion: Complex testing processes require prioritisation
Depending on which build or version a software is in, other test scenarios are weighted more heavily than others. The demand to guarantee error-free functionality must therefore also be harmonised with time-related, process-related and rational considerations. We hope that this article has given you an outline of the most important decision-making principles and factors for the prioritisation of test cases, and that we will - as always - be there to support you in word and deed. Appmatics tests in-house with real testers on hundreds of different real devices in a system-agnostic and comprehensive way. Through years of experience in testing, we also have the expertise to support you in prioritising your test cases as well as in the entire testing process. We look forward to your challenges.