Download - Overview of Lab Management and TFS
Sett ing Up Dev & Test Env i ronmentsWith TFS and Visual Studio
Chris Kadel - PrincipalTwitter: @cbkadelBlog: http://chriskadel.comWebsite: http://polarissolutions.comEmail: [email protected]
Testing Maturity / Dynamic Environment
Ad Hoc
Manual
Automate
RegressionLoad
Environment
Ad Hoc Planned Virtual Lab
Characteristics of Efficient Testing
Clear Requirements
Bugs are Reproduced
Devs Fix on First Time
We Have Environments On Demand
Why did Waterfall dominate approaches throughout most of IT “time”?
Economy of scale…
Requirements
Implement
Test / Stabilize
Release
Cost of Setup
Avoid Context Switch
Continuous acceptance testing
User
Interface
ServicesBusiness Processes
Business Rules and Logic
Service integrations
Data access
Identity
Data
Automated testing Unit testing Integration testing Performance testing Load testing
Manual testing User testing Ad-hoc exploratory testing Planned manual testing
Automated testing Keyword testing UI automation testing Performance testing
Continuous integrationsBuild | Deploy | Test
Dev
SIT
UAT
Stress
Prod
Shortened cycle times
Testing toolboxRole tailored tools
Lab management automation
Why Lab Environment Automation?Can I get another QA environment to isolate some testing without slowing down my team?
We need to isolate that environment like it were a retail location (network isolated)?
We just need a QA environment for a few weeks and then done forever?
Remember those data collectors for my client-server application? I want those.
I want to do all that above, but I want it up in Windows Azure.
Lab management automation
Lab management services
Environment templates
Environment provisioning
Environment snapshots
Development and Testing
EnvironmentsDevelopment environments
Repro environmentsTest environments
On-premise | Cloud
Agents
Installed on the “client” machines
Three types of agentsTest Agent-Enables automated testingBuild Agent-Enables automated deploymentLab Agent-Enables network isolation
Installed Automatically by Lab Management Services
Define EnvironmentsCreate new multi-
machine environment choices
Configure EnvironmentsCreate a new
environment using virtual machine templates in
SCVMM
Create an environment using
machines running on SCVMM
Create new environments on
existing machines
Build Test Deploy AutomationQuickly choose multiple test suites to run after
deployment
Choose your environment, and build, deploy and test in
that environment from a single dialog
Self-provision Environments
Snapshot environments during manual testing to increase reproducibility
Spin up virtual test environments from within Test Manager, or attach a
virtual environment to a manual testing session
Developer Experience
Environment snapshot taken and attached as
a link with bug
Developers can quickly debug issues on the exact same testing environment
Intelligent analysis
Test run results are attached to specific builds and environments
Collect all the data required to recreate bugs from virtual
environments
Web Server
Collect Intellitrace Information
Test Agent
Test Controllers and Agents
Client
Network Emulation
Test Agent
Run Tests
Database Server
Collect System Information
Test Agent
Where to run Tests?
Collect Data?
Affect Machine
Client
Collect Test Impact Data
Test Agent
Run Tests
Team Foundation Server
Test Agent Controller
Register with Team Project Collection
Test agent controller manages test agents
Test agents run tests and collect data or impact the system
Continuous quality enablement through continuous deployment
About the DemoTester Team
Define Tests Define Environments Define Data Collection Analyze Results
Development / Release Team
Author Build Author Deployment Run
Automate Tests
demoLab ManagerBuild-Deploy-Test Scenario
On Demand in the Cloud
On Premises TFS Server
Test Controller
Spawn Azure Automatically
Gallery or VHDManage in Lab Center
Central Start/Stop Functionality
Snapshot in Azure
Labs and WalkthroughsCreating VMs
Create and store VMs - MSDN docPrepare a domain controller VM
Manage virtual environmentsCreating virtual envs - MSDN docCreating and working with virtual envsConcepts and guidelinesCreating network isolated environments
NetworkingNetworking basicsNetwork isolation
Parting thoughts…
Empowerment Really Automate
Dynamic Environments
Crisp Communication Reduce Costs
Chris Kadel - PrincipalTwitter: @cbkadelBlog: http://chriskadel.comWebsite: http://polarissolutions.comEmail: [email protected]