The Essential Guide to Cross Platform Testing
Welcome friend! This comprehensive guide aims to help you deliver seamless digital experiences to customers across the exploding spectrum of smartphones, tablets, laptops and desktops out there.
As an app tester for over 15 years across startups and enterprises, I’ve seen first-hand the rising complexity of testing software across this growing array of platforms and devices.
This 3000+ word guide will cover everything you need to know – from crafting a structured cross platform testing strategy to leveraging cloud solutions to execute tests at scale.
Let’s get started!
Why Cross Platform Testing Matters
With 6 billion smartphone users globally, and 2 billion PC users, customers today access the web across a diverse range of devices and platforms.
As a developer, making your product shine across this spectrum is vital, but increasingly complex given:
1. Mobile Fragmentation
On phones and tablets, iOS and Android dominate with over 98% market share. But supporting just the latest iOS 15 and Android 12 is not enough.
With slower OS adoption rates, accounting for legacy iOS and Android versions is crucial – that’s where fragmentation kicks in.
-
As per StatCounter, as of Jan 2023, 26% of iOS users remain on iOS 14 or below.
-
On Android, over 50% of devices still run Android 10 or older OS versions.
Catering to iOS and Android versions from the last 3+ years is key, instead of just the latest releases.
2. Desktop Diversity
While Windows owns 75% of the desktop OS market share, Apple’s macOS also accounts for 15% globally. Linux makes up the rest with a steady rise in recent years.
When it comes to browsers, Chrome leads with 65% share but Safari, Firefox, Edge and others make up the remaining chunk.
Testing across Windows, macOS, Linux and the top 5 desktop browsers is vital.
Bottomline – Users today access apps and sites from diverse device-OS-browser combinations. Delivering silky smooth UX uniformly requires rigorous testing across platforms.
With that context on why cross platform testing matters, let’s explore how to methodically test software across platforms.
Crafting Your Cross Platform Testing Strategy
The key aspects to defining a solid cross platform testing approach are:
Understand Your Audience
First analyze your target customer base – what are the user demographics across age, gender, geographies? What platforms and devices do they predominantly use?
- For example, if your ecommerce site attracts mainly Indian and Indonesian women between 25-34 yrs old, research suggests Android phones and Chrome browser dominate that cohort.
Analytics data and market research reports can offer rich insights into platform preferences of your addressable market. Identify those high priority devices and OS versions.
Define Your Test Coverage Scope
With user intelligence gathered, finalize the platforms, OS versions and devices for your test coverage plan.
1. Mobile
For apps, critical platforms are iOS and Android. Identify major OS versions – test app across devices running them.
Mobile Test Coverage Scope
iOS: v15, v14, v13
Android: v12, v11, v10
Devices:
iPhone 14 Pro, 13 Pro, 12 Pro
Samsung Galaxy S23, S22, S21
Google Pixel 7, 6, 5
2. Desktop
For websites, account for not just Windows but also macOS, Linux. Cover Chrome, Safari, Firefox, Edge spanning 3+ recent versions.
Desktop Test Coverage Scope
OS: Windows 11, 10; macOS Ventura, Monterey, Big Sur
Linux: Ubuntu 22.04, 20.04, 18.04
Browsers: Chrome v100 - v97; Safari v15 - v13;
Firefox v100 – v95; MS Edge v100 – v97
This test matrix covers both front-runner and legacy platforms vital for true cross-platform coverage quality. Prioritize combinations used most by your target users.
Define Test Scenarios
With target platforms identified, develop test scenarios to assess them for:
Functionality – Validate all core flows, features, integrations, payments operate reliably end-to-end across platforms
UI/UX – Ensure UI elements like navigation, icons, images and text render correctly on different device screens and viewports
Network Resilience – Test application behavior on slow 3G networks vs speedy 5G connections
Security – Attack vectors like SQL injection, XSS attacks should be safeguarded
Compliance – Assess data privacy protections, encryption mechanisms meet regulatory norms
Craft test cases for these aspects when testing across high priority devices and browsers.
Leverage Test Automation
Executing test suites manually on multiple platforms is time-consuming and error-prone. Intelligently utilizing automation is key.
Web Apps – Test automation frameworks like Selenium, Cypress, Playwright help test web apps at scale across browsers.
Mobile Apps – Solutions like Appium, Espresso, XCUITest enable test automation for mobile apps across thousands of real Android and iOS devices.
Combine them with a cloud testing platform for additional power.
Integrate Testing into CI/CD
Don’t just test and fix bugs once in QA stage. Shift testing left – make it part of build validation in your DevOps toolchain.
Embed automated cross-browser and cross-device testing into CI/CD pipelines via Jenkins, CircleCI etc for rapid feedback. Fix issues continuously through the delivery lifecycle vs just at the end.
With a strategic approach covered, let’s look at executing cross platform tests using real devices/browsers.
Real Device Testing – Why It’s Essential
While simulators and emulators seem attractive, testing on genuine platforms offers tangible benefits:
Precisely Replicates Real World Conditions
Factors like underlying hardware, OS, screen sizes, network adapters uniquely impact software behavior. Testing on real mobile devices and real desktop browsers accurately mirrors realistic environments.
For example, CameraX APIs may malfunction on an Android emulator while working fine on an actual phone. Geolocation accuracy differs based on device GPS hardware. Only real testing surfaces such issues.
Provides Authentic User Perspective
Testing on the actual devices and browsers customers own offers the true user experience. Real device testing makes your app shine on platforms customers use daily.
Overcoming Real Device Testing Challenges
While real device validation is vital pre-release, consider what’s needed to enable it internally:
Procuring Devices – Buying a comprehensive mix of phones, tablets, laptops spanning various hardware specs, price points and OS versions
Managing Inventory – Tracking device utilization, bookings, shareability amongst distributed test teams
Platform Setups – Installing needed OS versions, browsers, tools on each device
Test Environment Prep – Devices must be configured with necessary app state before each test run
Maintenance – Managing damaged devices, battery failures, network/ data issues
Upgrades – Continual need to buy and set up new OS releases, browser versions, device models
All these overheads make building and operating on-premise real device labs expensive – around $200,000 for 250 devices, with continual costs for expansion and upkeep.
Facing these infra and test environment complexities early on instead of focusing precious time on product development is suboptimal.
This is where cloud based real device solutions help tremendously.
Unlocked Potential with Cloud Solutions
Instead of procuring and managing device labs in-house, cloud platforms like BrowserStack provide instant access to vast real mobile device groups hosted in secure data centers.
Benefits include:
3000+ Real Device Cloud – Choose from among thousands of unique real Android, iPhones, iPads and laptops to test on
Comprehensive Models Catalog – Latest flagship phones to entry-level devices; High-performance laptops to underpowered machines
All Mainstream OS/Browsers – iOS, Android versions spanning 5+ years; Safari, Chrome, Firefox covering all widely used versions
Instant Test Access – No more waiting for device availability. Scale from 1 to 500+ simultaneous tests
Automated Reporting – Central dashboard providing real-time test results and analytics
Integrations – Plug into CI/CD pipelines for early testing – Jenkins, CircleCI and more
Security – All data centers SSAE 16 and ISO 27001 certified
In 2022 alone, over 25,000 customers worldwide leveraged BrowserStack for app and website testing – including leaders like Google, Microsoft, Barclays and Expedia.
For Thomas Zachariah, Test Automation Lead at Consumer Reports, “BrowserStack reduced our release test cycles from weeks to hours”.
Now that we’ve covered the why and how of cross platform testing at 10,000 feet, let‘s get more tactical.
Step-by-Step Cross Platform Testing Guide
While concepts we’ve discussed so far apply broadly, real world execution varies for website/web app vs mobile app testing.
Let’s explore exact steps to test both categories across devices, browsers and operating systems:
1. Cross Browser Testing for Websites
Manual Testing
BrowserStack enables live interactive testing of websites across 2000+ browser-OS, device combinations.
-
Simply pick the target desktop browser, operating system and device/screen-size
-
Instantly access the chosen platform via BrowserStack’s cloud
-
Manually click through the website to validate functionality and UX
-
Switch browsers and devices on the fly to test across combinations
This facilitates quick validation against visual inconsistencies, layout problems, JavaScript errors that manifest only on specific platforms.
Automated Testing
In addition to manual testing, BrowserStack allows running Selenium and Cypress test automation suites across its real browser cloud.
For example, with the same Selenium scripts you can:
-
Execute tests in parallel across different browsers like Chrome, Firefox and Edge on Windows and macOS
-
Scale test runs across browser versions – test on Chrome v100 as well as v97
-
Compare test results across browser types in the centralized dashboard
Similar automation is possible for mobile web using frameworks like Appium on real devices.
This achieves wide browser test coverage complementing manual spot checks.
2. Cross Device Testing for Mobile Apps
Native and hybrid mobile apps can also be easily validated across real Android and iOS devices using BrowserStack.
Manual Testing
-
Upload your IPA or APK builds to BrowserStack using its App Live platform
-
Select target mobile devices across various hardware profiles (CPU, Resolution etc)
-
Interactively test critical app user flows on chosen genuine devices
-
Check UI rendering across varying form factors – 5 to 12 inches
Automated Testing
Appium along with cloud based access to thousands of real mobile devices enables accelerated automated testing.
For example, using parallel test execution you can:
- Run UI test suites across a wide mix of Android phones and tablets
- Execute tests across varying OS versions – Android 7 to Android 12
- Compare test results across device configurations in the cloud dashboard
- Identify and fix regressions rapidly across app versions
Both manual and automated testing facilities make BrowserStack an invaluable tool for mobile engineering teams to deliver high quality mobile user experiences.
Cross Platform Testing Best Practices
Let’s quickly recap some key cross platform testing best practices:
Analyze User Data – Guide test coverage by target demographic preferences
Map Test Types – Outline test scenarios for functionality, UI, security etc
Shift Testing Left – Embed test automation into CI/CD pipelines early
Benchmark on Flagships – Compare visual results across popular premium devices
Assess Legacy Platforms – Account for fragmentation in OS versions, browsers
Compare Network Impact – Test app behavior on 3G vs 5G connections
Real Devices, Not Simulators – Leverage cloud solutions for real testing at scale
Sample Test Plan Template
Here is a sample high-level test plan template highlighting aspects to consider as you formulate your own cross platform testing strategy:
Test Plan for Ecommerce Mobile App
Overview
- Target User Base: 25-34 yr working professionals in US/Canada
- Devices: iOS and Android Smartphones
- OS Versions: iOS v14+, Android v8+
- Test Types: Functionality, UI, Performance, Security, Network
Key Test Scenarios:
Login & Signup Flows
- Test with valid and invalid input parameters
- Validate error handling
Catalog Browsing
- Assess category page load times
- Confirm sorting/filtering works
Product Details Page
- Validate image zoom, video playback across devices
- Confirm Buy Now button clickability
Payments
- Test checkout with top payment methods
- Inject network latency, validate resilience
UI Testing Scope
- Manual spot checks across device display sizes
- Automated regression testing for UI elements
Test Environments:
- BrowserStack device cloud for mobile devices
- CircleCI for CI/CD integration
- Appium for test automation across 2000+ real devices
Test Reporting
- Automated test metrics per device, OS and test run
- Visual regression history
- Shareable status dashboards
Use this as a template highlighting areas to cover as you design testing strategies for websites, web apps or mobile apps. The specific test cases will vary based on product functionality but this framework should help accelerates execution.
And thats a wrap! Let‘s connect if you need any help orchestrating real device testing for your apps and websites.
About the Author
Pradeep has over 15 years of experience in test automation, performance engineering and DevOps across startups and enterprises worldwide. He now leads browser testing initiatives for BrowserStack – helping QA teams validate websites and mobile applications at scale using the power of the cloud.
Prior to BrowserStack, Pradeep managed test engineering groups at Amazon and Nokia building innovative cloud testing solutions. He is passionate about leveraging software, data and infrastructure to unlock human potential globally.