Advertisement
Advertisement

More Related Content

Recently uploaded(20)

Advertisement

Continuous Testing with Containers - 2020

  1. Melissa Benua / Director of Engineering Continuous Testing With Containers EUROPEAN TESTING CONFERENCE 2020
  2. ABOUT ME Melissa Benua Director of Engineering, DevTestSecOps mParticle Get in touch! mbenua@gmail.com @queenofcode Follow my work! https://www.linkedin.com/in/mbe nua/ https://www.slideshare.net/Meliss aBenua/ https://github.com/queen-of- code/ https://queenofcode.net @QUEENOFCODE
  3. ABOUT THE TALK @QUEENOFCODE WHAT IS A CONTAINER? WHAT IS CONTINUOUS INTEGRATION? WHAT IS THE CHANGE PROCESS? HOW DOES THIS AFFECT TESTING?
  4. WHY DOES IT MATTER? +300% faster time to market -70% time remediating issues +1300% developer productivity @QUEENOFCODE
  5. CONTAINERS 101 – LAYERS! Supporting Services Application Code + Config OS Image @QUEENOFCODE
  6. ORCHESTRATI ON • From ‘container’ to ‘containers’ • Service health • Service discovery • Scale up / scale down @QUEENOFCODE
  7. CONTAINER STACKS @QUEENOFCODE My Website Code Windows 10 ASP.Net Runtime MySQL Alpine Linux Shared Data Volume My API Code Ubuntu dotnet runtime
  8. STOP! EXAMPLE TIME @QUEENOFCODE
  9. WHAT IS CONTINUOUS DELIVERY? 1. Track Work Ensure the right change is being made 2. Write Code + Tests Keep prod and test code together in source control 3. Request a Peer Review Automated system to run build + unit test + static 6. Monitor Change in Prod Ensure nothing unexpected happened with the change 5. Merge Peer Review Land code + tests together for deployment 4. Deploy Change for Testing Validate the change works in a prod-like@QUEENOFCODE
  10. TEST ENVIRONMENT PROBLEMS Data Hygiene Suitable build versions Machine maintenanc e and upkeep Availability Similarity to production Capacity @QUEENOFCODE
  11. PEER REVIEW FLOW @QUEENOFCODE
  12. TEST PYRAMID @QUEENOFCODE 01 Unit Tests 02 Integration Tests 03 Specialty Tests
  13. UNIT TEST GUIDELINES Does not cross application boundaries Should support parallelism Textual `Input -> Output` validation Does NOT leave the box @QUEENOFCODE
  14. INTEGRATION TESTS Crosses application boundaries Does not require manual intervention Simple `Input -> Output` validation Follows user stories @QUEENOFCODE
  15. SPECIALTY TESTS Crosses many boundaries Requires manual intervention or setup Complex validation Validates non-functional scenarios @QUEENOFCODE
  16. TEST ENVIRONMENTS @QUEENOFCODE Build under test Configuration under test Test data Machine OS version
  17. Prod / QA – The Cloud Development – Local Box RECIPE APP ENVIRONMENTS @QUEENOFCODE UI ASP.Net dotnet core 3 Linux Backend ASP.Net dotnet core 3 Linux MySQL Azure-Hosted DynamoDB AWS-Hosted UI ASP.Net dotnet core 3 Linux Backend ASP.Net dotnet core 3 Linux MySQL Linux DynamoDB AWS Metadata Linux
  18. RECIPE APP EXAMPLE @QUEENOFCODE Web UI MySQL Auth API DynamoDB Objects Alexa Skill Lambda Translator
  19. WHAT DO YOU NEED? @QUEENOFCODE •Local container •QA/Staging •Production Control the environment being hit simply •Local data storage •Database rebuild + update scripts Strong test data management
  20. HTTPS://GITHUB.COM/QUEEN-OF- CODE/ALEXA-RECIPE-APP @QUEENOFCODE
  21. Thank you! GET IN TOUCH! MELISSA BENUA MBENUA@GMAIL.COM TWITTER: @QUEENOFCODE HTTPS://QUEENOFCODE.NET
Advertisement