EXTENDING TESTING INTO THE LAB Richard Fennell Engineering Director, Black Marble @RichardFennell http://blogs.blackmarble.co.uk/blogs/rfennell rfennell@blackmarble.co.uk What should our development cycle be? Developer writes code Compile locally Run unit tests locally Automated Deploy to Test Central Automated CI Build inc. running of unit tests Check-in Automated Integration tests UAT/Human Test Log Bugs/Change Requests How does Visual Studio 2010 Help? Team Foundation Server (TFS) Lab Management System Center Management Stack Test Case management Build management Work Item Tracking Source Control Operations Manager Virtualization Platform Virtual Machine Manager Hyper-V How to Install TFS Lab Management • Install TFS 2010 • Install GDR patch to enable Lab Management (or Service pack 1) • Install a SCVMM Server • Install SCVMM Admin Console on TFS server • On SCVMM Server configure hosts and shares How to Install TFS Lab Management • Install TFS 2010 • Install GDR patch to enable Lab Management (or Service pack 1) • Install a SCVMM Server • Install SCVMM Admin Console on TFS server • On SCVMM Server configure hosts and shares • Tell TFS the SCVMM server address How to Install TFS Lab Management • Install TFS 2010 • Install GDR patch to enable Lab Management (or Service pack 1) • Install a SCVMM Server • Install SCVMM Admin Console on TFS server • On SCVMM Server configure hosts and shares • Tell TFS the SCVMM server address • On each TPC configure lab settings How to Install TFS Lab Management • Install TFS 2010 • Install GDR patch to enable Lab Management (or Service pack 1) • Install a SCVMM Server • Install SCVMM Admin Console on TFS server • On SCVMM Server configure hosts and shares • Tell TFS the SCVMM server address • On each TPC configure lab settings • And now the work starts…….. Lab Management Concepts • • • • • Environment VMs Templates Snapshots Controllers and Agents What controls what? TFS Team Project Collection Test Controller Environment Build Controller Each VM in Environment Test Agent Developer Build Agent Build Agent Lab Agent Environment Capability Lab Agent Test Agent Build Agent Required? Required? Required? Testing Deployment workflow Network Isolation √ √ √ √ X X X √ X Build Agent Lab Management Concepts • • • • • • Environment VMs Templates Snapshots Controllers and Agents Network Isolation Network Isolation Lab Management Concepts • • • • • • • Environment VMs Templates Snapshots Controllers and Agents Network Isolation Host and Guest Connections Process of End to End Testing Ordinary Build Start Lab Performed Build Build Report Stored Lab Build Requested Request the Lab Triage Issues Run Manual Tests Deploy the Run automated Tests software LAB MANAGEMENT Demo Summary • Delivering quality software is not just about programming • Automated builds bring repeatable quality to a project • Lab Management can extend this into both automated and manual testing with a fully integrated solution Resources • Visual Studio 2010 http://www.microsoft.com/visualstudio/en-us/products/2010-editions • Rangers Lab Management Guide http://ralabman.codeplex.com/ • VHD Test Drive - Visual Studio 2010 Lab Management http://www.microsoft.com/downloads/en/details.aspx?FamilyID=592e874d8fcd-4665-8e55-7da0d44b0dee&displaylang=en • Visual Studio Lab Management team blog http://blogs.msdn.com/b/lab_management/ • Techdays 2010 UK Video “Putting some Testing into your TFS Build Process” http://video.uk.msn.com/watch/video/putting-some-testing-into-your-tfsbuild-process/15bkj6pcv QUESTIONS Richard Fennell Engineering Director, Black Marble Ltd. rfennell@blackmarble.co.uk http://blogs.blackmarble.co.uk/blogs/rfennell @RichardFennell LAB MANAGEMENT Backup Demo Screenshots