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.
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. • DevOps, Agile and so
• About Dev/Test
• Unit test, Functional test and Load Test
• Continuous deployment
• Demo
Agenda
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!
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. 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
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. 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. 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. 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
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
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. 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. 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