Wednesday, 6 May 2015

THE IMPACT OF ANDROID and IOS DIFFERENCES TO TESTING


ANDROID

The broad expansion of Android and the model under which that expansion happens affects testers. Since there is no strict application design and implementation guidelines, issues can happen more frequently. The fact that each manufacturer can customize the look and feel of the Android firmware produces a large segmentation in the area of GUI design. That means the Usability and the User Experience issues probably occur more often than compared to iOS. Also, the fact that the Kernel of the Android is open source has an impact to testers: a manufacturer can write his own core library in order to provide a customized service to his clients. That means the Functional and Security issues are easier to happen. Don’t forget that, as previously mentioned, each developer can upload his/her app in Google Play without any acceptance process.

On the other hand, because of the great expansion of Android and as consequence of its open nature, a tester has many tools in his/her hands in order to test an Android app. There are application testing frameworks, testing tools and testing commands already included in the Android SDK. You can find a review of some of them in my University course. A tester can use Eclipse with ADT plugin or the new Android Studio, which are complete IDEs, not only for developing but also for testing.

The installation process of a new app in order to be tested in Android is very easy. One can use Google Play to search for and find the app (if the app being tested is already there). After that, a click on “Install” button installs the app on the device. The apps in Android come in .apk file format (which is mainly a zipped folder of all the necessary files of the app) and a tester can use that file in order to install the app in a device without the need to use Google Play. In that case a download (through an email attachment, for example) of the .apk file in the device where the testing will happen and the opening of that file is all what is needed for the installation to start.

IOS

As mentioned before, for an app to be accepted in the App Store, a validation process is necessary. During that process a basic reliability testing and other analysis happens. Apple employs mostly static analysis for their app review process, which means that dynamic code reassembly techniques could defeat the review process. For testers, that means less Functional and Security issues to be expected. Also, since Apple has strict design guidelines, all the developers follow the same design rules and, as a consequence, less User Experience issues are expected as compared to Android.

Like Android, iOS offers a range of testing tools, frameworks and commands. You can find more on that topic in the Introduction to iOS Testing course. The main IDE that a developer of iOS apps uses is the xcode which has included in it debug and testing tools. It is worth mentioning that generating crash logs is a system functionality of iOS that works fine and it’s very easy to use. On the other hand, the installation process of a new app under testing is not so easy, compared to that of Android. A tester must usually follow special instructions in order to achieve that installation and that process is sometimes error-prone.

No comments:

Post a Comment