If there's one word that can simultaneously comfort and send shivers down the spine of any developer, it's this: testing. Testing is an absolute non-negotiable, obligatory, imperative, unavoidable, inescapable part of the app development process. To spend countless hours designing and developing a digital product, to then release it into the wild without carrying out vigorous testing first, would be like flying a plane without fuelling it first: pointless and reckless.
When taking on an app development project, we have an ethical duty to ensure that the product we're producing for our client is built to the highest of standards. And we take that duty very seriously: so should any digital agency that's worth their buck. Because the truth is, any stand-out digital product has been incrementally developed, corrected, improved and solidified.
Let us paint you a picture; one you'll be all too familiar with if you design or developer mobile apps for a living. It's 5pm on a Tuesday, you're four cans of Red Bull and five black coffees in to your day and you're certain you've rectified every potential issue with your app. But your fellow developers come back with a pesky list of bugs and issues after testing (a.k.a. doing everything in their power to break) the platform.
Obviously any good developer tests their code as they go along; but it would be near impossible to spot every error. So it's handed to other members of the development team who will put it through its paces using every trick in the book. Simulators, multiple device and cross-browser testing are all implemented to cover all angles; because there's only so much a bug-catching platform and self-testing during development can catch. It might sound strange to a novice, but the objective here is to find the problems. The more we can detect at this early stage, the better the final product will be.
Of course it's not ideal for our developers (or their blood pressure levels, we hasten to add). But after the initial shock and sheer panic subsides, the light at the end of the tunnel emerges. Finding these errors now means you're one step closer to mitigating them; to creating something extraordinary.
But there's one minor caveat: our developers are experts (through no fault of their own... first world problems, eh?). And the truth is, they probably don't interact with an app in the same way that the rest of us do. So the buck can't stop with them.
At this stage the QA team will get their hands sunk into the platform. Make no mistake: these guys take no prisoners. If there's a broken link, obscure bug or minor grammatical error (you missed an apostrophe, how could you?!), you can rest easy knowing they'll sniff it out - that's why we love them.
Only when they're happy will it reach the hands of the client via a test link. By this point, the app has already gone through some pretty intensive in-house testing. And that's the idea: to hand it over to the client knowing there's as few bugs as possible. Of course it would be naive to think you'll have caught everything at this stage; there's only so much your team can test for and ultimately what's required now is more users and bigger data. Yep, it's time to pull out the big guns.
Depending on the client, their budget and time pressures, we may or may not choose to executive penetration testing. It sounds terrifying, but it's basically a third-party company (a.k.a. the O.G's of testing) who hack into the app and its back-end (ethically, don't worry) using a simulator. This is the creme-de-la-creme of mobile app testing; if you want to ensure your app is watertight, these are your guys.
And if you'd like to sleep like a baby knowing your app can handle anything, you're going to want to do some stress testing. Your app is essentially climbing Mount Everest here; it's intense. Stress testing feeds on your platform's areas of vulnerability, what are it's breaking points; how much can it really handle? It's put in crunch situations, i.e. testing how it handles an influx of users at one time, or firing a tonne of requests to the server to see if it'll crash.
If this somewhat drawn out monologue teaches you one thing, it should be that there's a lot of back and forth in mobile app development. It can be a lengthy process that could test the patience of a Saint. Don’t rush it... you'll reap the rewards, trust us. (Side note: be kind to your developers, donuts or cold beers are usually a good starting point).
So the app your developers put blood, sweat and tears into is put to sea (if sea was the App Store or Google Play Store). But you guessed it, the testing doesn't end here.
It's at this point that we can get some awesome insights into the way the platform is performing in *real* life with *real* users. Any app development company should have a support team who are always monitoring the platform e.g. looking for and rectifying bugs, even if the clients aren't aware of this. Our clients may come back three to six months post-launch with some interesting feedback they've received from users. It's then time to get back to work to add some next-phase functionality. The point is: you'll never really know until users actually use the platform. That crucial info can only be obtained post-launch.
And finally, push notifications are how you interact with your users via a mobile app. Not to blow our own trumpets, but we were lucky enough to be contacted and visited by Lee, the Creative Director of OneSignal (a.k.a. the world leader of push notifications, no biggie) in our studio. But name-dropping aside, the great thing about push notifications is that we can test their effectiveness. So if a notification contains an external link, we can track the user acquisition. Or we can implement A/B Testing (to compare two different versions of a notification). So maybe Notification 'A' contains a call-to-action and 'B' doesn't, which one has a higher click-through rate? Or perhaps 'A' contains emojis and 'B' doesn't... you get the idea. Call us sad, but this is the kind of stuff us techies thrive off.
To Sum Up
If we haven't convinced you that testing is the be-all and end-all of app development by now, we've done something wrong. Period. There's no way around it (although we can admit life would be easier if there was), you've got to go through it if you want to create a mind-blowing platform - and who doesn't?
So sit back and enjoy the bumpy ride; take it all in and don't get too bogged down. You're gonna love it.