8 Mistakes Made by QA when Releasing an App (and how to avoid them) Lessons learned by a QA manager

Testing is a crucial stage of every app development process. Product owners and managers rely on testers to make sure that the quality of the app/game is flawless. However, testers often make mistakes that result in negative reviews or app getting rejected. Here is the insight into those mistakes and how to avoid them.

 

Afraid of asking questions

Testers often don’t ask questions out of fear of being ridiculed. “What would my colleagues think” or “I would lose my impression if I ask this basic question” goes through a testers mind every so often.

Source: Freepik

Don’t be afraid. If not asking the question makes you miss a scenario, it is more dangerous or more damaging for you and for the app that is about to be launched.

Keep asking questions throughout the whole process, even to yourself. Here are a few questions you should ask yourself, QA Manager, developer, and product manager:

  • The domain is not yet clear, and please re-elaborate
  • What are the edge cases?
  • Is there any sample data provided?
  • What type of testing is required? (e.g., integration testing, white box testing)
  • What should happen when the test fails?
  • Why is this logic used instead of that one?
  • What is the logic used by programmers to implement the requirement?

Automation is tough

Automation is the topic of discussion of every QA meetup nowadays. “How are we going to learn automation” or “am I skilled enough to learn it” is discussed frequently.

Don’t be afraid of automation, start today!

If the scale of this change seems like a big jump, start by semi-automation, e.g. using a bug logging tool (JIRA for instance), organizing Excel sheets or using formulas is also semi-automation and this will divide “the big jump” into smaller chunks, hence making it easier for the tester and the management to absorb what’s going on.

Here are a few tools to help you with your automation task:

  • Selenium: Selenium is a testing framework to perform web application testing across various browsers and platforms like Windows, Mac, and Linux
  • TestingWhiz: TestingWhiz is a test automation tool with the code-less scripting by Cygnet Infotech
  • TestComplete: TestComplete is a functional testing platform that offers various solutions to automate testing for desktop, web, and mobile applications by SmartBear Software.
  • Watir: Watir is an open source testing tool made up of Ruby libraries to automate web application testing. It is pronounced as “water.”
  • Appmanager: AppManager streamlines and automates the annoying parts of managing apps. No manual upload of screenshots. No messy spreadsheets with metadata. No builds and data on insecure FTP servers or shared drives.

Only test for bugs and not for the experience

Limiting yourself just to already made testing sheets will also not help to launch an app that will make waves in the app store. Making sure app is bug-free is part of testing, so is the user experience. If you think a specific UI can be improved or changing a particular algorithm can enhance the user experience, do discuss it. Make it your habit to test for improving the user experience as well.

Here are the most popular UI design guidelines by Apple and Google that you should regularly look at as part of your QA routine.

Lose focus on repetitive tasks

Repetitive tasks are the most significant let down for a QA engineer. Every tester needs to be very cautious at this stage and should stay attentive to the task in hand. However, the human brain loses interest very quickly, and this is where most of the mistakes are made. Again if you have read the points above, automation or semi-automation is the answer.

Testers can use tools like AppManager to avoid these pre-release mistakes. For example, testing for screenshots of all size and all stores (google play, app store or Amazon store) is a tedious, repetitive task, and often mistakes are made at this stage. This tool handles this automatically for you and creates those images.

Pin the blame on someone else

Source: Freepik

A wise man once said, “When you mess up, own up to it, apologize for it, learn from it and never do that again.”

If a bug is found in a live app, QA often opts to pin the blame on someone else; like a process was not right, or information was not complete, or higher management did not opt for a recommended tool, and this should not be the case. Here is a good article which is written on this topic that can help you collaborate better with agile dev teams.

Processes are here to help every department work efficiently; they are not to blame for a mistake. Own up to the slip-up, and only that will make the tester think of how to avoid the same mistake again, hence increasing their productivity, value, and quality of the product.

Similarly, you cannot blame a bug in higher management if you recommended using a tool like JIRA, but they did not opt for it, hence the bug. Testers should be able to convince product owner or project manager that it would be wise to spend some dollars on a tool which will not only help the testing department to improve their quality but help the management to manage all their apps and games on a single screen and this makes it easier for them not to miss any crucial pre-launch or post-launch step.

A tool such as AppManager will save time, and management of apps easy. It can also help track the performance of their app on the app store, hence improving the quality of the overall process, so it’s beneficial for both.

Analysis paralysis

Sometimes tester gets stuck on a single bug as he cannot find the root cause or the exact scenario how is it appearing. It drives a tester mad when he/she can’t figure out how to re-create an issue/bug, wasting his time and energy.

It’s okay. You do not need to get frustrated. Sometimes it’s good to give up. Involve your lead or manager into it. Sometimes it’s easier for the developer to figure out the root cause, as they have written the code and might have an idea from which function this error can be generated. Asking for help in these type of cases is more fruitful than to be stuck in the situation, or not logging the bug altogether.

Source: Freepik

Once App is launched, nothing we can do now

One most common mistake made by the testers is to think that app is live, there is nothing we can do now. That’s where they are wrong. As thousands of users are using your app, it is the best testing ground (if you think about it).

Keep yourself close to the support team, analyze every support request, think of scenarios related to that request.

At this stage using an exception tracking tool like sentry.io can be very useful as it catches all the exceptions and present them at a single place. Testers should go through the list daily to see if there something that can be considered as a new scenario.

Source: Sentry

If your app has a discussion forum be active there. See what people are discussing, get the feel of user experience.

My suggestion is trivial and not worth it

Tester often feels his suggestion is not worthy enough to be discussed with the management. “it’s just a suggestion of adding a small button, what difference will it make.”

That’s not the case. Customers who leave negative feedback are more welcomed by the business than those who leave and never come back. A tester is also a user, and if you feel a button at some specific place will make the user experience a little better, do discuss it with the domain owner or the manager. Small enhancement like this makes an app perfect.

Here are some key points that you can add to your process:

  • Ask as many questions as possible – the goal should be to understand the feature that you’re testing for inside and out so you can do your job well
  • If you’re new to automation start now, otherwise make sure your process is robust and that you’re making use of the right tools available out there to help you perform your job better.
  • User experience should be considered part of the QA process, and you should be looking out for bugs for a better experience and not just the technical issues
  • Stay objective and work as a unit with other teams and try to avoid blame-game.
  • Stay vigilant when the app is live and use tools that deliver you live bug reports as this is the most critical stage that affects the actual users.

William Foster once said, “Quality is never an accident; it is always the result of high intention, sincere effort, intelligent direction, and skillful execution; it represents the wise choice of many alternatives.”

I hope my guidelines will help you make those wise choices. Happy Testing 😁