Quality Assurance for Apps

The perception of quality assurance or QA, one of the less well-known components of a successful app project, usually falls somewhere between “It’s a must” and “Haven’t we already done that?”.

Why quality assurance is so important for apps

Quality assurance plays an important role as early as the development stage. It consists of different tasks in the areas of quality engineering and the actual quality assurance. The first describes the process of defining a high-quality outcome: How do we ensure quality? The second step is the actual implementation of this quality concept in the form of acceptance testing and documentation.

Our QA process = Quality Assurance

We use ticket systems such as JIRA to coordinate our app projects. Our tasks are described there in the form of user stories. Our product owners test the function of every ticket after completion and are supported by our QA (if required).

We use the information in the user story – the acceptance criteria – to create a test report with priorities and comments. The test report can therefore be filtered according to importance in order to carry out a useful short test. This is also known as smoke testing – a term that comes from gas and water installations, where smoke was used for the detection of leaks in devices and pipe systems.

This allows us to ensure that basic features are working, such as after an update.

In the test report, we also record the special features of the use cases described above – such as limited internet and the associated limitations to the app experience which occur during the day-to-day life of the user. To perform very detailed testing, our tester can also select lower priorities. When our QA identifies errors, it creates bug tickets. The product owner then decides on the priorities. As a rule, we don’t move on to new features before the old bugs have been fixed.

QA PRIORITIES

Focus on Design
Focus on Design
We check whether the design is consistent for devices of various sizes and resolutions - including mobile devices with notches (e.g. iPhone Xs).
Native iOS / Android apps / Flutter
Native iOS / Android apps / Flutter
We check the various operating system-specific functions and behaviours and record the differences.
Backend
Backend
Are the interfaces right? Does the app have all the data it needs? Are login and registration working?
Older devices
Older devices
If the app is meant to work on older devices, we can also perform testing using older test devices - it’s often the case that performance is limited and not all sensors are available, insufficient memory and low resolution are the most prominent examples of this.
Latest devices
Latest devices
We use new devices to test apps which are also meant to support very new Android and iOS features: are the new features well integrated and are high-resolution graphics available?
Documentation
Documentation
Documentation of the outcome is a key aspect of all quality assurance. Our QA reports record the expected functionality and current status/errors.

Approaches for different stages of app development:

DEVELOPMENT OF A NEW APP               

We add to the test report step by step or sprint for sprint. Besides the report, we also create documentation for app features.

TAKEOVER OF AN EXISTING APP

For large projects, QA is usually the first step. We determine the current state and connect it with any known user problems. We then test new features and add them to the document.

We use QA and the corresponding tests to ensure that the app works as it should. Our customers know best how the app will be used in future. That’s why we involve them in the testing process, allowing us to deliver the best possible results and uncover potential problems at an early stage. We factor in QA as an important aspect of good apps.

Do you have questions?

We would be happy to talk to you!