Blog

Testing, Testing: Evaluating an App

By March 3, 2020 November 24th, 2023 No Comments
Testing, Testing

Anthony Cusumano | 4 min read


On Monday, February 3, 2020, Iowa residents assembled for the famed caucus that officially kickstarts the presidential primary voting process. That night, Americans waited to learn the outcome of the Democratic caucus.

And waited. And waited.

It took three days before the complete results were released—a process that usually takes a matter of hours. The reason for the delay was as embarrassing as it was frustrating: a haphazardly designed, error-ridden app that analysts conclude must have been hastily tested, or perhaps not reviewed at all.

“Whether it’s a web app or a mobile app or a desktop app, testing is extremely important,” says Dave Schuler, Chief Systems Architect at Katalyst Software Services Limited. “They may have run into the worst-case scenario here because I think the intention was to deploy this app in a number of states, not just Iowa. And now it’s basically unsalable.” Before you launch an app, reach out to the experts at Katalyst to ensure it works properly and meets user needs.

Why is Testing Important?

The Iowa caucus app is admittedly an unusual example—few apps are designed for one-time use, and fewer still will stir up a media frenzy if they fail. Even so, successfully unveiling an app to the public requires a multi-step review process, starting with the developer itself and ultimately trickling down to user beta testing. Each step involves evaluating functionality, speed, data processing, and compatibility across platforms.

  • Developer tests

The initial test of the source code is as basic as it gets—namely, does the app actually work at all? Known as “smoke testing,” the goal is to see if the essential functions are in place as a springboard for further building. (Smoke testing got its name from electrical device testing. If the device powered on without emitting smoke or catching on fire, it passed.) Unfortunately, some developers handle even this remedial step carelessly.

“I find it all too common that developers don’t even smoke test their work,” says Schuler. “They just quickly fumble-finger through it and then hope for the best.” If a developer can’t be bothered to perform such a standard, simple process, it does not bode well for a successful app.

  • QA tests

The second phase of “alpha testing” is turning the app over to quality assurance experts to examine consistency and performance. Conduct both a load test—where the app is tested under different internet speeds to see how well it functions—and a stress test, in which the app is essentially maxed out to the point where it can no longer handle any activity. It is recommended you conduct automated testing if it fits within the project’s budget.

“The ideal would be for every test to be replicable,” says Schuler. “Perfectly replicable requires an automated tool. I believe highly in automating test results if the project can afford it.”

  • User tests

Before officially launching an app, allowing a select group of users to try it out and provide feedback can save a company from the inevitable backlash of widespread failure. Once again though, Schuler feels that companies neglect this step, aiming instead to release the app as quickly and inexpensively as possible.

“A user discovers more problems with any application in the first week of use than a QA tester will in months,” Schuler says. “That’s just the nature of the beast.”

Planning for Errors

To Schuler’s point, once the app is in users’ hands, they will likely discover several previously unknown flaws and bugs. Because of this, developers should look ahead and make sure the coding is malleable enough to account for inevitable changes.

“You’ve got to design not only to reduce errors but to be able to deal with errors and detect errors and handle errors,” Schuler says. “Many users do not realize the value of error handling until they run into the problem. In other words, when you’re saying, ‘What do you want this program to do?’ you never say, ‘I want it to handle errors.’”

With careful planning, sufficient testing, and a user-focused approach, you can avoid the frustration and backlash of a poorly designed app. If your app is tested, it won’t be bested!

Reach us
close slider

     

    Please prove you are human by selecting the star.