Want Your App to Fail? If You Ignore These 3 Keys to Testing, Failure Is a Safe Bet.
All startup founders know that testing is important — or do they? An October 2017 TestPlant study reported that 40 percent of the 750 developers surveyed admitted not testing their software because they felt so pressured to release it as early as possible.
What’s behind this disconnect? Unfortunately, it’s part of a startup culture for app developers, particularly first-timers who feel a sense of urgency to rush their apps to market. But this quick launch can lead to failure.
With a swell of apps regularly being released and updated, it’s normal to feel that you’re losing ground with every day you don’t have your platform customer-facing. But in fact you have only one chance at a first impression, and that is particularly applicable to this highly competitive field.
So, put your app through proper testing to ensure it’s the best version of itself the very first time customers interact with it.
Testing: not too little, not too much
Testing in software development is critical, but that doesn’t mean your app should stay on the shelf until it’s been poked and prodded for every possible scenario. A certain level of testing is necessary at certain times in the product cycle, and it’s important to get it right.
So how do you find the “Goldilocks” level of testing? Fortunately, some simple keys can help you stay in the right zone:
1. Start simple.
Through the entirety of a testing cycle, there are a few concepts you should keep in mind while also being mindful of other stakeholders’ perspectives.
First, start simply by building a minimum viable product, or MVP. Keep this version free of flashy features and instead focus it on solving a single problem. Then, release it to beta testers to ensure it does what you’ve intended.
Rahul Sidhu, CEO and co-founder of the law enforcement CRM SPIDR Tech, came to this conclusion the hard way. “We spent way too much time building out a comprehensive product that did everything our customers could have imagined right out of the box, only to find that the deployment took way too long and we couldn’t scale it the way we thought we could,” Sidhu told Startup Savant.
Untested apps can upset the very vendors who can help startups trying to gain traction. By not testing properly in the beta stages, the team will spend more time scrambling to iron out issues. That stresses developers and creates tension during a time when a startup should be enthusiastically pursuing growth. Put an MVP through a simple round of testing to get a clear view of what it’ll need to move on to the next development phase.
2. Beta test early, often and properly.
Releasing a “mostly ready” product early to a private beta set of users is what allows founders to test the viability of their business concept, not just the app’s potential bugs. This is critical, particularly for apps that have limited funding runways.
Israeli ride-sharing startup JoiRyde knows this lesson all too well. The company worked on its app for six months without user feedback, a tactic that founder Omer Goldberg, in hindsight, saw as a mistake. “We polished the app, trying to perfect it before letting anyone see what we were working on. What a waste of time!” Goldberg reflected on freeCodeCamp’s Medium page.
Learn from JoiRyde’s misstep by creating a private beta. Then, consider building a waitlist that allows members to invite others in. Offer them something in exchange for being the first users, and regularly engage them via email and social media to let them know how much you value their feedback. After you launch, keep those beta testers in mind for further releases and product updates.
Well-managed beta testing can make all the difference. Facebook, whether it realizes it or not, treats all of its users as beta testers. The company does an immediate rollout of any changes it makes — first to employees and then to real users — while monitoring for bugs. If it detects problems, it rolls back changes. Keep a cache of beta testers to make sure your app is thoroughly vetted before it goes public.
3. Know the field and its technical challenges.
To succeed with releases and testing, you need to know what challenges to expect. Apps, for instance, require testing for thousands of possible scenarios and are trickier than websites to test. Tests are harder to automate, and with so many more variables, testing a website on thousands of different cellphone models can produce different results.
The variation in cellphones — or even web browsers — is another reason you shouldn’t rely on developers to do all your testing. A good testing team and strategy will not just perform automated tests, but will also reproduce real human interaction with the app on multiple devices and operating system versions, using both virtual emulators and real devices — or perhaps Amazon’s Device Farm.
Don’t forget the back end. Even if you don’t have an administrative area, you will have an application programming interface (API) that will need to be tested, at minimum, with unit tests and a security scanner. Even if you have a perfectly working app, the moment a hacker can manipulate your app’s back end, or your back end isn’t scaling and performance issues arise, your systems are going down.
And developers shouldn’t do all the testing. Plenty of inexpensive services exist for that. Moreover, developers are the worst app testers, as they’ll use the app only in the way it was intended. And that will happen even if you follow the advice of Stack Exchange co-founder Jeff Atwood to “do terrible things to your code.”
This was a lesson that Atwood said he learned in his early days as a programmer who knew nothing about testing. So follow his advice: Set up a separate small team of testers (in addition to your beta testers) who can use the app in unintended ways and check things out before each release.
Overall, the startup space is as hot as ever, and that’s good for sales, but it also implies special pressure to provide an app that “just works.” So, don’t get caught up in the momentum and forget the crucial puzzle piece of testing.
With a simple start, a consistent process, sensible and complementary testing procedures across separate teams and effective bug triaging, you can have a successful, functioning app. And in today’s rapidly changing ecosystem, who knows: You may be at the helm of the next big winner.