Quality Assurance (QA) is one of those crucial things that can make or break a new app. When apps don’t achieve their full potential, or even fail spectacularly, you can usually bet that QA has either been overlooked, or neglected entirely. It’s a process that deserves some serious attention, and an integral part of your overall app development plan. It can also save a substantial amount of money and work in the long run. And yet, inexplicably, some businesses feel like they can do without it.
So what exactly is it?
Good question. The term is sometimes confused or lumped in with testing or quality control, though it does contain elements of both. In reality, QA covers a whole range of procedures that include planning, monitoring, evaluating, and testing. It starts before a line of code has been written, continues through development, and on to the release of your app and beyond, covering post-release maintenance and management.
Why is it needed?
Businesses tend to put a lot of stock in design. With good reason. An app should always be, at the very least, visually pleasing, but, ideally, it should also balance aesthetics, business logic, and smart UX. No matter how beautiful an app is, if hasn’t been tested, it’s probably going to be riddled with bugs. In the quest for stand-out design, concerns like user flow can get lost along the way. This is bad news for the end product. If your app is clumsy or difficult to navigate, users are going to get understandably grumpy and condemn your app to the trash heap.
The first step
Even though QA is predominantly focused on the development phase, there are a few things we need to get in line before we begin. The pre-development stage is all about defining the user context. This means drawing up test conditions, like identifying which type of device or operating system your app will be used on. We also think about the type of testing that’s going to be carried out. What are we looking for? Are we covering functionality as well as other concerns like security and accessibility? Working in tandem with you developers and QA team, you’ll put together a roadmap, plus a series of targets. That way, everyone is on the same page, aware of an overarching vision, end goal, and how to achieve it.
Of course, as a business building an app, you’re going to want to track what’s going on. A massive part of QA is compiling results and putting together feedback. This is done using tangible deliverables and delivery dates. And, because we believe that communication is sacred, the results are shared and discussed with your entire team, during and after every round of testing.
What kind of testing are we talking about?
At Nodes, we cover several bases with a comprehensive test strategy. Testing begins from the very start of development and continues through each and every stage. It’s a team effort, so everyone, from client, to developers and the QA team, are involved. We think it’s important to make sure that the process is transparent and in the interests of creating the best product possible.
One of many weapons in our arsenal, implementation tests are designed to find hidden bugs in features and epics before they’re incorporated into the final build. These tests let project managers know if there’s any technical debt to be taken into account, and are run as many times as needed throughout the project.
Another method we employ is known as the explorative test. There’s no hard and fast structure here, but we’re doing what the name suggests: exploring. To put it in a crude way, we’re button-bashing to uncover weaknesses and push the app’s functionality to its limits.This type of testing disrupts our regular testing patterns and is perfect for finding anomalies or unusual bugs. Explorative tests also cover connectivity, and things like random OS tests. The process might sound brute, but by using this approach, we’re pre-emptively finding out how much the app can handle. Naturally, it’s much wiser to push an app to breaking-point under test conditions than have nasty surprises pop up in the hands of your users.
Strict tests – The importance of UAT
Another vital round of testing we run is User Acceptance Testing (UAT). The creation of the UAT is done in the early stages of the development – or scoping – phase of the project by a Nodes Quality Assurance Specialist and a Nodes Consultant. When the parameters are set and everyone is happy, the client signs off and the tests are then saved for the later stages of the development process. Typically just before your app is uploaded to the store. And, as the name suggests, UAT is very much focused on the user and their direct experience. We’re trying to ascertain just how ready your app is for the market, and whether it’s going to meet the demands and expectations of your clients.
In order to do this, we put the app through its paces. At this stage, all of the features should be solidified. The app is essentially finished, but we’re trying to uncover any flaws, bugs, or last-minute impediments to a smooth user experience. UAT creates a series of different scenarios, designed to get the app working under real-world conditions, or, at least, as close to real-world as possible.
When to release
After each round of testing is completed, we put together a report, detailing what areas have been tested and where the app has passed or failed. When the reports are in, and your team is ready to sign off on the app’s release, a decision has to be made. Usually, it’s pretty clear. But sometimes, the decision is complicated by business-specific requirements.
Occasionally there’ll be a financial imperative on the line that means the app needs to get out there as soon as possible. Obviously, no one wants to put out an inferior product, so, if any unresolved bugs are still present after UAT, they have to be weighed against the urgency of release. This requires a consideration of business needs, and, of course, some well-informed discussions with developers and your QA team.
How much does QA cost?
When putting together a budget for app development, always factor in QA. At Nodes, we include it as part of the overall package, and we’d be wary of any development team that doesn’t. As a rough baseline, we’d calculate around 15% of your overall development budget. Which, in the long run, is a reasonable figure for ensuring the quality of your product.
Who does it?
Nodes is extremely fortunate to have dedicated QA Specialists. All skilled and talented in their own right, our QA team have a foundation of technical knowledge and expertise, which is invaluable when it comes to QA. Their experience and know-how means they’re familiar with testing in all its guises. There they have a good understanding of coding and design, and they’re the perfect candidates for identifying bugs, creating reports, and charting progress.
Sometimes the oldest proverbs are the best. If you’re still on the fence about investing in QA, remember this: A stitch in time saves nine. The money and time you put into QA now, is going to save a lot more in the future. Bugs are handled and accounted for with plenty of time. It also provides a set of expert hands trained to get your project back on track. Without it, things start getting expensive as app reviews from disgruntled users accumulate, threatening to scupper that beautiful app you’ve been building for so long.