Mobility is a digital reality, increasingly ingrained in everyday life around the world. Smart phones are rapidly replacing computers as the preferred device for web access, online shopping and even business transactions. With app stores flooded with competing brand apps, all it takes to lose a customer is one defect, bug or instance of inconsistent app performance across devices. Again resolving functionality-specific, technical support requests by asking customers to switch to, or try with another browser or device, is not an option. Business applications, therefore, in addition to supporting mobility, must also provide consistent user experience across browsers, operating systems, interfaces, and mobile platforms. Hence, software development and testing teams are under pressure to ensure mobile responsiveness of their web content and applications.
Amidst the popular native (operating system based development) versus hybrid (built using industry standard web technologies) app development debate, another important approach – Responsive Web Design (RWD) involving intelligent use of html code, cascading style sheets (CSS), and media queries quickly became the viable web development alternative, to ensure cross browser application compatibility.
Responsive sites and web applications work well on all mobile browsers, and do not require app downloads. This no-app-download feature saves device memory, and an important reason for the popularity of RWD. From a business perspective, RWD improves search engine visibility – responsive sites use one URL and one set of pages and files, making it easier for search engines to crawl and index content. Search giant Google too, in multiple press releases, has stated that responsive design is an important search engine ranking factor for driving traffic to business sites. Clearly, the mobile responsive necessity paved the way for cross-browser testing.
Applicable to all web application types responsive sites, native and hybrid apps, cross browser testing is about ensuring consistent website and application performance across multiple browsers. But its not as simple as it sounds. Given the continuous influx of mobile devices, combined with frequent browser and operating system releases, cross browser testing can be challenging for development and testing teams, specially in Agile environments, where release acceleration is a norm. The form factor variety of mobile devices – diverse device types, multiple screen sizes, varied screen densities and different resolutions further complicate the cross-browser testing challenge.
Many teams continue to take the ad-hoc approach to cross-browser testing – learning and improvising as they go along the way. In my opinion, also based on learning from RWD projects, an effective cross browser testing strategy must address two aspects interface and infrastructure.
The interface aspect comprises usability or interface testing assuring the behavior of interface elements such as input fields, drop-downs, date pickers, while ensuring consistent text and color rendering across browsers. Specifically, testers check correct and consistent usage of html tags and color codes, ranges for date pickers, concise and informative content on tool tips, accurate gesture recognition, proper handling of site security certificates, and appropriate usage of browser plug-ins for rendering media such as flash movies and PDF files.
While these are operational-level, testing checks, from a strategic process perspective, responsiveness must be built-in at the outset, and not as an after-thought to be addressed during interface testing. Finally, task orientation a design approach that follows users natural workflow and actions, is a good way to make application interfaces, not just responsive, but also intuitive enabling users to easily complete their tasks, and have better control over the app.
From the infrastructure perspective, to cope with Agiles development velocity, app testing teams must design test scenarios and test cases on the go, and test on multiple physical devices simultaneously, in real time. In addition to coping with accelerated release cycles, testing teams must simultaneously, also keep pace with rapid OS rollouts, frequent platform-specific browser releases, and regular device launches. Its like running two races at the same time.
To ensure uninterrupted testing, project teams deploy mobile emulators to simulate real word environments. However, this quick fix approach compromises on realistic aspects such as memory, CPU usage, location, application data, business contexts and even customer usage and behavior. Cross browser testing clearly, requires much more than testing methods and approaches.
The need for physical devices also presents a challenge. Procuring and provisioning mobile testing infrastructure specifically, labs with large collection of physical mobile devices, is cost prohibitive. Moreover, these mobility labs are not just a one-time infrastructure investment. The need to continuously upgrade the mobile testing device fleet, can quickly eat into CIO budgets.
But every necessity or challenge, also presents a business opportunity. If youve already started thinking about the clouds Infrastructure as a Service (IaaS) offering, youre on the right path. Public and private cloud service providers have already announced new mobility testing offerings – cloud-based mobile device farms. Amazon Web Services (AWS) is one such leading cloud service provider. Given the ease of provisioning infrastructure on the cloud, clients too, are tempted to move cross browser mobile testing to the cloud, and reduce their upfront capital investments. The security conscious companies are taking a cautious approach with private offshore labs that offer the cost advantage, and address security concerns through secure VPN tunnels.
Despite their initial overheads whether self or cloud hosted, RWD and cross browser testing are investments that pay back in the long run by future proofing app interfaces for current as well as future mobile form factors, improving app usability, and increasing overall life span. Its like a makeover for your business apps!