In today’s world of digitization, light weight apps that are ready for user consumption very quickly, are very popular. These are often mobile applications with a web presence too and the focus is all about the functional and non-functional pieces such as performance, security etc. coming together to provide an exceptional experience to end users. While these are the larger set of apps that we witness, a plethora of enterprise apps are also being heavily used to power businesses 24/7, making enterprise app testing a large business in itself. What is it that is different about enterprise app testing and how do you achieve automation therein.
Enterprise apps are typically large, rule / workflow based, use a lot of data, and rely on tight coupling between business and engineering teams. Given the scale of development, in most cases, engineering teams are also large and development cycles tend to be more waterfall like than agile in nature. A lot of customization and field testing also becomes necessary. In our experience testing SAP systems for ISVs, including large retailers, enterprise app testing services differ from app testing in their own right. Often a deep understanding of the enterprise app becomes important, making domain knowledge a must, rather than a nice to have. A release calls for not just for engineering sign off but also business app testing before readiness is determined. A large set of modules come in together making individual module as well as integration testing very important. For example, even for a small enterprise app, let’s say built on SAP, atleast four to five modules, come together. The number of tests are usually small, but each test often has hundreds of steps to complete, given that the workflow is deep and embedded. A combination of the domain, specific module that is being used for the enterprise app development, along with core functional testing skills, is usually a good set to take on enterprise app testing.
Given the volume of activity, and how mundane it can get with the deep workflows, automation is also quite popular in enterprise app testing services, but there are a few places where automation herein, is different from automation for web apps. Web apps are technologically more sophisticated. To automate them, deeper technical expertise with test automation tools become important. Test frameworks need to be designed and implemented by architects – strong knowledge of programming languages becomes a must. In contrast, automation for enterprise apps, does not need a lot of technical expertise or programming knowledge exposure. Understanding of how the tool works, is what is needed. The tools are often aligned as record and play solutions for the specific workflows of the enterprise app. Worksoft Certify, HP QTP are all good examples herein. A few challenges that teams face here include maintaining the automation if the enterprise app’s UI changes, integrating the automation with the core ALM for ongoing execution (herein custom plugins may need to be developed), integrating these automation suites with standard web interface automation solutions the teams may have developed. Again these are not impossible to achieve, but areas the teams need to focus on, as part of their end to end automation efforts.
As we see more web applications, we will also continue to see more enterprise applications. Deep functional testing and automation testing together will strengthen the quality of these applications too – testers herein should continue to play an important role bridging engineering efforts and business requirements to ensure they are true end user advocates for enterprise apps too.