For the last few weeks, I’ve been reading articles about how Mobile Apps seem to be degrading software quality.
I totally agree with Jamie Saine’s Mobile testing blog. Tons of mobile apps are being created by people without formal development and testing backgrounds, and they are dropping the ball on quality.
“App artisans,” as Bob Binder, President of System Verification Associates, refers to these novice developers, aren’t the only ones responsible for this increase in poor quality. Large companies are also degrading software quality in pursuit of getting their product to market quickly. They likely envision that defects will be fixed with continuous updates (in some cases daily updates!) and that any problems will eventually be solved. They end up with a quick introduction to the market. But it’s clearly not the best way to create a good reputation for your company. In some cases quality issues can be very damaging to your brand, resulting in lost revenue, driven by poor reviews and social forum which can spread news of quality issues very fast.
At Belatrix, we approach Mobile apps development as any other software process in terms of Quality. And this does not mean the mobile software development cycle takes longer. Applying Agile methodologies, we have been successful in getting Mobile apps very fast and with proven quality.
Agile is the key. Having an agile team and doing agile testing from the beginning of the Mobile app development has shown us that is not impossible to build strong mobile apps. This also reduces maintenance costs and increases end user happiness. Think of it from your user’s perspective — how happy are you when your favorite smart phone or tablet app needs to be updated every day?
Some tips for ensuring quality on mobile apps:
- Do not avoid doing testing on your mobile apps; it’s not hard to provide high quality implementing agile testing.
- Always remember to do a good scope definition. For example, special consideration may be needed for testing native mobile apps vs. mobile web apps.
- Based on the scope, identify all the tools and methodologies you will use/apply for testing. Think through thoroughly on whether to do functional and/or automation testing, as well as the necessary tools. The learning curve on some tools, for instance, may be a constraint to getting your product to market within a reasonable, or defined, timeframe.
- Make sure you have defined all the devices for which your app should be developed. Then, define the strategy for testing them all. You can use emulators or services that allow you to access remote devices, but it’s highly recommendable to test locally.
- You will find best practices on how to test mobile apps in our white paper.