The Complicated, Delicate Art of Debugging an App

debugging-appsApp development for mobiles has been around long enough now that there are specific tools you can use for debugging and assessment – no more trying to replicate mobile problems on a desktop machine! We take a look at simulation and remote debugging to see what these solutions have to offer.

Simulators and Emulators

There’s no doubt that manual testing on real physical devices gets the best results. Unfortunately, the sheer range of mobile devices makes it impossible to achieve this: while desktops have four or five browsers, mobile phones have over 30! Not to mention the literally thousands of devices available…

This is where simulators and emulators step in. Programs that replicate the functions of a specific piece of hardware or software, they offer a virtual expansion of your testing capabilities. Even better, many of them are available for free or a very low cost – and there’s no limit to how many you can use, except for your own hard-drive space and time constraints. They also enable you to test much more quickly than a manual process would allow – no need to worry about switching out sim cards and rebooting.

It’s true that emulators and simulators can’t provide as-good test results as manual testing. But they are a cost-efficient, powerful tool that can expand your testing coverage at a reasonable price.

Remote Debugging

Remote debugging is the process of checking a program that runs on a system different from the machine you are using for debugging. For mobile app developers, it means you can debug a program designed for mobiles on a desktop computer, which is more powerful and easier to use. This is extremely helpful as debugging is a difficult process to achieve on a small device like a phone!

To begin, you connect to a remote system over a network. You can then remotely control the execution of the program you are debugging and receive live updates about its status. iOS and Android offer their own solutions, but there’s also an application called Weinre (short for web inspector remote) which can be used for any device. Setting up Weinre can be a little complicated, but once it’s in there, it’s good to go! It’s important to note, however, that if you are writing apps for iOS and Android, it’s not as powerful as their native solutions.

There’s also another remote testing option that supports multiple platforms called Ghostlab. This program is capable of loading any number of sites or windows across any supported browser, so you can test your app across a variety of devices at one time. It also synchronises the devices, so clicks and scrolls will all happen, and be tracked, simultaneously. Finally, it doesn’t just let you test your site at different resolutions, but also shows how your code behaves on different browsers and platforms.

Sounds complicated? Talk to Appz!

As part of our app development services, we offer thorough debugging of all apps before they go to market. Our team has the knowledge and skills to give your app the best chance of success.

Leave a Reply

Your email address will not be published.