Last month, Apple reported it had facilitated almost half a trillion dollars (with a ’T’) of economic activity via its App Store. It’s a huge figure, but it’s also believable. Smartphones, once steely business tools, are now used by every segment of society, and businesses have launched their own apps as a response. Apps offer unique advantages to businesses. Firstly, there’s the engagement element. Put simply: people use their phones a lot. Research from RescueTime from mid-2019 puts that figure at around three hours and fifteen minutes a day — or nearly 50 days each year. And then there’s the fact that smartphones present new opportunities for engagement. From push notifications to analytics, mobile apps make it easy to reach and understand your customers. Of course, it’s never quite as simple as that. App development is a tricky business, and the approach taken by software development companies ultimately determines what an app can do, the value it delivers, and the testing techniques to adopt down the line. A tale of two app development approaches Perhaps the first decision made when developing an app is whether to take a native approach or to use web-based technologies. Many developers take the latter approach, simply because it’s easier. Web-based apps are written using the three cornerstone technologies of the browser: HTML, CSS, and JavaScript. Because these are built using universal languages, they can be deployed across the relative Android and iOS app stores without any major platform-specific modifications. There are downsides, however. Web-based apps are typically slower and less capable than their native rivals. They’re also often reliant on online services to work, meaning if your user is offline, your app won’t work. By contrast, native apps are built specifically for the platform on which they’ll run. Developers working with iOS will often use Apple’s Swift and Objective-C languages, while those in the Android world will use the three languages supported by Android Studio: Java, Kotlin, and C++. This isn’t an exhaustive list. There are many third-party solutions that let developers build native apps with other languages, including Python (via PyMob), C# (with Xamarin), and Ruby (with RubyMotion). Native app development is a more involved affair, resulting inevitably in longer development cycles, and more work-hours required. You also need to create a separate app for each mobile operating system you want to target. As a result, upfront costs are higher. But there are significant advantages that make it a compelling option for businesses. Since they’re compiled and built specifically for a mobile platform, they’re faster. They also more easily match the mobile platform’s aesthetic. With an app’s long-term value based as much on user retention as it is on acquisition, this is vitally important. You want your users to be happy. On a technical level, native apps typically have greater access to the underlying mobile operating system’s APIs, making it easier to access the device’s hardware: the camera, accelerometer, and so on. Enter burstable testing Burstable testing is an iterative approach to software QA. In essence, it builds upon existing networked human-driven testing approaches and sees tests executed in short “bursts” to identify flaws. Testing teams are larger, pre-trained, and typically distributed. There’s a reason for that: it increases availability, allowing testing to be performed at short notice. Communication is emphasised. So too is domain-specific knowledge. That intricate understanding of an app helps the overall testing process. And for native app testing, the burstable testing approach comes with some key advantages. Reason 1: Money, money, money Native applications are inherently expensive, particularly when contrasted with their web-based equivalents. Developer time, after all, isn’t cheap. Compounding that is the fact that you’ll have to support multiple codebases for iOS and Android. With a burstable test strategy, native app testing experts are available when you need them to test, and you only pay when you are using them. For example, instead of having a large QA team, you can burst 20 testers for the day you need them. And by ensuring a continuous level of quality control driven by experts with either an intimate understanding of the app, the problem it tries to solve, or the underlying platform, you’re best positioned to recoup that initial cost of investment. Reason 2: They’re built for one platform As mentioned, native applications are designed for specific platforms. An iOS app won’t run on Android, and vice versa. The languages, libraries, and SDKs are fundamentally different. They use different API calls. Sometimes, you’ll need to create different visual assets for each platform. This, again, reinforces one of the key advantages of burstable testing. It places human experience and understanding at the heart of the process. Testers are experts in their field and are pre-vetted to ensure they know what they’re doing. As a result, you’re best positioned to account for platform-specific issues and edge-cases that otherwise would be missed with more generic testing approaches. Burstable testing also emphasizes the importance of larger teams, which is a necessity when dealing with multiple codebases, as it ensures your resources aren’t spread too thinly. Additionally, with burstable testing, each tester brings their group of real devices to test, so you gain a large diversity in devices to test. This is especially important during situations like the COVID-19 outbreak where test devices might be stored at the developer’s office, but the team is working from home. Reason 3: The overall user experience is great Native apps are constructed using the existing visual building blocks provided by the platform. Both Android and iOS have their own design language that trickles down into their apps. Of course, it goes beyond that. The very nature of a purpose-built app is such that it is created with a specific objective in mind. This means that designers know exactly the sort of experience that will make the grade thanks to usability testing, branding and a familiarity with the general standard of UX on that platform. That said, it’s not all about aesthetics. Even though it contains elements of graphic and motion design, UX design is primarily about the nature of interaction — or, more bluntly, how something behaves. This is especially important when you are designing applications (which are behavior-based objects) as opposed to designing documents (which are content-based objects). Every decision you make for your product should stem from the user. You must think of the user’s needs first, before everything else. In other words, practice “outside-in design.” Think about the user’s needs and their context, design what the user will see and interact with, and then go about deciding how to solve all the challenges that lie ahead. Burstable testing places the platform at the heart of the process and acknowledges that there will be inevitable differences between environments. Tests are meticulously documented beforehand and can account for problems experienced on specific devices. The distributed nature of burstable teams means that you can run your test workflows across a wider range of phones and tablets than you otherwise would with an in-house test suite. So you get a larger number of tests from different locations, different personalities, abilities, and cultures. This diversity in testing may help ensure that your app will work for your wider user base. Reason 4: Functionality and opportunity One of the major factors driving businesses to embrace native apps over their web-based alternatives is the fact they offer better access to device-level functionality (like the camera and microphone) and other aspects of the operating system via a collection of APIs. Higher-level HTML-based apps simply don’t have that ease or extent of access. In many cases, native apps are also less reliant on external online services. Users can wander into a cellular blackspot, but continue working. And, as previously mentioned, you can align your app with the underlying operating system’s UX conventions. Burstable testing turns tests into small processes, which can be broken down and shared with a wider group of testers, allowing you to increase your overall test coverage while ensuring consistency across a broad swath of devices.