Testing is an integral element of any mobile app development process. In the following discussion, we have highlighted certain salient features of app testing. New developers, in particular, would find the following information really useful.
Any decent mobile app company has a specialized team of app testers. Once the beta version of an app is developed, it is sent to the testing stage – where bugs and malware, if any, are ironed out, before the application is submitted at the store. Given the immense importance of mobile app testing in the overall creation of an iPhone/Android app, it is only essential that developers should have an in-depth idea of the testing procedures. The following discourse throws some light on that:
Need for app testing – Let’s tackle the question that any new app developer might have – what’s the big buzz about testing mobile apps? Well, if bug(s) remain undetected in an iPhone app in its final form, it will be immediately rejected at iTunes. At the Google Play Store, buggy apps can be sneaked in – but as soon as users detect those bugs, the concerned apps are uninstalled, and a negative buzz is generated about the developer company. Thorough app testing minimizes such possibilities.
Difference between app testing and hardware testing – The term ‘mobile testing’ is generally used to cover both – and that is a source of confusion for many professionals new in the domain of mobile app development. While mobile hardware testing involves the check of its specs and features (e.g., wifi settings, camera, Bluetooth connectivity, etc.), app testing is all about making sure that a particular application is working properly on its targeted devices.
The importance of emulators – Many developers consider that testing apps on devices is the only thing to focus on. This is another folly. While most mobile app development frameworks offer real-time code debugging support, using emulators to test mobile software across different environments is also vital. Emulators can be broadly classified under three heads – OS emulators, Device emulators, and Browser emulators. (Note: emulators are also referred to as ‘simulators’ by many app developers).
Types Of App Testing Required – Once the prototype of a mobile app is ready, it should first be manually tested in a focus group. Most app development companies form such focus groups for app-testing from their in-house personnel. Automated testing, and testing the app on the cloud network are also necessary, to make sure that no bugs remain untraced.
Elements Of Mobile App Testing
Contrary to what many people believe, mobile app testing is not a single process in itself. This phase can be broken up into multiple smaller checking tasks – each of which have to be performed with due care by the testers. Here are the most important components of testing a mobile application:
Functional Testing – Android and iPhone app developers require functional testing to find out whether there is any problem with the included app content (ranging from text and links, to images and videos). Detailed functional testing is also important for monitoring app analytics later on.
Interface Testing – For this, proper collaboration between the coders, UI/UX designers and the app testing department is essential. The in-app navigation flow, including the arrangement of menu buttons and other tabs, is checked at this stage. Most developers follow a thumb rule that final users should not have to tap/click more than 3 times to reach the app screen they are searching for.
Ongoing manual testing – Leading iOS and Android app developers opine in favor of using SCRUM methods for manual/automated testings. These tests need to be conducted on an ongoing basis. At pre-specified time-intervals (say, 10 days), the developers would submit the software they have created thus far to the testing/QA team. Tools like JIRA are used for quickly finding out errors and rectifying them. Continuous testing in this manner eases the final stage of checking the app.
Performance testing – Another potential source of confusion – since by ‘performance’, many new app developers understand the user-experience that an app is likely to deliver. In truth though, the scope of ‘performance testing’ is a lot wider than that. It includes checking whether there are any bugs/problems in the client-side architecture, server-side setup and the network functionality of the application. In summary, all forms of front-end testing of an app come under performance tests.
Device/Device Interoperability/Compatibility Testing – Probably the trickiest part of mobile app testing. When a developer creates an iOS app, (s)he has to check whether the app is compatible with the latest flagship iPhones (6 and 6 Plus), as well as iPhone 5 (decisions on further support for older models have to be taken by individual mobile app entrepreneurs). Most iOS apps have to be compatible with iPad and iPod Touch as well. For Android apps, device interoperability testing is even more challenging, due to the sheer range of new Android devices made available by different vendors every year. A list of all the popular handsets has to be drawn up, and the app has to be tested on each of them. During the development stage too, testing the codes across multiple browsers is advisable.
Operational testing – What if an app has good enough features – but causes loss of unsaved data in case the phone battery runs out when it is being used? Or what if there is a screen freeze (ideally, this bug should not be present at all)? To counter the potential risk of loss of app data, operational testing is essential. The overall data backup and recovery process of a mobile app is examined at this stage.
Beta testing – The component that is often mistaken as the only form of mobile app testing. Beta testing, however, is only the follow-up to the manual/automated testing stage. A certain group of (preferably, reliable third-party people) are requested to install the new app on their devices, browse through each and every screen, and report complaints/performance bugs (if any). Provided that this focus group is large (say, 60-80 individuals) and sincere enough, this phase can double up as the most useful form of app usability testing stage too.
Load testing – Although load testing is ignored by many at present, its importance is going to rise in 2015 and beyond. It might very well be possible that a mobile app is being simultaneously used by a large number of people. Thorough testing is done, via separate metrics, to find out how the response times, functionality, server load, and other features are likely to be affected in such cases. Multiple test scenarios are created, to compare expected with actual usage levels of an app.
Security testing – With the rise of m-commerce apps and finance-related enterprise applications, the value of security testing has also spiralled. In order for a business app to be successful, it should boast of foolproof data security and integrity features. The data stored in the app (or in associated hybrid cloud) should never be accessible to any unauthorized individual/organization.
Interruption Testing – Any Android or iPhone app developer worth his/her salt would know that phone calls/text messages/emails can, and probably will, ‘interrupt’ users as they are checking out a newly installed app. Hence, it only makes sense that a portion of mobile app testing is dedicated to find out how the app handles such ‘interruptions’. Interruption testing has to be done via emulators as well as on actual devices.
Installation testing – If the first encounter of a user with a new app is not a nice one, (s)he won’t be spending extra minutes to try learning about that application (after all, there are thousands of alternatives available at the store). Prior to submitting the app at iTunes/Play Store, the installation and validation steps should be double-checked. A person should not face any problems in installing the app.
Memory testing – Yet another factor often overlooked by new app makers is the memory and bandwidth issue. Since mobile devices typically have a fraction of memory resources compared to desktop systems, apps that hog too much of memory and consume excessive bandwidth are likely to be slow, and have a propensity to crash often. For iPhone app development experts, memory testing can be done by installing the app on a device, and connecting it to a compatible Macbook. Testing the memory usage of Android and Blackberry apps is fairly easy too.
Effectiveness (the ability to deliver unique value), Efficiency (speed, navigation, lack of crashes and freezes, etc.) and overall user-satisfaction are the three factors that the usability testing of a mobile app is all about. The results from the ongoing app tests are recorded by the QA/testing team of app companies in a Test Summary Sheet. If a company has diversified international presence, proper mobile app testing requires collaboration between the software personnel from all its branches. In case a bug is reported even after all these forms of testing, developers need to release a rectified, bug-removed upgrade as soon as possible.
Developers should never try to submit their apps before thoroughly testing the software. Buggy apps, after all, can never be successful!
From 1 February 2015, it will be obligatory for all apps submitted at the Apple App Store to have 64-bit support, and be built with iOS 8 SDK. Here’s a roundup of the things that app developers need to consider, as a consequence of this announcement.
In the second half of October, Apple officially announced that newly submitted apps would need to have 64-bit support. This regulation would become effective from the 1st of February (i.e., in about a week’s time), following which, iOS developers would no longer be able to submit 32-bit apps to the Apple App Store. What else does this new 64-bit support rule mean for developers? Let’s take a look:
Saying ‘goodbye’ to Cocos2d-x v2.x – Well, it is possible to upgrade v2.x to 64-bit – but most app development experts feel that it would be a relative waste of time/man-hours. The smarter option would be to move over to v.3. The latest version of Cocos 2d-x was released nearly nine months back, and it offers strong, stable 64-bit support. Why bother sticking with an old version of a framework, when a new one is already available?
Learning to work with iOS 8 SDK – iPhone app developers not yet familiar with the iOS 8 SDK are already behind the eight-ball. From February 1, 2015, all new apps must be built with the built-in SDK of the new platform. In any case, with the burgeoning popularity of iPhone 6 and iPhone 6 Plus – it only makes sense that developers should start making apps that are iOS 8-compatible.
Planning app upgrades accordingly – The 64-bit regulation would roll out to all app updates too, from the 1st of June. iPhone app companies planning to release new applications in February and looking to launch an update in June must ensure that the latter is 64-bit compliant and created with iOS 8 SDK.
No need to worry about existing 32-bit apps – The worldwide mobile app development community heaved a sigh of relief, when it was announced that the existing 32-bit applications in iTunes would not be removed. Of course, if a developer wishes to release a bug fix update, that would have to comply with the new 64-bit/iOS 8 SDK regulation.
Support for all processors – Another thing that iPhone/iPad app developers need not be concerned about is informing general app-users about this technical upgrade. The 64-bit iOS apps that would be submitted at the App Store from February onwards would run equally well on iPhones running on 32-bit as well as 64-bit processors (i.e., A5, A6, A7, A8 processor chips would all be supported). The new regulation would not affect the usability of new apps, whatever the latter’s device processor might be.
Learning to work with the latest version of Xcode – Developers sticking with outdated versions of the Xcode IDE for iPhone app development would be the hardest hit, when the new stipulation comes in effect. It is of essence that all professional iOS developers learn how to work with Xcode 6.1.1 – which released in early-December. Beta 4 of Xcode 6.2 is already out in the wild too, and it is advisable to download and check it out as soon as possible.
Considering iOS-version compatibility – Although new 64-bit iOS apps would work on devices running on both 32-bit and 64-bit processors (universal binary features), there will be a cap on the range of ‘older’ devices on which these apps will be installable. Apple experts have confirmed that iOS versions that are older to 5.1.1 would no longer be supported. Although hardly anyone has an iOS 4-powered phone at present, it won’t be a bad idea for developers to send out a general notification to users about this. Anyone who wishes to download new apps would need to upgrade their iPhones to the iOS 5.1.1 (or later) platform.
Paying attention to early indicators sent out by Apple – Remember the extent of rumors and alleged leaks about the then-called Apple iWatch last year, prior to the official launch of Tim Cook’s ‘one other thing’, Watch? Apple have always given subtle hints and indications that something new is being planned, and the 64-bit regulation is no exception. In fact, the Cupertino company had first discussed it way back in 2013, when iPhone 5S had hit the markets. At the time, many rival companies had dismissed the 64-bit architecture as ‘unnecessary’.
Need to start working with Unity 5 – The announcement from Apple has been welcomed by iOS game developers worldwide. The reason is simple enough – Unity 5 is in its final build stage, and 64-bit support has also been extended to Unity 4.6. If you have created a new game using the Unity framework, it would be a good idea to get it tested properly by this month, and then go for store submission.
Using Standard Architectures in Xcode – To ensure that single binary versions of new apps are being created (i.e., those which would run on iPhones powered by 32-bit and 64-bit processors), Apple has advised developers to use the (default) ‘Standard Architecture’ build setting. As highlighted above, if you are comfortable with working with Xcode, this would hardly be a problem.
Considering whether new apps should have 32-bit compatibility at all – At present, the only iPhone model (with iOS 5.1.1) without 64-bit support option available is iPhone 5C (free-on-contract). Mobile app companies would have to use their discretion to determine whether going for the single binary option (which includes support for 32-bit processors) would be required. For select iPhone applications, creating only a 64-bit compatible version would suffice.
A gradual phasing out of all 32-bit apps is expected – By mandating that existing 32-bit apps won’t be dumped out of the App Store, Apple has ensured that users with ‘older’ iPhones/iPads/iPod Touch devices will still be able to download newly released applications. However, most mobile developers expect that the support for 32-bit processor handsets would be withdrawn within a year or so. In any case, the new apps will be optimized for 64-bit, and on 32-bit they might not be properly functional.
Since the 64-bit compliant Apple A7 processor (iPhone 5S, iPad Air, iPad Mini) and A8 processor (iPhone 6/6 Plus) both have high adoption rates, app promotional strategies need not be altered much. Users are not likely to be affected in any way either. Developers have to optimize their new apps – so that they a) get approved at iTunes and b) give optimal app-experience to final users.
In a couple of months from now, Apple Watch is expected to be commercially launched. We have highlighted some interesting news, facts and tidbits about the widely-hyped smartwatch in the following piece.
While opinions about the success of Apple Watch remain divided, the smartwatch from the Cupertino tech giant has got to be one of the most eagerly anticipated gadgets in recent times. The interest primarily stems from two things – firstly, none of the smartwatches released till date have been able to make much of a mark (sorry, Samsung Galaxy Gear!), and Apple Watch might very well fill that void. Tech-geeks are also eager to find out how good, or otherwise, Tim Cook’s ‘first baby’ at Apple turns out to be. Let us here do a roundup of all the latest news and features about Apple Watch:
Release date – Not yet confirmed, but Apple Inc. is hanging on to its promise of a ‘spring release’. Most technology enthusiasts as well as app developers expect Watch to be released sometime in March. According to a 9to5Mac report, employee training sessions will be started from February, to update the personnel about Watch.
Price point – In the United States, the basic-level Apple Watch and Apple Watch Sport will bear a price tag of $349. For buyers in the UK, the price of the same models should be just a shade under 300 Pounds. The stainless steel version is likely to be pricier, and should be available at around $500. There is also considerable buzz about the Gold Apple Watch – which will reportedly be priced at $5000. Let’s just say not everyone will be able to afford it!
Apps for Apple Watch – In mid-November, Apple officially released WatchKit – the SDK for creating Watch apps by third-party iOS app developers. Most iPhone application development companies across the world have started making test apps for the smartwatch. For the time being, not every feature of Watch would be accessible for third-party developers though. Get an idea of the types of apps that are being prepared for Apple Watch here.
Linking with paired iPhone – By now, it is common knowledge that Apple Watch will be heavily reliant on the iPhone paired with it. A special application, named ‘Companion app’, has recently been showcased by the company. According to reports from iOS app development forums, this app would be used for adjusting the app settings on Watch, as well as connecting the smartwatch with its corresponding paired iPhone. Interactivity between Apple Watch and iPhone can also be managed via Bluetooth.
Arrival of the latest version of iOS – Beta versions of iOS 8.2 has already been seeded to developers, and it reportedly offers built-in support for Watch too. The first glimpses of the ‘Companion app’ were available with iOS 8.2 beta – and this version should become finally available by the end of January. It will be interesting to note whether Apple manages to iron out the problems that plagued its initial iOS 8 platform, and the subsequent iOS 8.1 update (iOS 8.0.1 and 8.0.2 were unmitigated disasters).
There will be a special Apple Watch app – To ensure hassle-free handling and customizing of Watch, there will be a special ‘Apple Watch app’ (indicated in the Bluetooth instruction menu). Apart from controlling the smartwatch, this application would also come in handy for importing/downloading other iOS apps on Watch. Mobile app developers are not exactly sure about the types of apps that can be downloaded on Watch though.
Quanta is in charge of Watch’s mass production – Many Apple-fans are not aware that Watch will not be created in-house. Instead, the mass production of the wearable gadget will be handled by Quanta Computers – a company located at North Taiwan. Quanta is the biggest manufacturer of personal computers in the world, and is often entrusted with making gadgets for leading tech companies. The new 12” MacBook Air will also be produced by Quanta.
Customization options – The iOS environment is still not as customizable as its premier rival, Google Android – but Apple is definitely moving in the right direction. For Watch, there will be a unique ‘Monogram’ feature. After activating it, users will be able to actually engrave words (of maximum four letters) on the face/dial of the timepiece. Glances, Faces and Complications are other key app features that can be personalized. The built-in calendar and alarm settings can be tweaked about too.
Volume of initial shipments – Tim Cook and his team are expecting at least 30 million units of Apple Watch to be sold within the first twelve months of it hitting the markets. The first round of shipments will contain around 5 million units of the smartwatch, and by the end of 2015 – 24-25 million units are expected to be shipped. Many tech market analysts and iPhone app developers predict even higher sales figures – and if those projections come true, the shipment volumes will have to be increased.
Interacting with the Watch – Watch will not have a built-in keyboard – a point that is being debated hotly among professional device critics and app development experts. However, users will be able to interact with Watch via dictation and/or emojis. The smartwatch, just like iPhones, will have the Siri digital assistant – with the usual ‘Hey Siri’ functions. Transcriptions of voice messages sent to and from Watch would also be viewable.
Battery life – Arguably the most dicey aspect about Apple Watch. In a report published in Re/Code, it was confirmed that the battery life of Watch is currently around 24 hours. This is not even close to the battery backup that already released smartwatches like MetaWatch and Pebble (6-7 days) offer. There have been rumors that Apple representatives themselves are not exactly pleased with the battery performance of Watch. Jeff Williams (Apple Senior VP) can claim to make ‘the best product in the world’ – but if Watch’s battery life turns out to be notoriously low, its popularity might take a prompt nosedive.
Charging Apple Watch – As per available reports, Apple Watch will have to be charged ‘at nights’ (there are doubts about whether that would affect the functionality of the built-in fitness apps). The Cupertino company has, however, made sure that the charging method is as secure as they come. The foolproof MagSafe technology has been used in the inductive charging mechanism for Watch. It’s another matter that people won’t like to charge the smartwatch too frequently!
How will Apple Watch facilitate communication? – Difficult to say until we get a first-hand feel of the device, but from the looks of it, Apple Watch will be an efficient communication tool. Professionals from the iOS app development domain have confirmed that people will be able to send/receive text messages, emails, and voice calls. Audio files, in their original form or transcripts, can also be shared via Watch. Users will also have the option to share their location with others. Since ‘Handoff’ will be supported, a task started on Watch can be finished on its paired iPhone too.
Capacitive display screen – The much-hyped smartwatch will have a high-end capacitive screen. To access third-party apps for Apple Watch, users will have to either swipe or tap on the screen. To view notifications on Watch, a horizontal swiping gesture will be required. Vertical swiping would open up calendar data.
Interestingly for iOS app developers, all Watch apps are expected to be scaled down clones of corresponding iPhone/iPad applications. Forrester reports suggest that Apple Watch can very well turn out to be the most successful wearable device of 2015. However, if the battery problems are not sorted out in time – the gadget might run into trouble later on. For now though, the wait is on for the official announcement of the release date for Watch.
While Android is, without a shadow of a doubt, the most popular smartphone platform for users, app developers like to work on iOS applications more. In the following piece, some probable causes for this greater interest in iOS among developers have been explored.
In a study conducted in the third quarter of 2014, it was revealed that Android had an overwhelming 83.6% share in the global smartphone market. iOS was a distant second, with around 12.5% market share. However, when it comes to developing apps, most developers worldwide still prefer to work on the iOS platform rather than target the much larger volume of Android-users. Surely this is some sort of a paradox? Let’s find out some reasons behind this behavior:
Market share figures do not reveal the entire picture – iOS dwarves in comparison to Android in terms of market share percentage, but the sales of flagship iPhones is at par (if not better) than most individual Android devices in the same price bracket. The considerably lower market share can be explained by the simple fact that, while Apple has just the one smartphone (iPhone) in its corner, there are hundreds of Android handsets launched every year. Comparing the adoption figures of one phone with the combined count of many others is not a fair calculation.
iOS promises greater earnings – Over the last two years, mobile app developers have earned around $ 3 billion more from working with software on the Apple platform, in comparison to what they have made from making Android apps. Professional app companies are, at the end of the day, after profits – and iOS continues to be the better platform for doing so.
Differences in user-behavior – Reports from mobile app development companies show that Android apps have nearly double the user-base than iPhone apps. However, the propensity to actually spend on apps is much, much lower among owners of Android devices (around 1/4th of their counterparts with iPhones). This, in turn, pulls down the ‘Average Revenue Per User’ (ARPU) for Android. The interest of developers to create apps on this platform is also, understandably, lowered.
Most apps release on the iOS platform first – This stems directly from the previous point. Since the earning prospects are more from iPhone apps, developers have a tendency to create iOS versions of their applications first. Later on, if they are interested, an Android version is created – with appropriate app-monetization strategies (freemium or inclusion of advertisements, etc.). Unless clients specifically request for Android apps at the time of asking for free app quotes, companies do not start off with Google’s mobile platform. The general perception that Android-users are less willing to shell out money on apps is at work here.
Android-domination is more in nations with lower income levels – Another factor that is often not taken into account while summing up mobile market trends is the geographical areas where each platform has the upper hand. In developed, high-income, smartphone-oriented societies like that of United Kingdom, Australia or the United States, iOS has the upper hand (in Aus, the fight is too close to call a clear winner). On the other hand, Android rules the roost in comparatively low-income countries, particularly in Southeast Asia. Obviously, money from mobile apps come mostly from the well-to-do countries – and as a result, iOS gets an advantage.
Positioning of iPhone and Android devices – iPhones are positioned as ‘premium’ smartphones (let’s forget Apple’s disastrous flirtation with budget smartphones, iPhone 5C, last year). Months before the iPhone 6/6 Plus were launched, everyone knew that they were going to efficient but ‘pricey’ gadgets. On the other hand, Android has a host of smartphones targeting the lower end of the buyer-spectrum (the recent Android One project is a classic example on this count). Interestingly, while all the flagship iPhones have been successful, many low-end Android phones have failed in the last few quarters. This clearly shows that iOS, due to its strong brand positioning, is a ‘safer’ platform for developers to create apps for. Google Android, with Galaxy S5 at one end and sub-$100 phones on the other, is just too diluted.
Creating iPhone apps is a lot simpler – Making Android apps that deliver value AND are optimized for all manufacturers’ devices (from Sony to Samsung, and from Asus to Micromaxx and Google’s very own Nexus) is tough work. During the building and mobile app testing phases, developers have to check whether their software is optimized for every popular Android device. A lot of time-consuming research needs to go into this. In contrast, an iOS app needs to be optimized for the latest iPhones, iPads and iPod Touch. This makes the job of coders as well as UI/UX designers a lot easier.
Perceived intent of buyers – The average price of iPhones is just a shade under $600, while that of Android phones hovers around $275. Even so, flagship iPhones outsell most high-end Android handsets. What’s more – the debacle of the much-hyped Samsung Galaxy S5 is a clear indication that smartphone-users are not quite ready to take to pricey Android phones. Mobile app development experts interpret these trends (correctly) to conclude that iOS-users trust their devices more, and are more likely to download apps on them. With Android, there is always some uncertainty in the air.
Poor app consistency on Android – While cross-platform app developers might disagree, the fact remains that apps initially optimized for the iOS platform do not work nearly as well on Android phones. Right from mobile games to magazine apps, the iPhone version of an application is almost always more user-friendly and has better features than the Android version. Compounding this problem is the presence of so many Android devices. People invariably want a consistent app-using experience: iOS delivers it, Android often does not.
The vicious cycle affecting Android – The popularity of Google Android drops further owing to a circular phenomenon. Since the chances of making money on the platform are lower, either free or lower-priced versions of apps are released on it, they (understandably) do not make much money, and developers get further disinterested. In contrast, iOS app developers are more than happy with their average earnings – and the financial motivation spurs them on.
Chance of app bugs going undetected – Practically nil at the Apple App Store. The same, however, cannot be said about Google Play Store. Unlike iTunes, there are plenty of buggy apps in the latter. If someone downloads an app with malware and reports it, that not only seals the fate of that application – but also affects the reputation and goodwill of the concerned Android apps company. It takes 10-11 days on average to get apps approved via iTunes Connect, but the wait is worth it – since there are no chances of bugs going undetected.
Favorable share price movements inspire confidence – Just like general stakeholders, app developers too take a hint or two from the movement of the share prices of the companies they would be building apps for. Over the last year (figures till this trading week), while Google’s share price on NASDAQ has dropped slightly ($564.52 to $496.17), that of Apple Inc. has surged from $76.13 to $112.01. It’s not that Google as a company is in any sort of strife – but the picture is pretty clear: people, including mobile software developers, have greater confidence in Apple. That is reflected in the iOS apps vs Android apps debate.
iPhone-the status symbol – Let’s just finish off with a psychological factor. Till this date, flashing out an iPhone out from the pocket and using apps on it is a matter of pride for many. Android phones, even the high-priced ones, are a lot more commonplace. The sustained strong sales of every new flagship iPhone proves that people are ready to pay more to own a device that doubles up as a status symbol. As a result, iPhone apps have greater acceptance than Android apps. Developers are fully aware of this.
There are app development experts who forecast that Android would become the more popular platform for developers within the next couple of years. The impressive adoption rate of Apple Swift among coders confirm that there is no waning in interest about the iOS platform though. Unless the next couple of flagship iPhones bomb badly (unlikely), and Google manages to come up with a truly amazing Android phone in the interim – iOS will still remain the preferred platform for most mobile developers.