Cloud based enterprise applications generally are deployed in large set of machines in a topology which is elastic in nature, unlike the premised based applications which need small set of machines, with fixed topology. These applications have to be highly available with 0% downtime. They also have shorter release cycles compared to the premised based applications. These characteristics of the cloud based applications bring in huge challenge for the continuous integration & testing due to limited resources available with the development teams.
This can be solved by applying TDD methodology for automation and by doing continuous testing using the continuous delivery pipeline. At the early stages of the pipeline, individual components are tested independently, using minimal resources, with maximum code-coverage. This can be achieved by using the Mocking libraries wherever there is a dependency between components. Only the components which pass the unit tests will be promoted and used in the integration testing, where the complete product is tested. Similarly only those components which pass the integration test would be used for system testing.
Thus using TDD approach with Continuous delivery pipeline will ensure faster development feedback, optimal utilization of limited resources, with high quality product ready to be delivered any day.
Just one liner about the cloud & onPremise software
Cloud needs huge setup
Data is in someone else’s computer
Grows bigger onDemand (elasticity) – Bring and plug it and it should get working.
Zero downtime
Focus on how testing a cloud software is different than testing an onPremise software:
It requires a huge environment setup
Agile
Focus on how testing a cloud software is different than testing an onPremise software:
It requires a huge environment setup
Agile
Bring them together under Continuous Delivery pipeline
OMC Pipeline – till release to OPC (Idoru)
OPC Pipeline – till prod