overview of lab management and tfs

22
Setting Up Dev & Test Environments With TFS and Visual Studio Chris Kadel - Principal Twitter: @cbkadel Blog: http://chriskadel.com Website: http://polarissolutions.com Email: chris.kadel@polarissolutions.

Upload: chris-kadel

Post on 25-May-2015

408 views

Category:

Technology


0 download

DESCRIPTION

A presentation I did with Microsoft on the "Testing Tour"

TRANSCRIPT

Page 1: 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]

Page 2: Overview of Lab Management and TFS

Testing Maturity / Dynamic Environment

Ad Hoc

Manual

Automate

RegressionLoad

Environment

Ad Hoc Planned Virtual Lab

Page 3: Overview of Lab Management and TFS

Characteristics of Efficient Testing

Clear Requirements

Bugs are Reproduced

Devs Fix on First Time

We Have Environments On Demand

Page 4: Overview of Lab Management and TFS

Why did Waterfall dominate approaches throughout most of IT “time”?

Economy of scale…

Requirements

Implement

Test / Stabilize

Release

Cost of Setup

Avoid Context Switch

Page 5: Overview of Lab Management and TFS

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

Page 6: Overview of Lab Management and TFS

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.

Page 7: Overview of Lab Management and TFS

Lab management automation

Lab management services

Environment templates

Environment provisioning

Environment snapshots

Development and Testing

EnvironmentsDevelopment environments

Repro environmentsTest environments

On-premise | Cloud

Page 8: Overview of Lab Management and TFS

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

Page 9: Overview of Lab Management and TFS

Define EnvironmentsCreate new multi-

machine environment choices

Page 10: Overview of Lab Management and TFS

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

Page 11: Overview of Lab Management and TFS

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

Page 12: Overview of Lab Management and TFS

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

Page 13: Overview of Lab Management and TFS

Developer Experience

Environment snapshot taken and attached as

a link with bug

Developers can quickly debug issues on the exact same testing environment

Page 14: Overview of Lab Management and TFS

Intelligent analysis

Test run results are attached to specific builds and environments

Collect all the data required to recreate bugs from virtual

environments

Page 15: Overview of Lab Management and TFS

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

Page 16: Overview of Lab Management and TFS

Continuous quality enablement through continuous deployment

Page 17: Overview of Lab Management and TFS

About the DemoTester Team

Define Tests Define Environments Define Data Collection Analyze Results

Development / Release Team

Author Build Author Deployment Run

Automate Tests

Page 18: Overview of Lab Management and TFS

demoLab ManagerBuild-Deploy-Test Scenario

Page 19: Overview of Lab Management and TFS

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

Page 21: Overview of Lab Management and TFS

Parting thoughts…

Empowerment Really Automate

Dynamic Environments

Crisp Communication Reduce Costs

Page 22: Overview of Lab Management and TFS

Chris Kadel - PrincipalTwitter: @cbkadelBlog: http://chriskadel.comWebsite: http://polarissolutions.comEmail: [email protected]