Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dev/Test scenarios in DevOps world

822 views

Published on

Do you want a deep dive into the dev/test portion of DevOps and application lifecycle management (ALM)?
Do you want an overview of unit testing, functional UI testing and load testing?
Do you want to learn about continuous deployment?
Do you want to walk through how testers ensure that business value is delivered?
This session is for you.

Published in: Software
  • Be the first to comment

Dev/Test scenarios in DevOps world

  1. 1. Davide Benvegnù Microsoft MVP Visual Studio ALM
  2. 2. Davide Benvegnù • Director & CTO – DBTek Ltd • Former International Development Manager – Aruba.it • Microsoft MVP in Visual Studio ALM • Speaker - Trainer • Community Contributor ( 2 in Italy, 1 in HK soon) • 13+ years experience in IT, 10+ years experience in ALM / DevOps @davidebenvegnu – www.dbtek.com.hk – davide@dbtek.com.hk @bout Me
  3. 3. • DevOps, Agile and so • About Dev/Test • Unit test, Functional test and Load Test • Continuous deployment • Demo Agenda
  4. 4. DevOps, Agile and so…
  5. 5. DevOps: the three stage conversation 3 Tools2 Processes1 People
  6. 6. DevOps Framework Environments Dev/Test Integration Pre-Production Production Processes Source and Version control Build Test Deploy Monitor and Learn
  7. 7. Waterfall vs Agile Requirements PM Development Dev Testing QA Operations Ops Dev Test Ops PM
  8. 8. Not 100% Agile? • Try to build a DevOps culture • Set your goals – Improved deployment frequency – Faster time-to-market – Lower failure rate • Transform simple processes to make them increasingly programmable and dynamic • Go Agile! 
  9. 9. About Dev/Test
  10. 10. Dev/Test Benefits Improve quality Deliver higher quality releases by testing your applications in a “production-like” environment to understand how they will handle real world usage scenarios.
  11. 11. Dev/Test: Cloud Environments Improve team agility and resource efficiency with the Cloud! • Self-provisioning of the environments • Perform realistic scale testing in environments that mirror production. • Developers perform unit and integration testing in isolated individual environments. • Production issues or incompatible code are discovered earlier. • Connect cloud and on-premises resources for hybrid applications. Virtual Machines Web Apps Cloud Services Databases
  12. 12. Hybrid
  13. 13. A different mindset • Release smaller and faster • Embracing errors • Design for availability, reliability, scalability • Performance • Continuous test • Continuous requirements tuning
  14. 14. Unit test, Functional Test, Load test
  15. 15. What does failsafe mean for my applications? It depends… but some general practices apply. • Avoid single point of failure • Failure mode analysis • Manage transient errors • Graceful degradation • Eliminate human factors (Automate!)
  16. 16. Unit test • First layer of test • Written by Developers • Executed directly against the codebase • You need them! • The way you can be sure your changes don’t break anything • Should be automatically executed with the build
  17. 17. Functional test • User acceptance test • Based on requirements • Can be manual or automatic • Pre-defined or created with Exploratory testing • Should be executed • Should be automatically executed post deployment
  18. 18. Load test • Test you application performances • Thousands, millions of users • Learn how you it behaves under load • Can be automatically executed after deployment • Cloud Load Testing: better! – Dynamic test agents – No fixed costs – Scalable to (virtually) infinite – Test you application from different geographical places
  19. 19. Continuous Deployment
  20. 20. Manual Builds and Deploy Source Build Test Deploy Monitor and Learn cspkg Environments cspkg
  21. 21. Environments Dev/Test Integration Pre-Production Production Continuous Integration and Deployment Source Build Test Deploy Monitor and Learn cspkg cspkg cspkg cspkg cspkg
  22. 22. • Structuring different environments (dev, qa, uat, prod) • Using slots for deployment • Spin-up new environments on demand • Deploy multi-tier applications and dependencies • Apply database changes Real world deployments
  23. 23. Demo: Visual Studio Team Services
  24. 24. Complete suite Source Control, Agile planning, Test management, Build, Release Management Integrated Environment Link code, work items, tests, build and releases Enterprise readiness Security, SLA, ISO, pools and queue management Why VSTS / TFS
  25. 25. Hosted build agents * No installation required Multi-platform Build natively on Windows, Mac, and Linux Build .Net, Java, Objective-C, Javascript.. Release Management Deploy to a multi-environment release pipeline Use existing release and approval flows * Available only on VSTS CI and CD in VSTS / TFS
  26. 26. Automatic test execution after build / deployment Manual and automated Functional/UI Testing Plan, execute, track User acceptance testing based on the requirements Exploratory testing Load Testing On-premises agents In the cloud, from multiple regions* * Available only on VSTS Tests in VSTS / TFS
  27. 27. DEMO
  28. 28. Davide Benvegnù Microsoft MVP Visual Studio ALM

×