anchor.diff:  ---
   <% content_for :banner do %>
     <figure>
  -    <img src="/assets/images/blog/cd-considerations/5-consideration-microservices-gocd.jpg" alt="Continuous Delivery of Microservices"/>
  +    <img src="/assets/images/blog/cd-considerations/test-strategy-microservices.jpg" alt="Test Strategy for Microservices"/>
     </figure>
   <% end %>
   
  
positive.code: type: post
  author: Sheroy Marker
  excerpt: "In the second post of this blog series, we will dig deeper into testing strategies for a microservices architecture.."
  summary_image: "/assets/images/blog/cd-considerations/5-consideration-microservices-gocd.jpg"
  title_tag_of_header: "Testing Strategy for Microservices | GoCD Blog"
  meta_description: "GoCD is excited to announce the release of our Kubernetes Helm Chart that will allow our users to run GoCD natively on Kubernetes."
  meta_keywords: "testing strategies, microservices, continuous delivery, microservices architecture, deployment strategies, e2e tests, unit tests, end to end tests, blue green deployment, canary deployment"
  
negative.code: 
  This traditional style of testing has its limitations. There are categories of errors that you can’t really simulate in test environments. Examples of these sorts of issues include issues caused by eventual consistency in a highly distributed system, and hardware and network failures causing parts of the system to fail. You have to supplement traditional testing techniques with techniques that allow you to profile and monitor systems in production effectively, and the ability to take remedial action in production when things do go wrong. In this post, I will focus on testing in production, and cover remediation strategy in a later part of this series.
  
  There is a category of testing in production called [fault-injection](https://en.wikipedia.org/wiki/Fault_injection), which is introducing errors in a controlled manner in production to see if your system can hold up to those errors. 
  
  A variation of in-production testing are some specific deployment strategies that are popular in these environments: 
  
  