5 Ways to Make Your App More Reliable With QA Ellen Garmon December 8th, 2015 Who on your team do you think is mostly likely to have psychic powers? The answer may surprise you. It’s your QA engineer. And not just any psychic powers. Your QA team members have the ability to “see the future” and prevent serious revenue loss due to application bugs. There are five main ways that a QA engineer can keep your application from heading on a dangerous path. Help sales and dev teams form achievable app requirements. Look over new app versions before they’re planned and released. Make a list of well known bugs in the tools that the dev team uses. Sign up and beta test the newest version of mobile OS’s such as iOS and Android. Remotely control a developer’s computer to assist with unit testing. These practical steps may seem simple, but their effect on the efficiency of your application is big. Getting Off to a Good Start Every application starts with an idea. The problem comes when it’s actually time to build the app. Often times what will work in theory, won’t work as a real life application. Most salespeople and product owners may not realize the work that goes into creating a functional application. This is why collaboration between sales and dev teams is so important. Part of an engineer’s job is to act as a liaison between the “idea people” and the developers. A good engineer, or team of engineers, will know what is going to work in real life and what’s just fantasy. They’re able to find the perfect balance between ideal and reasonable. This helps to prevent problems in the long run. Miscommunication or over-promising on the part of a developer can turn into costly application meltdowns. And no one wants that. Keeping That Good Start Going After the initial application requirements are laid out with the help of a QA engineer, there’s still more to do. New versions, and changes to the functionality of a program both require a new set of requirements. Small changes to an app may seem easy and straightforward. Sometimes they are. Sometimes they’re actually monster projects that could take a whole team of engineers weeks or months to complete. Only someone who has an eye for it (like a QA engineer) can tell the difference. This has many long term benefits. Knowing the difference between an hour long project, and a 6 month long project can save your company thousands of dollars in billable hours. A senior QA engineer can work with the development team on accurate estimates. That way, your sales team are able to better weigh their options. Some small ideas can be forgone if they’d be too complicated to implement. That way, the project is much better focused on requirements that are worth the time put into them. Preventing Disasters Along the Way With Knowledge When developing an app, knowledge really is power. A QA engineer will find common tech stack, widget, and third party API bugs through research and then hand that information to the development team. Developers don’t always have time to put into research, and sales teams may not know what to look for if they’re not tech savvy enough. A QA engineer is the perfect balance between these two. It’s their job to find everything from small imperceivable bugs to huge application failures that can occur when developers use certain tools. The result is that you’ll cover all of your bases. Small bugs will be written out. Huge application failures, if they do occur, can be fixed in minutes instead of hours or days. All due to some good old fashioned research by your friendly QA team! Beta Testing on a New OS QA engineers have a second hat that they often put on: testing! There are many kinds of testing that can be done on an application. Beta testing on a new OS is performed once the application has already been released and it’s live on the market. The QA will sign up to become a beta tester for the OS company such as Apple (iOS) and Google (Android). Once the QA is approved as a beta tester for the latest OS versions, they can begin testing the application. If the application conflicts with the newest OS version they’re beta testing on, problems can be caught and fixed early. When the OS version is released to everyone else, it will remain bug free. If the QA Engineer can’t get into the OS beta testing program, they will still research known features and issues before the release of the new OS. Unit Testing Another type of testing that your QA team will perform is called a unit test. This is a test that verifies a small, specific piece of your developer’s code works as it should. Most times a developer will do this themselves as they write the code to ensure it works. However, to save a developer time this can be performed by a QA team instead. The QA will ask for permission to access the developer’s local environment. Then, when the developer isn’t writing code the QA will jump online and ask to begin unit testing. This is especially handy if the developer doesn’t have any time left over to test it themselves. The QA will discuss what they’re testing in real time.Then, they’ll work out any critical issues together before moving onto writing more code. Repeat ad infinitum for magically bug-less code. These five functions barely scratch the surface of how much money and time a team of QA engineers can save you. In some cases, you may not even have to have a team of in-house engineers. Every application “idea person” wishes they had a psychic to prevent losses. Now you know where to find one!