{"id":27346,"date":"2019-07-09T07:29:23","date_gmt":"2019-07-09T11:29:23","guid":{"rendered":"https:\/\/centricconsulting.com\/?p=27346"},"modified":"2021-12-15T00:16:32","modified_gmt":"2021-12-15T05:16:32","slug":"devops-pipelines-part-2-taking-a-look-at-continuous-delivery-and-testing","status":"publish","type":"post","link":"https:\/\/centricconsulting.com\/blog\/devops-pipelines-part-2-taking-a-look-at-continuous-delivery-and-testing\/","title":{"rendered":"DevOps Pipelines Part 2: Taking a Look at Continuous Delivery and Testing"},"content":{"rendered":"

Continuous Delivery and Continuous Testing are essential elements in understanding how to build out capabilities for continuous development and deployment of software.<\/h2>\n
\n

We talked about Release Planning (RP) and Continuous Integration (CI) in part one<\/a> of this series.\u00a0Those two capabilities aid in story creation and agile software development.<\/p>\n

Now, I want to talk about Continuous Delivery (CD) and Continuous Testing (CT). This part is where we get into more automation.<\/p>\n

Continuous Delivery<\/h2>\n

\"DevOps<\/a>Continuous Delivery (CD) is a bit complex these days. In the past, as companies requisitioned \u201cstatic\u201d servers from the IT team, potentially delaying completing provisioning step for weeks.<\/p>\n

For example, you might write a \u201cDeployment\u201d with Chef recipes to deploy packages to the provisioned server. However, due to the proliferation of cloud computing, the provisioning of environments takes on a new meaning.<\/p>\n

Infrastructure as Code (IaC) is now more commonplace in organizations. Having stories around configuration management as well as IaC is critical for the Configuration or Provision Epic<\/strong>. If you modernize your infrastructure architecture, using containerization is the next step for the Package or Deploy Epic. It\u2019s important to have stories around docker or serverless technology, like Lambda<\/a>.<\/p>\n

Automatic recognition of the completion of a step that immediately triggers the next step speeds up your pipeline. The CI Engine controls this process.\u00a0\u00a0<\/strong><\/p>\n

 <\/p>\n

The chart below explains:<\/strong><\/p>\n

\"DevOps<\/a><\/p>\n

If a step fails, feedback goes to the team responsible for fixing the problem. Whatever the problem, whether it\u2019s with the code, test data, or another issue, the team needs someone available to address the issue quickly, to restart the processing of the pipeline again.<\/strong><\/p>\n

Continuous Testing<\/h2>\n

When it comes to the Continuous Testing capability, Functional Testing (FT) and Performance Testing (PT) are the center point for your Epics.\"DevOps<\/a><\/p>\n

For FT, you need to create a test automation framework that suits your application profile needs. A Selenium-based framework might work for testing web applications, or you may want to choose a Cucumber-for-Ruby framework for functional test automation.<\/p>\n

When broken down, these stories need several sprints worth of work. Place all stories in the Product Backlog. Also, pull only those stories you can work on during a sprint into the Sprint Backlog. FT frameworks take months to set up, and we\u2019re not even talking about automating test cases yet.<\/p>\n

Remember, test automation makes the most sense to management. They know you must test. The challenge is implementation, because implementing test frameworks is the hardest of all the DevOps capabilities.<\/strong><\/p>\n

For those applications with performance requirements associated with them, having a Performance Test (PT) suite makes the difference between a 10 second versus a one second response time on your website. Base your stories on the type of performance tests needed.<\/p>\n

Why is Continuous Testing after Continuous Delivery? Well, Continuous Delivery, as I define it, means \u201chaving code in a deployable state.\u201d I don\u2019t focus on \u201cwhere to deploy\u201d that code. I need code deployable at any time, to any environment. You can\u2019t test anything until you deploy code to an environment.<\/p>\n

Finally<\/h2>\n

In this section of our three-part series, we focused on Continuous Delivery and Continuous Testing.\u00a0You now understand how to build out capabilities for continuous development and continuous deployment of software.<\/p>\n

Next time, we\u2019ll wrap up with Continuous Monitoring & Observability (CM) and a few other concepts around the security of your applications.<\/p>\n","protected":false},"excerpt":{"rendered":"

Continuous Delivery and Continuous Testing are important elements in understanding how to build out capabilities for continuous development of software.<\/p>\n","protected":false},"author":63,"featured_media":27354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_oasis_is_in_workflow":0,"_oasis_original":0,"_oasis_task_priority":"","_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","footnotes":""},"categories":[1],"tags":[18526],"coauthors":[15012],"acf":[],"publishpress_future_action":{"enabled":false,"date":"2024-07-21 21:06:17","action":"change-status","newStatus":"draft","terms":[],"taxonomy":"category"},"_links":{"self":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts\/27346"}],"collection":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/comments?post=27346"}],"version-history":[{"count":0,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/posts\/27346\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/media\/27354"}],"wp:attachment":[{"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/media?parent=27346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/categories?post=27346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/tags?post=27346"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/centricconsulting.com\/wp-json\/wp\/v2\/coauthors?post=27346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}