Agile teams will face many technological challenges as they implement continuous delivery. Continuous delivery...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
requires developing a methodology or approach through which new code is ready to be deployed to production at any time. Continuous delivery is not continuous deployment. Continuous delivery is producing code that is ready for deployment; the code doesn't have to be released continually.
The most complex challenge that Agile teams face as they implement continuous delivery is the need to achieve continuous integration. Continuous integration is a process in which developers integrate small pieces of their code into the code base frequently. Obviously, this requires continuous testing.
To achieve continuous testing, a build server is usually used as a repository to collect the code as individual developers commit it. Then, the build server can automatically smoke test the code before formal testing. Unit tests and simple integration tests can also be automated by the build server.
When continuous integration is achieved, code is automatically regression tested as soon as it is checked in by the developers. This means that each change is tested against the entire code base. This is the key to continuous delivery because continually tested, integrated code is ready to be deployed to production at any time. On the developers' end, if any of these automated tests fail, the developer gets feedback right away, which makes errors easier to find and fix.
Continuous integration poses unique challenges for testers because it not only requires a test harness, or a suite of automated regression test scripts, but also those automated scripts must be constantly updated as new features are delivered.
Automated configuration management is crucial to achieving continuous integration. Automated configuration management ensures that the development, test and production environments are almost the same so that regression and integration related defects are easily found.
Finally, application performance management becomes critical as code is deployed to production continually. Performance must be monitored in production to catch performance issues before the customer does.
Find out the business benefits of continuous delivery
Uncovering the technical advantages of continuous delivery
Why you should use continuous software delivery for mobile
Dig Deeper on Software Development Fundamentals
Related Q&A from Gerie Owen
Software testers need more than technical skills. Expert Gerie Owen explains why this career choice requires an inquisitive mind and an ability to ...continue reading
Software testers now need to add machine learning to their repertoire of skills. Expert Gerie Owen explains why this is coming to your workplace soon...continue reading
A blockchain is an encrypted list of records anyone can add to. But should you be worried about testing blockchain? Expert Gerie Owen explains what ...continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.