michael poss
Discovery Engineering
4 min readMar 23, 2018

--

6 awesome ways to test an app and make a consumer hAPPy

Consumers and digital technology have become completely intertwined in the last five years, especially with apps in the iOS and Android worlds. The competition is fierce to put the best app out there to ensure a seamless experience for users and gain their loyalty. It is expected that bugs will lurk behind the app and the key is to annihilate both the critical and non-impactful ones before they surface in a live product. That’s where testers come in — to root out any potential showstoppers or ugly bugs. I have included six tenets that testers should adopt when devising a plan or strategy to get under the app’s hood and attempt to break the product, get bugs fixed and, ultimately, green light it for real world consumption.

  1. Put yourself in the consumer’s shoes

This sounds like a Madison Avenue adage, but testers who approach testing from a consumer vantage point are positioned to have an edge with the right strategy. Envisioning how a user will navigate an app, how they will consume it, under what network conditions, and other factors will give them an advantage for a successful test. This can be difficult if the app is widely used since there are so many variables at play, but testers need to be imaginative and perceptive. Being armed with KPI’s and other data can help fortify the ideal approach when testing an app.

2. Cross-device and cross-platform test

Today’s technology stack has grown exponentially over the last five years. Testers used to have one or two devices and platforms to test from that would be sufficient for an end to end experience. Today, there are many different Android operating systems (reducing any parity), many different Android and iOS form factor devices, connected TV devices and gaming systems, and multiple browsers that must all be included in your strategy to ensure a seamless experience for the consumer. This brings us to the next stratagem…

3. Automate your tests

In today’s software world, shops employ a dev ops culture where there is continuous deployment daily or multiple times daily. In order to accommodate this structure, testers need to have an automated framework to keep up with the demand of fast-paced code releases. There is a caveat to this though - automated testing should NOT replace 100% manual testing, especially with apps that have a robust UX layer. Automated testing cannot detect look and feel of an app the way human eyes can. They should be designed to cover features or functions that require repeated testing. One must be judicious in marrying manual and automated testing practices into their test strategy in a way that will allow dev ops to thrive and not overwhelm testers. A healthy mix of automated and manual testing (incorporating functionality with look and feel, respectively) will alleviate the workload and minimize shipping out bugs to consumers.

4. Create test cases that are designed to fail or be negative

Often, consumers break an app or cause an issue that testers could not. For example, they may have inputted unacceptable data, left required fields blank on a form, streamed a video and put in device’s background to multitask, etc. Testers should include test scenarios that accommodate these types of behaviors to cast as wide a net as possible for catching bugs. Combining this with positive input will yield metrics from both sides of the coin and give more confidence to the organization about the health of an app. This is similar to how auto manufacturers test their cars by putting them under duress to see how they respond.

5. Leverage testing tools

There are so many great tools in the marketplace, both open-sourced and paid, to assist testers in providing a robust test practice. They should leverage tools such as test management, cloud-based testing, device farms, testing forums or blogs, developer communities for technical expertise, and proxy tools.

All these tools can be incredibly useful and valuable to ensure your test strategy is successful without being hamstrung by resource capacity or technical roadblocks. Tools, such as test management, offer transparency and metrics on the testing progress and results. Others, such as proxy tools, can allow testers to manipulate network conditions or traffic flows to nip in the bud any potential issues that could happen in the more uncontrolled, real world.

6. Get involved early on in the SDLC

Testers should immerse themselves into the life cycle of a software release with cross-functional teams as early as possible. Participating in product meetings or reading up on design mocks will arm testers with a better understanding of the behaviors and workflows of the product. This can translate into more fluent test cases result in a robust product. It will behoove not only testers, but the entire software team to work cohesively in the early stages of the product’s evolution. That is where trust is developed and confidence grows that they can count on testers to be the final gate before shipping the product out to the marketplace.

Apps can have a short life and, by following these principles and expanding on them, we can prolong the life of the product significantly to ensure that consumers embrace it and continue to consume it for a long time. All the testing work done in the background help achieve the company’s goal of a great product with great reviews.

--

--