It is not enough to just develop mobile apps and publish them to the different app markets – you must also make sure that the app is working and not causing any problems for your customers (or users if you like). To make sure that the app is working as intended you will run it through initial tests (often using test cases) and fix the issues you have found before you publish. We all do this, some more structured than others, but in a way or other the app is tested, fixed and published. This will never be enough and here is why: Diversity.
By diversity I mean that you will never be able to anticipate all possible situations that will occur when a huge amount of users are running the app on different OS (iOS, Android, WP7 ++) and again different phones/tablets on the various OS. I think it is a fact you just need to accept; there will most likely be some kind of unidentified bugs hiding in the app when you publish it. You should do everything you can to minimize the error factor, but you will need to have a good strategy on how to deal with the unidentified bugs. This is where live crash reports and BugSense comes in to play.
In a normal app life cycle you will continue development (new or improved features) and fix errors reported by the users. I think that the errors reported by users is just the top of the ice berg. If your app is pointed to the mass consumer market I guess that only 10-20% of errors are being reported (have no numbers to back this up, but it is my gut feeling). This means that 80% of the users will accept the issue and live with it or just simply stop using your app because of issues annoying them.
Live bug reports will enable you to stay one step ahead. You can then fix errors before they are reported by the app users. A good tool for live bug reports across the major OS is BugSense. What I like with BugSense is that it is really powerful while still being easy to use. It only takes one line of code and a library to use it in your app. BugSense supports iOS, Android, WP7, HTML5 and Google AppEngine. You get a nice dashboard with statistics and details about bugs that have occurred in your app. When you look at an error you get a lot of good information that will ease your process of recreating and fixing it. You will see what device and OS version the users have, is WiFi enabled, users location ++. You can even have users experiencing issues notified when you have fixed it.
I started testing BugSense quite a while ago and I am very happy to see that the product has matured a lot, many users, good pricing alternatives (from free license to enterprise licenses). I am always looking for ways to improve quality in apps and make the experience using it better for the end-users. I hope that tools like BugSense will be used and that it results in higher quality apps.