Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper

The continuous delivery pipeline is the process of taking new or changed features from developers, and getting features deployed into production and delivered quickly to the customer. Testing within continuous delivery pipelines should be designed so the earliest tests are the quickest and easiest to run, giving developers the fastest feedback. Successive rounds of testing lead to increased confidence that the code is a viable candidate for production and that more expensive tests-time, effort, cost-are justified. Manual testing is performed toward the end of the pipeline, leaving computers to do as much work as possible before people get involved. Although it is tempting to arrange the delivery pipeline in phases (e.g., functional tests, then acceptance tests, then load and performance tests, then security tests), this can lead to serious problems progressing far down the pipeline before they are caught. I'll show how to arrange your tests so each round provides just enough testing to give you confidence that the next set of tests is worth the investment. I will also explore how to get the right types of testing into your pipeline at the right points.


Speaker Biography:

Gene Gotimer,

Coveros, Inc.

Gene Gotimer is a senior architect at Coveros, Inc., a software company that uses agile methods to accelerate the delivery of secure, reliable software. As a consultant, Gene works with his customers to build software better, faster, and more securely by introducing agile development and DevOps practices. He has many years of experience with web-based enterprise application design and a variety of development ecosystems, including continuous integration, continuous delivery, and DevOps. Gene feels strongly that repeatability, quality, and security are all strongly intertwined; each is dependent on the other two, which makes DevOps that much more crucial to software development.