Finding the cure for application downtime

Being able to present a fully operational and bug-free app experience is, obviously, just as important as having a website for any business, be it a small coffee shop, or a fledgeling e-commerce site selling speciality equipment.  

While design and UI are not necessarily the most difficult part of app development, what developers oftentimes have to contend with is building an app that performs as expected, every single time it is opened.

Security patches, regular updates and adding features to apps is also necessary, considering how much the ‘design language’ of both iOS and Android in the mobile space changes year after year.

This is a guest post for the Computer Weekly Developer Network written by Jordan Piepkow, the original founder of AppDoctor.

Piepkow writes as follows

Why test an app after release?

This comes as a no-brainer to many, but there are developers out there that seem to not see the point of testing an app after release.

Firstly let’s talk variety: there are but two major phone operating systems out in the market — Android and iOS.

Consider developing an app for the Google Play Store, there are strict rules that are set up by Google on content, how the app works within the Android ecosystem and how the app interacts with the user’s phone.

An app is not simply done when these codes are followed — there are numerous OEMs that use Android, it being open source.

Apart from the Pixel devices, there are few others who offer the ‘pure Android’ experience and have their own versions of the OS playing as a skin over Android. All major makers of phones in the world, including Samsung, OnePlus and Huawei have skins that each work differently.

Apps need to keep up with all these devices and at times, developers might not have the means to test their apps on every single product out there.

Complexity conundrums

Next let’s talk complexity: mobile apps do more than serve as banners for websites or as a list of products for sale. They are complex and have a lot of built-in functionality that developers have to deal with.

There are apps that manage products, interlinked with wallets, maps, email and other sensitive user info that cannot be lost or leaked. With added complexity comes the need for regular testing, not just before launch, but also when live and in use.

Let’s also consider geography: once an app hits the store, it is out there for the whole world to see and possibly use.

There is an argument to be made that one of the reasons why apps are made in the first place is to expand the reach of the product or service sold. Herein lies the problem.

Different regions of the world use and manage data, offer internet connectivity, and even regulate apps in their own way, so being prepared for such eventualities is an absolute requirement.

Testing matters

Here comes the need for regular testing.

Testing an app that is already live and in the market is not something that is simple or even cost-effective.

Finding the cure for application downtime is not impossible, there are cures…. but we need to take our medicene if we really want to stay healthy.

Looking at our AppDoctor’s tools, its automated API Testing allows developers to ‘smoke-test’ an API after release. It models real-world scenarios for an app to run, making sure that specific transactions on any endpoint are always available. Automated status pages provide a place for developers to look into the availability of their API while they monitor multiple endpoints. Request Proxy, on the other hand, offers developers searchable data from where they can gain insights and create dashboards. It is also possible to search for specific requests using this tool.