Product brand template - Center

Download Report

Transcript Product brand template - Center

28. Januar, Zürich-Oerlikon
Working with
Virtual Test Environments
Marc Müller
Principal Consultant
4tecture GmbH
Agenda
Introduction
Build, Deploy, Test
Infrastructure
Lab Management for Developers
Summary
Agenda
Introduction
Kapitel 1/5
The Problem
You can’t fix
what you can’t
reproduce
Testers find bugs but may be
unable to document them in
sufficient detail so that they can
be acted upon by developers.
.
“If it can’t happen twice, it didn’t
happen once” - James (my mechanic)
Developers may not have access to the only
environment in which a bug can be isolated.
So how do we make bug’s reproducible?
Allow testers to create bugs that contain “actionable”
information.
Allow developers the ability to “Make it happen the
second time”
Give developers access to the test environment at the
point the bug was encountered.
Rich Bugs
Test Case (for
repro steps)
Screenshot
Video Capture
System Info
Debug Log
Test
Environment
Log
Action
Recording
Where do you test?
Pre-Prod environment
UAT
Web
Server
Web
Server
DB
Cluster
QA environment
Web
Server
Release
Manager
Dev environment
DB
Server
Web + DB
Server
Build environment
Tester
Web
Server
DB
Server
Devs
Virtual Test Environments
Test multiple configurations in parallel
•
Lower Hardware / Software costs
Easy preparation and clean-up of test environments
•
•
Templates
Initial and deployed-state snap-shots
Link environment to bug
•
Environment to reproduce bug (link to snap-shot)
Multi-Machine Environments
•
•
Snap-shots across multiple VM
Network Isolation (fixed IP and Names, Custom AD, etc.)
Single Tool – Microsoft Test Manager (MTM)
•
Environment Management, Environment Viewer (no need for RDP Client), Test Mgmt, manual
Testing
Build, Deploy, Test
Kapitel 2/5
Traditional Build workflow
build
applicati
on
run
tests
deploy
applica
tion
Lab Management Build Workflow
build
app.
restore
snapshot
run
tests
take
env.
snapsh
ot
restore
env.
deploy
app.
Infrastructure
Kapitel 3/5
Lab Management - Virtualization
Available since Visual Studio 2010
Integrates with Hyper-V
Allows us to:
Create virtual machines from library
Deploy virtual machines to host and group into an environment
Snapshot of environment for rich bugs
Save environment back into environment
Deploy environment from environment
Lab Management – Non Hyper-V
What about physical or non-Hyper-V Environments
-
Standard Environment now supports BDT Workflow
-
No snap-shot functionality
-
Workflow may be modified
Lab Management Integration
Team Foundation Server
(TFS)
Lab Management
Test Case management
Build management
Work Item Tracking
Source Control
System Center Virtual
Machine Manager
Hyper-V Hosts
Library Shares
Host1
LS1
Host2
LS2
Hostn
LSn
Architecture – Lab + Build + Test (2012)
Team Foundation Server
System Center
Virtual Machine Manager
Lab Management
Test Case Management
Test
Controller
Hyper-V host
Build Management
VM1
Source Control
Work Item Tracking
Client:
Test Manager
Client:
Visual Studio
Test Agent
Build
Controller
Build agent for
Compilation
Library Share
Stored Virtual
Machine
Stored Virtual
Stored
Virtual
Machine
2
Stored
Virtual
Machine
2
Environment
Architecture – Standard Environment
Team Foundation Server
Lab Management
Test Case Management
Test
Controller
Build Management
Source Control
Test Agent
Work Item Tracking
Client:
Test Manager
Client:
Visual Studio
Physical
Machine
Build
Controller
Build agent for
Compilation
DEMO
LAB MANAEMENT WORKFLOW
Recap – Lab Management Workflow
Revert virtual environment to ‘clean’ baseline in
minutes than hours
Predictable deployment
Post-deployment snapshot facilitates exploratory
testing
Network Fencing


What is it?
 create multiple copies of environment
 they can run in parallel without
conflicts
 no application reconfiguration
How does it work?
 internal fence network is created for
all vms
 a vm gets the same mac & ip address,
and computer name in all copies
 vms are also connected to the
external lab network
copy 1
10.10.1.5
10.10.1.6
iis
db
copy 2
10.10.1.5
iis
10.10.1.6
db
Network Fencing


What is it?
 create multiple copies of environment
 they can run in parallel without
conflicts
 no application reconfiguration
How does it work?
 internal fence network is created for
all vms
 a vm gets the same mac & ip address,
and computer name in all copies
 vms are also connected to the
external lab network
copy 1
10.10.1.5
10.10.1.6
iis
db
172.22.48.15
fence network
(internal)
172.22.48.16
copy 2
10.10.1.5
10.10.1.6
iis
172.22.48.17
db
172.22.48.18
lab network
(external)
DEMO – STANDARD ENVIRONMENT
Lab Management for Devs
Kapitel 4/5
DEMO - LAB FOR DEVS
Demo – Virtual Environment Recap
Debugging with IntelliTrace locally
Ability to create environments quickly
Lab environment is a first-class entity
Rich bugs with lab environments
•
•
No more No Repro
Snap-shot to debug
Developer easily connects to environment
Summary
Kapitel 5/5
Summary
No more waiting for build setup
• Revert to a ‘known’ state in minutes
• Predictable multi-machine application deployment
• Know build quality before investing in further testing
No more wasteful testing
• Prioritize test cases based on code changes
No more no repro
• Environment snapshots, Intellitrace and other collectors
capture exact state of problem
If it happened once and you documented
it, it doesn’t have to happen again!
Allow Testers to capture bugs the first time they
happen
Document the hell out of a bug so that even a Developer
can fix it
Use Rich Bug data (IntelliTrace, Video, Action Logs,
Snapshot Environments) to find and fix the root cause
Create tests that prove the bug is gone
Besten Dank für Ihre Aufmerksamkeit
Für allfällige Fragen stehen wir Ihnen jederzeit
gerne zur Verfügung: