A lot of attention is given to scalable backend development, cloud, UI and UX when it comes to application development but often not enough time is dedicated to testing all these important functions.
We spoke to Dominique Hawes, founder of the The Testing House, a boutique testing house that specializes in software & mobile application testing.
Tell us what inspired you to start a business dedicated to testing?
I’ve worked with content most of my career – music, apps, games, and I’ve sifted through a lot of apps and games looking for good quality content – it’s tough to find to be honest and there are a load of apps out there that are average and could be awesome, what separates them is testing – someone other than those involved in the project looking it objectively and feeding back on whether it is really delivering what it should and a good all round experience.
There are many testing companies out there giving functional feedback. There are some companies out there giving UX advise. There are content developers and copy writers who assist with that aspect too. But there are very few companies who pull this all together. Our perspective is that when someone is functionally testing, if they are a high quality tester with the right experience mix, then they can also be evaluating UX, UI, design, copy, content, language and so on – and that’s what we have done – we provide what we’ve called “all-in-one testing” – we evaluate your product from all these different angles in one go and give you concise and high value feedback, across our huge device/OS version inventory, that will help you build a better product that offers a better user experience.
We want to make the world a more user friendly place – and testing is one aspect of how that is achieved.
Why is independent testing so important? Why cant developers test their own work?
You know how when you write an email, and it’s only after you send it that you realized that you left words out or spelt “the” as “teh”… even thought you read it a million times before sending? That is why developers can’t properly test their own creations – they become blind to aspects of it, they are too close, it’s their baby and they’ve seen so much of it that they fill in gaps in their mind that aren’t filled in reality.
Someone outside of the project without vested interests (personal relationships, client interests, etc) will be able to view the app like a user would – with fresh eyes and no baggage. Many companies get their project managers to test the apps, and although this is better it is still problematic because someone even remotely involved knows what should happen and they don’t view things objectively – a user, on the other hand, has no idea so does what comes naturally and we try to get as close to this a possible with our service.
At what stage would you recommend testers become involved in the development lifecycle?
Earlier is always better because the sooner you find an issue the sooner you can investigate and fix it. And some issues require a rethink of functionality or UX flow, and you really don’t want to be too far down the line when you find those issues. However it’s never too late to test – even live apps can benefit from testing to help determine the development priority of new features vs fixes – or just help you understand and give you insight into why you app isn’t as successful as it should be.
What is your top 5 tips for someone doing a basic app test?
- Use the available simulators and emulators to make sure that your product technically works everywhere it should. This is very necessary but doesn’t replace a good old manual test with a real device (we’ve found many cases where the app works on the simulator but then not in real life)
- Get someone else to look through your app: watch them use it and don’t help them at all. You will learn so much from this short (and sometimes painful) experiment.
- Go through everything and then go through it again, then take a break and look again.
- Remember your audience – who is you app for? Make sure you are speaking as they would expect through your whole app – yes, I mean polite error messages too. When someone sees dev-speak or code in an app they get a fright and go away 🙂
- Actually suck it up and do the test – don’t expect your users to be your testers – very few audiences have the tolerance for your mistakes, including your selling errors.
There is always a lot of talk about the platform winners and losers like iOS, Android, Windows Phone and Blackberry. So it sounds pretty easy to test a cross-platform app on 4 devices, or not?
Sure it would be nice if there was just one phone for each platform or operating system, but there are many devices on each operating system, with many different form factors and screen resolutions and so on, and many different operating system versions to add further complexity. Then there are customers who often don’t update their phones to the latest software – the result is a huge variety of phones in the hands of real users and your app needs to be prepared for all these. From a testing perspective you basically need a great big gadget collection, strictly keeping certain devices on certain OS versions so you can test that specifically when required. Simulator/Emulators certainly help during development, but we’ve found that they cannot and do not replace an old fashioned manual test of an app on the actual device – and that is where we come in.