Reduce QA costs, accelerate mobile app cycle time
With increasing demand for mobile services driving shorter and shorter release cycles, mobile development and Test/QA teams are under greater pressure than ever. They need a structured method for dealing with the proliferation of operating systems and devices and their unique requirements around the world. In this paper, we look at how test automation can address these emerging needs, outline the business case for it, identify which parts of testing can be automated and suggest best practices and tools for success.
Software testing and QA have evolved into a whole new dimension as mobile becomes the platform of choice for customers and employees. Mobile applications and services are in high demand and have to be developed and tested quickly and thoroughly before being pushed out to the market. A traditional QA cycle, which used to take 3-6 weeks, is now being condensed to just a few days. If the application does not meet the quality standards end-users expect, more cycles are required to remediate those issues, negatively impacting brand loyalty, revenue, competitive advantage and operating budget.
Traditional manual testing can no longer cover all of the bases – especially when the app-to-market lifecycle has to be short. There has to be some mechanism to test an app quickly and effectively, without wasting cycles. As a result, mobile automation has become a popular choice to offset these barriers and maintain adequate test coverage.
Mobile testing is challenging – a seemingly endless combinations of devices, OS’s, carriers, and networks and a lack of established best practices or industry standards around it. Mobile applications have become increasingly complex and to test the performance of the app on the server, device and network can be inundating. Existing enterprise automation tools are ill-equipped to meet the unique needs of mobile apps and automation strategy requires specialists who can develop custom scripts for associated business needs.
Find the right balance
Regression tests can be easily automated to ensure that basic functionality is maintained from the previous release. OS specific test cases can be defined and executed in multiple environments for that OS. Automation works best with features that are stable and are not undergoing changes. Not all features can be automated and require manual testing. So, there needs to be a balance between manual and automated testing.
Pick the right times
QA managers must choose the right time for automation. Automating very early in the application’s lifecycle might require too many changes in the future and can significantly raise automation costs and effort. Only after manual testing has been established with repeatable processes and stable test cases, should automation be considered.
Pick the right tools
There are many automation tools in the market that provide the automation engine through a public or a private cloud platform. Some of the better known options include Perfecto , Keynote, Sauce Labs, ZapFix, Eggplant, Selenium, Robotium and Jamo. Here’s a partial list that can be used, depending on the platform. Note: This is a basic list, and new tools get added frequently.
This involves identifying the right tools and technologies for automation and defining reusable test assets. Parameterizing select test cases by leveraging reusable assets to enable data driven test automation is essential. Maintaining these reusable frameworks and automated tests with changes in application is also critical.
To quantify the benefits of test automation, you must understand the true costs of automation. It is key to begin the conversation by discussing the different cost variables involved once the automation environment has been set up. The cost of automating test processes is tangible but the net present cost and value includes many intangible factors. The best approach is to determine, with as much precision as possible, what the hard-dollar costs are today and then compare them to the hard and soft dollar benefits of automating the test efforts.
In addition to dramatically reducing operating expense and accelerating time to market, test automation provides many intangible benefits as well. For example, automation can help improve employee morale and productivity because it can take on repetitive testing tasks, freeing the QA team to focus on more challenging tasks.
Discovering bugs early in the testing cycle is another intangible benefit that is difficult to measure in terms of potential impact on cycle time and customer satisfaction. The later in the development cycle defects are found, the more expensive they are. A defect identified in a production environment can be greater than 100 times more expensive to fix than the same defect identified earlier in the design phase. Automation is the key to improving the speed, accuracy, and flexibility of the software testing process, enabling companies to find and fix more defects earlier.
Test automation can drive dramatic benefits when applied properly – reduced testing costs; faster time to market for new apps/services and faster entry into new markets and geographies. But quantifying those benefits can be complex. In organizations where decisions are made purely on ROI, managers must keep several criteria in mind while making computations. In many cases, the intangible benefits of automation will supersede the tangible benefits. Hence, ROI computations might not reveal the total value. The best results are obtained when costs and benefits are computed in terms of opportunity costs related to test automation and manual testing. This will provide decision makers the visibility into some of the intangible costs and benefits of automation. Test Automation has worked its magic for many enterprises. It can do the same for you.
We would love to hear more about your project.
Even a short phone call can help us explain how our solutions can accelerate your mobility, jump start your continuous delivery and help reduce costs. And that’s just for starters, understanding more about your project will enable us to build a solution that fits your objectives, infrastructure and aspirations!Contact us
Quality Engineering is an approach to software development and testing that’s getting a great deal of attention. It...