Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a Continuous (Non-)Functional Testing of Microservices on K8s(20)

Anúncio

Mais de QAware GmbH(20)

Anúncio

Continuous (Non-)Functional Testing of Microservices on K8s

  1. TITELTEXT Continuous (Non)-Functional Testing of Microservices on K8s Code Days 2021 Digital, February 11th 2021 @LeanderReimer #cloudnativenerd #qaware #CodeDays
  2. Mario-Leander Reimer Principal Software Architect @LeanderReimer #cloudnativenerd #qaware
  3. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 3 "Software Is Eating the World.“ Marc Andreessen, 20th August 2011
  4. Dev Ops
  5. https://commons.wikimedia.org/w/index.php?curid=2223771
  6. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 9 Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time .… It aims at building, testing, and releasing software with greater speed and frequency.
  7. The Software Assembly Line
  8. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 11 "Software Industrialization 
 is key for successful DevOps 
 and Continuous Delivery." Unknown source, 22nd October 2019
  9. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 12 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting Input Output
  10. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 13 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting
  11. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays 14 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting
  12. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays Claim 1: A single, linear CI/CD pipeline is suboptimal and will result in delayed feedback and long release cycles. 15 Check-In Build Test Integrate Deploy to Production Automated Acceptance Tests Manual Auto Auto Auto Auto? Acceptance Security Performance These high level tests are usually delayed until the end of sprint or the release. 
 Which one fi rst? Is Functionality more important than Security or Performance?
  13. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays Claim 2: A microservice architecture with many down stream dependencies is complex and hard to test. 16 Cluster Microservice 
 A Microservice 
 B External System B TEAM A TEAM B UNKNOWN Microservice C TEAM C External System A
  14. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays Solution: Why not continuously run (non)-functional tests against a complex microservice architecture? 17 Check-In Build Integrate Auto Auto Auto Smoke Tests Quality Acceptance Security Performance Auto Manual Report & Alert Continuous Runs inside the cluster Test Deploy to Production Integration Environment
  15. // Code Days 2021 Digital —> Go for Operations // @LeanderReimer #cloudnativenerd #qaware #CodeDays #OOPmuc 18 Code & Demos https://github.com/qaware/continuous-k6k8s https://github.com/qaware/continuous-zapk8s https://github.com/qaware/continuous-atdd
  16. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays Load Testing for Engineering Teams • Made for Developers. The k6 API and CLI are easy to use and fl exible. • Out-of-the-box Docker support. Can be run in a container easily. • Suitable for Smoke Tests, Load Tests, Stress Tests and Soak Tests. • Supports REST, GraphQL, gRPC and Websockets. • Result visualisation via DataDog, CloudWatch, In fl uxDB+Grafana, New Relic and many others • Extensive documentation and good community. 19
  17. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays OWASP Zed Attack Proxy (ZED) • Widely used, popular, free and open source web app scanner. • ZAP provides powerful APIs for security automation. • Intercepting proxy, active and passive scanner, traditional and AJAX spider, brute force scanner, port scanner, OpenAPI v3, web sockets. • ZAP's docker images provide an easy way to run ZAP, especially in a CI/CD environment: baseline, full scan, API scan, Webswing UI. • Extensive documentation and international community. 20
  18. // Code Days 2021 Digital —> Continuous (Non)-Functional Testing of Microservice on K8s // @LeanderReimer #cloudnativenerd #qaware #CodeDays Very Groovy Browser Automation • Cross Browser Automation: Chrome, Firefox, Safari, Selenium Hub, … • Powerful, easy to learn Groovy based DSL. Easy content navigation and access inspired from jQuery. • Built-in support for Page Object Pattern for maintainable, stable UI tests. • Supports asynchronicity and dynamic content . • Provides integration modules for popular test frameworks: Spock, Unit, TestNG and Cucumber • Good and easy build system integration for Maven and Gradle 21
  19. Mario-Leander Reimer Principal Software Architect, QAware GmbH mario-leander.reimer@qaware.de https://www.qaware.de https://speakerdeck.com/lreimer/ https://github.com/lreimer/ &
Anúncio