Utility Creative logo
How to break an app: The importance of quality assurance testing
Published by Tim Howard
Blog3 minute read
Have you ever encountered a bug while using one of your favourite apps? Bugs and errors are an unavoidable part of mobile app development. Even some of the largest companies, like YouTube or Facebook, experience bugs from time to time despite investing millions to attempt to reduce the number of bugs that their users will encounter. Quality assurance (QA) processes are common among every development team, as it is a key part of delivering applications with a smooth user experience.

The goal of QA testing is to minimise the number of bugs that are present before pushing your updates to a live audience. In an ideal world, apps would work perfectly and never have issues, but anyone who’s used a computer knows there's no such thing as a ‘perfect’ app. Every app will have bugs, and QA aims to ensure as few bugs as possible make it into the final product. The standardised process our QA team follows have been built with this goal in mind.

Dual level testing: the key to a bug-free app

Our testing is conducted in two phases: functional and non-functional requirement testing.  Simply put, non-functional requirements relate to the design and layout of an application while functional requirements outline every action that the app should be able to perform. Once an app meets all functional and non-functional requirements, it is deemed as having met the project scope. This doesn’t mean that there are ‘no bugs’, just that the app meets the minimum requirements outlined by the client. There are a range of different issues that could be classified as bugs that would fall outside of the requirements list.

Non-functional testing

One of our main considerations is that every user interaction with the app has the potential to cause a bug. So it’s important to design your app in a way that minimises the potential for errors. For example, imagine a user entering their date of birth on a form. The choice of input method is critical for minimising possible errors. If the input method was just a simple text box, the user could enter the date in an unexpected format (e.g. 2024/06/12 or 12th June 2024) potentially causing an error. They could even enter invalid text or leave the field blank. A better way to avoid these issues would be a calendar date picker tool which allows only valid selections for input. This example highlights the importance of considering QA not just during the app development phase, but also the design phase.

During our non-functional testing phase, the front-end user interface is compared against the design mock-ups for any differences, for example incorrect input fields, fonts or colour schemes are fixed, ready for round two of testing. 

Functional testing

For the functional requirement testing phase, we develop a list of functional requirements based on the project scope. With user interaction, the QA team ensures each functional requirement/action can be completed in the app, bug free. This phase of testing is very comprehensive and requires the QA team to provide screenshots and screen recordings of all identified bugs to the developer so that they can be resolved. The cycle of conducting a testing round followed by a bug fixing round is repeated until no more new issues are identified.

Ensuring a smooth user experience

We hope that this insight into how bugs are found and fixed within an application can help to give you a sense of the work done behind the scenes to ensure a smooth user experience for all end users. The next time you encounter a bug while using an app, see if you can replicate it and report it to the developers. They will be very happy to see user feedback that can help improve their app even more!

About Tim

Ready to learn more?
Submit your details and a member of the team will be in touch within one business day.
Get in touch