Assurance driven by automation is a top priority today for next gen Enterprises taking the mobile route. Without an automation strategy, Mobility Quality Assurance (QA) functions will be unable to cope with the digital era’s lightning quick release cycles. Automation solutions were earlier considered a novelty; organizations faced a challenge due to a dearth of available solutions in the market. Times have changed, and today organizations still face difficulty, but due to a large variety of commercial, as well as open source solutions available in the market. They are required to answer which tool should be selected, which one will show quick results, and realize ROI right away, Should Testing be carried out on actual devices - Premise/ Cloud or on emulators, how to shift automation left to ensure true alignment to agile methodologies? Some of these thoughts when delved into further brings to light the limitations, as well as the multiple opportunities that exist in the mobile Test Automation landscape.
A brief snapshot of today’s Mobility Test Automation scenario
In the Digital era, organizations are required to release updated mobile apps frequently (yearly and monthly) in order to adapt to their customers constantly changing needs. This makes Agile and DevOps life-cycle the need of the hour. This also means that the traditionally short assurance window is squeezed shut even faster, making automated assurance all the more important. The path to a successful Test Automation implementation however is not easy. Constant application changes, a key feature of Agile Software Development Life-Cycle (SDLC) are a major road block. Automation Test Cases will fail to provide the required results unless they are constantly updated to support the latest version of application. But in most cases, by the time the Test Cases are updated, the application changes once again.
To summarize an organization’s dilemma, applications change frequently, time to execute QA is extremely less, and automation being the viable option, is still unable to addressing the problem.
The Answer: Optical Character Recognition (OCR) Text Recognition
Today, Mobile Test Automation is object property driven. For every UI element, there is (should be) an associated Object ID and using this ID and its properties, it is possible to interact with the UI directly. Since object properties are source code based, same objects work across multiple devices with the same code. This makes Test Scripts device agnostic and platform specific. Once the UI wireframes are available, Test Cases can be developed before the application is available to the QA team. This enables Test Case development in parallel to development during Agile sprints.
However, this approach has certain gaps that are yet to be filled. Object based validation faces challenges due two major reasons:
- Ever changing UI (experienced in most cases)
- A lack of well-defined object property identifiers mapped to each UI element
While Software Developers in Test (SDET) - testers with coding abilities- can address point 2 effectively, point 1 is still proving to be a headache to most Mobility QA teams. However, there is an answer to this: The OCR Text Recognition based approach.
A Text Recognition based approach makes life easier as the Test Cases can be easily modified by changing the “strings of interest” depending on the associated UI change. This way, time spent in making a script work, once again, is significantly less since it doesn’t involve object property detail extraction (which is time consuming as well as unsuccessful if the developer hasn’t assigned proper ID for each element). This approach is also device agnostic and the same script can be utilized across all devices for same platform. Depending upon application similarity, scripts can be reused across multiple platforms as well.
The use of text recognition based automation is justified by several other impactful factors as well. Mobility Experience is extending to smart devices (such as watches), and to augmented/ virtual reality supporting gear as well. For such cases, automated assurance using text recognition is more feasible.
In summary, text recognition based solution for mobility automation can lead to a shift left (early automation) in the Software Testing Life-Cycle, and also help in reducing in sprint functional automated assurance to just a few hours, after the build is released. Most importantly, this is achieved by writing scripts (which doesn’t require programming expertise unlike the unit Test Cases written using the mobile platform Test Framework- API s). It helps QA team overcome the challenge of keeping Test Cases in sync with respect to ever changing UI.