Innovative times for mobile: implications for app developers and testers
The past few months have seen various landmarks in mobile technology, notably from Apple and the Android community, and these announcements and launches represent far more than just new devices and operating systems. There are also some massive strides forward, including more focus on the user experience, which reflects the growing market demand for improvements in this area. Of course, mobile has always led the pack in terms of UX, but with more people engaging with the rest of the world via their smartphones, they increasingly expect a better experience.
Plus, the UX is becoming a competitive advantage: users may abandon an app and adopt another if they find it tricky to navigate. In addition, there is a very much welcomed focus on accessibility from Android and Apple, making mobile apps more usable to a broader audience. Accessibility is mandated by law in some countries and is likely to expand into others.
The second notable trend is more emphasis on improving productivity due to a couple of factors. First, the variety of mobile consumers is increasing far beyond personal use, with many workers using their smartphones as their primary form of engagement with colleagues, partners and customers. Nor is this growing consumption confined to traditional knowledge workers: mobile apps are becoming the interface for business across multiple vertical markets. Such apps are now spread throughout many technologies such as traditional mobile native and hybrid apps, progressive web apps (PWAs), and Flutter by Google.
These milestones have implications for the developers of those apps. On the positive side, they can help them engage better with users. However, some development and testing considerations must be built into planned upgrades or launches. To understand these implications in context, here is an overview of the main milestones in recent months.
Both Apple and Android have introduced new IoSs, including an update to the iPad IoS. Significant device announcements have included Samsung's new foldable phone, with the ability to view three apps at the same time. The Google Pixel Series has also made its market debut, including the Pixel Watch. While Apple's device launches have been less dramatic, notable developments include the enhancement of app clips, those small parts of an app that allows users to complete a task quickly and without downloading the entire app. For example, app clips are ideal for parking, renting a bike or ordering food. Apple is putting a lot of emphasis on its app clip technology to allow app developers to introduce a new app feature or a unique use case to its end users. Allowing these users to experience an app functionality without fully downloading and installing the app from the app store builds trust, increases app utilisation, and allows smooth adoption of the app by customers.
Improved accessibility features include the use of live captions in media playing files, auto detection by the mobile device of doors and other obstacles, voice control calls hang-up, as well as audio narration within apps. Both Apple and Google are doubling down on accessibility features, as they realise that the growing adoption of mobile apps means they must be available and usable by any individual with any kind of disabilities.
Both organisations have improved security and privacy functionality across all new or updated devices and IoSs. This reflects growing concerns worldwide about the risk of data breaches or hacks and the growing realisation among users that mobile apps are far from immune from security risks. As far as developers are concerned, it is essential to be aware that they are responsible for apps' security and privacy. From iOS 16 as well as Android 13, mobile app developers are mandated to provide the users with new privacy screens, reflecting the needed permissions that the app uses (and why), better app security scanning and more. Google and Apple are shifting some of the "power" to the consumers through better app security transparency so they can decide whether or not to install and use the app. For example, if the app declares that it requires access to the user contact list, or device storage, a user might reconsider).
Of course, as always, there is the need to ensure that apps can still be used by legacy devices no longer supported by Apple or Android phone vendors). Recent devices in this category include the iPhone 6S, 6S Plus, 6, 6 Plus, 7 and 7 Plus. While it can be tempting to focus on new devices, bug fixes and security patches must be implemented for every device in common use.
Test lab coverage
The need to support both new and legacy devices could lead to a potentially highly complex and labour-intensive test environment with much broader coverage. To mitigate this, the first step should be to put in place a robust test matrix. Next, perform a comprehensive regression or functional test audit across all devices and platforms, and once completed, create a new lab configuration that supports them all. Remember that different requirements depend on the test framework (such as Appium).
While testing new features is important, prioritise those that are the most challenging or highest priority. For instance...do we have an example/s here? Also, be aware of which devices are most used within the target geography (free sources such as Perfecto's regular test index can help find this information). Automate as many tests as possible to reduce the additional workload on teams, and test as early as possible in the development lifecycle to reduce the number of fixes later. An increasing number of test tools include AI/ML, low-code/no-code features that reduce the effort required by developers, test professionals and other team members who could potentially take on more test responsibilities.
Virtual and real devices
Another way to deal with the increased volume of potential test scenarios is to employ both testing on real and virtual devices, giving developers immediate and continuous feedback. While some real device testing is still necessary, the more tests that can be carried out virtually, the lower the cost implications and the higher the testing cadence. The traditional test pyramid is a valuable reminder here: in the lower section of the pyramid, more tests can be automated, while at the top, tests are fewer and more manual.
There are a couple of further best practice points to consider, such as incorporating more beta testing in mobile test strategies, both for new apps or versions of existing ones. Use beta testers loyal to an existing app or who have engaged with other apps from the same organisation. If these individuals do not exist, invite beta testers through a limited launch campaign, perhaps in one region. Different testers could focus on other features. Proper diagnostics tools will need to be in place regardless of the approach.
Finally, put in place processes and tools that make testing a continuous learning process to drill down into the real issues and business impact of the results. Intelligent analytics make it easier to sift through all the test 'noise' to see what to prioritise.
Accessibility brings a few additional requirements for testing and developers. If not already, developers should also familiarise themselves with designing for accessibility, including developing using A11Y, testing against the Web Content Accessibility Guidelines (WCAG) and — for any public sector apps in the European Union — the European Web Accessibility Directive (which also applies to mobile).
A11Y is a handy resource and covers many assistive technology requirements, including reading comprehension level and how easy content is to view (across sight impairments, dyslexia, migraine triggers and colour blindness). Testing requirements for accessibility include ensuring that apps work with screen readers, screen magnification, and speech recognition software. Specific scenarios might be whether it is easy for users to increase font size. Test frameworks like Selenium, Cypress and Appium have easy integration with A11Y scanners such asa (AXE), to help shift these type of tests left or earlier in the software development cycle.
As always, a raft of new device and IoS launches brings both opportunities and challenges for app developers. Introducing development and test processes in line with those launches will help reduce the negative impact and put the balance on the positive side while putting place the foundations for a more robust test environment in the future.