We all make mistakes, which is why it is always good to have someone double-check your work. In software development, Quality Assurance plays a vital role. QA not only helps you deliver high-quality product to your customers, but also lets you gain a better understanding of your user base. STRV’s dynamic QA team tests projects on a variety of different devices, platforms and browsers in an effort to, quite literally, take our clients’ apps to their breaking points.
We’ve compiled a list of common bugs that appear in web and mobile apps to make them easier to spot when you are developing your own app.
Errors can crop up if you enter invalid characters into your app’s validation fields or exceed the maximum field length. These bugs occur often and are mostly assigned low priority, as they are generally not that severe, but in some cases, it might mean life or death for your app if you have wrong or missing field validations.
It’s good to limit the number of characters allotted to fields like ZIP code, telephone number, name, city, state, etc.
Another very frequent problem is an app’s browser compatibility. With this in mind, our QA team tries to test on as many different browsers as possible, including older versions. We take user experience and preferences into consideration when deciding which browser(s) to give priority to during testing. From our personal experience, the most problematic browsers are Internet Explorer (different versions) and the older versions of Safari.
Page Layout at Different Screen Resolutions
As we stated earlier, it’s important to know your users. Find out what browsers and devices they are using the most and focus on these devices during testing. We have seen problems arise with certain types of screen resolutions for different apps. This can't be defined specifically, but this problem appeared when we recently tested a web app on a 4-inch screen.
For apps that use age restrictions (the most common being dating apps), we have uncovered bugs related to date control, most commonly found in registration forms or in forms used for editing a user profile. In such cases, QA applies a boundary value analysis for better testing coverage. In terms of software testing, this means we focus on testing the boundaries between partitions. Put another way, if you are testing to make sure the date control is correct regarding a specific date, then you have to set up test cases that cover that date as well as the dates that precede and follow it. For example, if your date control is set at January 6, 1999, then you’d have to test that date as well as January 5 and January 7, 1999.
App Crash Caused by Button Click
This is a bug that QA analysts will likely find in every mobile app they test. It is like a “time-bomb” hidden in your app, mostly behind buttons that are not used so often by users. But when the button is pressed, it can severely mess up the app’s functionality. Buttons that are not crucial for the running of the app can often be overlooked by developers. Such buttons might be found, for example, in an app’s account setting, profile editing mode or used for adding pictures to user profile.
Communication Errors (Software - End User)
If your software is not “user-friendly,” that’s a problem. Anything that your user needs to know in order to use your app should be accessible on the screen. Keep in mind the importance of having a useful menu on the homepage as well as a “help” section and make sure it is clear to your user why he or she should use your app.
Tips & Tricks
Here are a few things to keep in mind during testing to help prevent bugs:
Use a testing coverage matrix. This is kind of a checklist which makes sure that all the required functionality is covered on every browser, screen resolution, platform, etc. Use Google Analytics to better understand your user base and create a more useful coverage matrix.
Employ the FURPS model, which takes into consideration all factors of software quality -- functionality, usability, reliability, performance and supportability.
Think ahead. Anticipate bugs that can appear in your mobile/web app after you fix an existing bug, create a new feature or release the app. Have a regression test set ready to make sure the required functionality of your app is covered.