Mobile computing is ubiquitous today. This will only continue and further grow into newer horizons in the coming years. Every new technology or device that enters the market has its connect with the mobile space making it inevitable to build a solid engineering strategy around the same. The mobile market, as we know is dominated by the two large players, Apple and Google – with their operating systems, iOS and Android. At the core, we also know that an app on a mobile can be a web app, native app or hybrid app. Native apps are very popular in the mobile market place and all app makers strive to position their apps as a solid native solution. To that extent, React Native is now very popular in developing robust native apps. Facebook, Instagram are all solid examples of React Native apps. Organizations are striving to release Native apps of solid quality, to ensure a strong market share.
A comprehensive native mobile app testing automation strategy herein becomes key. Traditionally Appium is what most testers have used and continue to use. While popular, Appium has its own limitations around dependency on webdriver, lack of code re-usability between iOS and Android, long execution times etc. iOS app testing also has more nuances compared to the Android app testing space, in terms of access to resources on devices, how many actions can be taken up in a given amount of time etc. Organizations are continuing to use Appium despite these limitations given that not many other solutions exist and the community support is large, thus making the app testing approach driven by a rather monopolistic solution. However, this situation is slowly changing. We have, in some of our projects, in recent times, used DETOX, which is another open source community driven, test automation tool for REACT Native apps. Detox, takes the test effort one step closer to the development effort, truly enabling quality in devops cycles. It promotes a more white box test effort, enabling test hooks to be added in the source code, also easing the unit testing process. While it has early teething issues around, a much lower community support compared to Appium, the need to access source code (which may not always be possible), need for physical iOS devices, it has some strong positives around, much faster execution of tests, code-reusability across mobile platforms, reliable tests without having a web driver dependency, a faster enabler of quality empowering developers also to take on unit testing, shift left in bringing testers closer to the development cycle in testing at a code level, amongst others. Both Appium (which is more feature rich and stable today) and DETOX have solid advantages and stand out limitations. This will continue to evolve in the coming months and years, but the good news for the community is that DETOX is a healthy opponent to Appium giving a solid set of options for the testers to choose from.
This is an exciting topic coming up for presentation at QA InfoTech, for our upcoming annual testing summit, Qualloquium. We are excited to learn more about DETOX and see demos in action – this is a quick teaser blog on what’s coming up in our event.