Principles provide an extremely valuable set of guidelines that can help you work more effectively provide important benchmarks. These six principles for app testing do exactly that. Keep these principles in mind and your product will reap the benefits!
If you're testing for a device - USE THAT DEVICE
Emulators can provide a ton of value when testing. They can give you an easy means of visualizing what something looks like on a difference device. However, the end-user won't be using an emulator, so why would you test exclusively on one? While emulators claim to be perfectly representative of the device they are emulating, the simple fact of the matter is that this isn't possible. There are plenty of these emulation platforms that do a good job. That would be fine if we weren't always looking to do a great job. It's easy to ruin what would have been an excellent user experience with a bug that was caused by an iPhone being in low-power mode, or because your app won't open due to conflicts with existing apps on the phone. Your app testing strategy may utilize emulators, but it shouldn’t rely on them. There are limits to what emulators can do, the easiest way to get around that limiter is to use the actual device.
Always keep the user in mind
Design, development, and app testing all benefit immensely from the human-centered approach. It's a lot more than simply saying "As a user I can" it's about thinking about the use cases and how they are influenced by a variety of human factors. If I'm developing a web app for a city-wide metro system, I might want to consider the fact that my app will be used on the move. Usability looks a lot different when you're chasing down a bus or train.
This leads us perfectly into the next fundamental principle.
Testing is context dependent
Context is eminently important in app testing. Designing app testing for an e-commerce store looks entirely different than a test strategy for POS software. Even though they are both designed to the same "thing" (sell stuff), they require different approaches. An ecommerce website needs performance testing to ensure that it can handle huge volumes of traffic and that it doesn't have an adverse effect on performance. POS software requires a more complicated web of communications and data security protocols and will require an entirely different group of tests.
Be patient and be thorough - no matter what
Your app testing strategy should ALWAYS be exhaustive and rigorous no matter the context. We shouldn't shy away from hard work when the resulting product is that much better because of it. Having a product that functions the way it is supposed to is an already daunting task. Ensuring that it does all of that bug free requires another level of testing rigor. You cannot rush success but you can easily rush failure. In order to successfully test an application you need to be absolutely sure that you know what it should be doing, how you need to go about testing it, and that you are putting every bug and feature under a microscope.
"If you haven't tried it, assume it's broken."
Two sets of eyes are better than one
It's so easy to get lost performing repetitive tasks. Enlist help where you can - two sets of eyes is better than one for most tasks. The benefit is magnified that much more when it comes to testing. The full context of a bug may not be immediately clear to you when you identify it, but with a second perspective, you may discover that it affects even more than you think it does. No matter your level of expertise or experience, we are all capable of making mistakes! If you have any doubts - share the burden and you will see better results!
IF YOU WROTE IT, DON'T TEST IT
You’d be hard pressed to find someone who can objectively test something that they themselves have written. Of course it works the way you expected it to - you made it! Get someone who has no expectations or preconceived notions about the functionality of the program if you want the testing to be effective.
Wrapping things up
Principles function as a set of standards by which you can evaluate your past and present work and identify areas for improvement. If you use them to guide test creation you will always end up with a better result. These six principle provide you with a strong base to create your app testing strategy and can help you avoid costly mistakes.
Interested in working with fivestar*?
If you decide that it is valuable and profitable for your business to have custom software, fivestar* can develop solutions that centralize workflows, optimize processes, and enable decision-making through real-time data and business intelligence.
About the Author: Cameron Avrigean
Cameron Avrigean is a Marketing Coordinator at fivestar*. Cameron is an analytics fanatic with a penchant for copywriting and social media. He works with the marketing team to create engaging content, and is looking for the next big thing. Cameron holds a B.S. in Business Management from Point Park University.