Mobile Testing the DevOps way

DevOps – the term has been abuzz in IT circles and is catching on fast! What is DevOps anyway? And how does it help in Mobile testing? In his book What is DevOps?, Mike Loukides has quite a clear cut definition:

how modern applications, running in the cloud, still need to be resilient and fault tolerant, still need monitoring, still need to adapt to huge swings in load, etc. But he notes that those features, formerly provided by the IT/operations infrastructures, now need to be part of the application, particularly in “platform as a service” environments. Operations doesn’t go away, it becomes part of the development. And rather than envision some sort of uber developer, who understands big data, web performance optimization, application middleware, and fault tolerance in a massively distributed environment, we need operations specialists on the development teams. The infrastructure doesn’t go away — it moves into the code; and the people responsible for the infrastructure, the system administrators and corporate IT groups, evolve so that they can write the code that maintains the infrastructure. Rather than being isolated, they need to cooperate and collaborate with the developers who create the applications. This is the movement informally known as “DevOps.”

Well, the gist of it is simply this: Development+Operations (Here’s where you get the ‘Dev’ and the ‘Ops’ of DevOps) = Mindblowing Innovation!

Actually, DevOps cannot be contained in a definition of so many words. DevOps is a revolution to get software development businesses to ‘get their act together’. It is a movement that demands collaboration and cooperation between software development teams and IT operations teams. It is a generation of talented developers and system admins who love the ‘all decks on hand’ approach to creating great products. This goes a long, long way in preventing the age old battle of “Operations built a rubbish platform” vs. “The code is all wrong; ask the developer!” DevOps is where the blame game ends and true innovation begins.

The DevOps Strategy

Implementation of the DevOps Strategy in mobile testing entails four basic processes:

  • Continuous Integration
  • Continuous Delivery
  • Continuous Testing
  • Continuous Monitoring in Mobile Testing

Continuous Integration

This is the process through which different talented and dynamic developers and their teams integrate their codes into a “team build server and then do a system wide or application wide ‘Integration Build’. When you do these integrations on a regular, preferably daily basis, this is Continuous Integration.” (Source: DevOps for Dummies) This automated build in mobile applications includes an assembling of source code from the Source Code repository, compilation and then creation of binaries and dependencies, an inspection and deployment of these binaries to a mobile device, loading of database schemas and execution of tests remotely on the mobile device. The DevOps principle behind Continuous Integration is that developers are pushed to communicate and identify integration issues as and when they come up, minimizing errors, risks and delays associated with delayed detection of issues.

Continuous Delivery

The aim is to get it out to the users ASAP – to deliver the integrated codes to the QA team for testing, move it to the ops team where they can work their magic, validate and send it on to the production team for release. The goal is to get the application from the Dev environment to the Ops environment continuously, so it can be tested continuously.

Continuous Testing

In the Continuous Integration stage, the Dev team would have validated that the code integrates at all levels without error and then run their own set of tests. Now the Ops team will start their testing – smoke test, system stability or acceptance test – all seamlessly carried out in real time as the Dev team delivers.

Related:  Cross-Platform Mobile Test Automation Using Appium

Continuous Monitoring in Mobile Testing

The Ops team has the monitoring of their environments and systems all under control but in the DevOps strategy, they also need to monitor the applications. This is where they need to roll up their sleeves and get hand in glove with Dev. Both teams work together to ensure that the applications have self-monitoring or analytics capability built into it.

So basically, what DevOps brings to the table is better reliability, faster deliverables, a stop to internal firefighting, better products and very, very happy clients! DevOps is where cooperation and collaboration bring together development and operation, leading the way to superior product innovation in the mobility world. Call us at Cigniti to find out how this awesome strategy can work for you and don’t miss a chance to register for the upcoming webinar on Mobile Banking Testing by visiting the relevant session page (Jan 21, 2015 12PM EST OR Jan 28, 2015 9:30AM GMT) as per your convenience.

Cigniti Technologies is a global leader in Independent Software Testing Services with offices in US, UK, India, Australia, and Canada.