skytap automation pack for microsoft visual studio team foundation

16
Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server white paper BROUGHT TO YOU BY SKYTAP

Upload: others

Post on 12-Sep-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server

white paperBROUGHT TO YOU BY SKYTAP

Page 2: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

2 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

The Build-Deploy-Test Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Why TFS Integration with Skytap Cloud? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Specific Needs in BDT Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Appendix: Skytap Automation Pack in Action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Page 3: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

3 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

Introduction

Today, many Application Lifecycle Management (ALM) products are being upgraded—and even

designed from scratch—to support the Agile development and delivery model . One popular

tool is Microsoft Team Foundation Server (MS-TFS) . Along with Visual Studio, MS-TFS provides

the core set of tools and processes for developing a variety of applications across a number

of development platforms offered by Microsoft . These development platforms range from the

simplest .NET application to the most complex enterprise applications using platforms like

SharePoint and SQL Server .

Skytap Automation Pack for Visual Studio Team Foundation Server (‘the Automation Pack’)

is an innovative product that provides the integration between VS-TFS and Skytap Cloud .

This integration enables development and test teams to use the same skills, workflows,

and processes they already use with MS-TFS, while reaping the benefits that Skytap Cloud

provides—provisioning complex environments, fast on-demand provisioning of dynamic

workloads, and support for hybrid cloud architectures .

This paper covers:

» The range of scenarios supported by the Automation Pack

» The benefits of the Automation Pack

» The Automation Pack at work for a sample application workload

» Tips on how to enable the Automation Pack for your own application workload

Page 4: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

4 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

TheBuild-Deploy-TestScenario

The Automation Pack is designed to address the classic Build-Deploy-Test (BDT) scenario that

is familiar to teams working with Visual Studio and MS-TFS . BDT is the workflow engine that

Microsoft ships with Team Foundation Server, and enables a developer or tester to define:

» How application code is built

» How application components are deployed

» The target test environments

» The automated tests to be run

» The results and other diagnostic data to be collected

Once defined, this BDT can be used over and over again . For example, the BDT workflow is used

in the following common scenarios:

Thedeveloperscenario

The developer checks in code to the source repository on MS-TFS . The code is built

automatically, and the specified unit tests are run automatically . Based on the results, the

developer knows whether the check-in was successful or not . The developer can define a BDT

to run through this entire process automatically, and the workflow usually only takes a few

minutes .

Thetesterscenario

The tester is getting ready to do a functional test pass for an upcoming release . Having a mix

of automated and manual tests, the tester intends to fire off the automated tests and forget

about them while working on manual tests in parallel . The tester can define one or more

BDTs to run through the various automated tests and review the results at the end . A test

pass will usually take a few hours, depending on the number of tests being run .

Page 5: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

5 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

WhyTFSIntegrationwithSkytapCloud?

Dynamic workloads, like software development and testing, often present a range of challenges

that make them difficult to manage and maintain in an efficient, cost-effective fashion . Common

characteristics of dynamic workloads—fluctuating demand, frequent change requests, and

the need for secure collaboration with team members, partners, or customers—can result

in unpredictable capacity needs and high provisioning and administration costs . With these

challenges in mind, Skytap Cloud was designed and developed to quickly and easily move

dynamic workloads to the cloud .

Skytap is a cloud-based service with a simple setup . A development team can sign up and get

started within minutes .

The Automation Pack ties the unique capabilities of Skytap Cloud with the BDT workflows in

VS-TFS . It allows teams to easily create self-contained environments, called configurations, for

applications . Configurations can be as simple as one machine for build or unit testing, or as

complicated as multiple machines with different components connected together with complex

networking topology for full-scale functional testing . Skytap Cloud offers hundreds of base

configurations that can be used to create environments, or users can import virtual machines .

The Automation Pack leverages the capabilities of Skytap Cloud and allows the creation of TFS-

ready test environments in Skytap Cloud using Microsoft Test Manager (Fig . 1) .

Page 6: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

6 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

TypicalBDTScenariosUsingSkytapAutomationPackforMicrosoftVisualStudioTFS

Fig . 1: Existing on-premise Visual Studio developer/tester desktops and TFS deployments automatically establish a secure VPN connection and create dynamic testing environments in Skytap Cloud .

Page 7: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

7 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

Once ‘golden’ environments are created, they can be saved off as templates, with as many

copies of the environment as required . All environments created from a template start in

exactly the same fresh state for testing . The environments can be created sequentially or in

parallel . The Automation Pack uses this capability to create and run new environments, as

defined in a BDT definition, on demand . This ensures that tests are run on clean environments

every time, without having to manually clean up the environment after each test .

Skytap Cloud allows easy administration of the environments, which ensures control over

development budgets . Once a team is finished with a given test environment it can be deleted

or saved—frozen in time—for further investigation . The Automation Pack ensures that only

the required resources are running, streamlining resources and enabling more BDT runs .

Teams can also save the resulting environment from a failed BDT run so that a developer can

instantiate the exact state again and debug the failure .

The speed with which Skytap Cloud can perform all of these operations provides additional

value . Environments can be created, run, suspended, stopped, saved, and deleted in under

a minute . Faster BDT runs means faster testing, and ultimately, faster delivery times for

applications .

Page 8: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

8 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

SpecificNeedsinBDTTesting

By using BDT workflows, especially in the scenarios mentioned above, engineering teams

can accelerate development and testing of their product . However, many teams may have

additional needs that out-of-the-box BDT workflows do not provide . The Automation Pack can

address these needs .

Some of these scenarios include:

Easysetupandmanagement

Though development teams have sophisticated requirements, many are not inclined to

manage the underlying infrastructure platform that powers their development and testing

needs . In the spirit of agility, the Automation Pack provides these environments when teams

require them . There’s no complex and lengthy setup process and no need to continuously

manage and operate the infrastructure .

Scalewiththegrowthoftheteamandtheproduct Any product starts small, both in terms of code base and in the number of developers and

testers working on the product . As the product grows, so does its number of components and

the number of engineers working on it . Large teams pose enormous challenges to application

development by putting increased demand on the infrastructure platform that powers the

key workflows of builds and testing . With the Automation Pack, the infrastructure platform is

flexible enough to scale with the growing needs of the team, and it does so without increasing

management overhead .

Page 9: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

9 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Supportforcomplexity The test environments in different BDTs can vary greatly . While a development unit test

may just require a one-box environment, a functional test may require an environment

that represents the true architecture of a complex product (e .g ., an N-tier application) .

Additionally, a validation testing environment may need to represent the true scale and

complexity of the production environment . The Automation Pack provides templates for any

kind of environment—large or small, simple or complex .

Freshtestenvironmentsondemand

Running tests on a known, good configuration is the holy grail of testing . The Automation

Pack supplies the underlying platform that allows a team to spin up environments from a

known state every time .

Parallelism

Different teams may be working in parallel on separate components of a product . Each team

requires a full test environment to perform functional and integration testing, and they need

to be working on the latest golden version of the components delivered by other teams . This

requires the infrastructure to support running multiple, identical test environments based on

a common golden version of the bits . The Automation Pack lets each team apply changes to

their components and perform their own tests . This allows teams to work in parallel rather

than waiting for other teams to finish using the test environment .

SavestatefordebuggingfailuresAs all development teams know, there will always be test failures . Not only do developers

and testers need the ‘fire-and-forget’ means to run automated tests, they also need a way

to access test environments, debug, and diagnose failures . The Automation Pack platform

is smart enough to run automated tests and save the state in cases of failure to enable

debugging after the fact .

Page 10: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

10 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Conclusion

The Skytap Automation Pack for Microsoft Visual Studio Team Foundation Server enables

teams using Visual Studio and TFS on-premise to seamlessly use Skytap Cloud for automated

BDT workflows . Individual developers and testers benefit from the flexibility, scale, speed, and

collaboration capabilities that Skytap Cloud provides—increasing productivity and eliminating

potential workflow bottlenecks and delays . Team managers and business owners benefit

from Agile teams that can deliver software products faster, increasing the speed at which an

organization can innovate and generate revenue . Overall, the Skytap Automation Pack provides

the scale and elasticity of cloud infrastructure coupled with the preferred tools and processes

currently used by development and test teams .

Page 11: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

11 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Appendix:SkytapAutomationPackinAction

This section illustrates the Automation Pack in action . Screenshots include a view of a

developer’s desktop while starting a BDT run and the resulting environments in Skytap Cloud .

The Automation Pack itself is working behind the scenes, which allows an engineering team to

continue using familiar processes and tools in Visual Studio .

The assumption, for the purpose of this illustration, is that the TFS server is running on-

premise . An on-premise environment is connected to Skytap Cloud using point-to-point VPN

connectivity that can easily be set up using the Skytap hybrid cloud .

SettingupthegoldentestenvironmentsinSkytapCloudusingMicrosoftTestManager

The test environment for the application has been created in Skytap Cloud and has been

associated with TFS using Microsoft Test Manager (Fig . 2) .

Fig . 2

Page 12: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

1 CreatetheBDTdefinition

A developer or tester can create a BDT definition based on the template provided as part

of the Automation Pack . This template preserves the same UI and workflow as existing

BDT templates . It also allows the user to enter the Skytap-specific information needed for

the integration (Fig . 3) .

©Skytap, Inc. All rights reserved.

12 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Fig . 3

Page 13: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

2 RuntheBDT

Once the BDT is defined, it can be run any number of times without the need to worry

about available infrastructure . It can be run by any number of users who are working on

the same component and want to leverage the BDT .

In the figure below, a build is being queued up based on the BDT (Fig . 4) .

©Skytap, Inc. All rights reserved.

13 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

Fig . 4

Page 14: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

14 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

The build logs show the Automation Pack dynamically creating the test environment in

Skytap Cloud and using AutoNetworking capabilities that connect back to a TFS over a

VPN connection . All of this can be accomplished within a minute (Fig . 5) .

As a result of BDT, the test environment is dynamically created in Skytap Cloud (Fig . 6) .

Fig . 5

Fig . 6

Page 15: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

The deployment of the application and tests taking place can be seen in Figure 7 below .

When the tests are complete, the test configuration is automatically deleted . If there are

failures, the test can be saved as a template for further investigation .

The test results are available by clicking a link in the BDT logs (Fig . 8) .

Fig . 7

Fig . 8

15 SkytapAutomationPackforMicrosoftVisualStudioTeamFoundationServer

©Skytap, Inc. All rights reserved.

Page 16: Skytap Automation Pack for Microsoft Visual Studio Team Foundation

©Skytap, Inc. All rights reserved.

Skytap,Inc.

710 2nd Avenue, Suite 1130 Seattle, WA 98104 USA

TollFree: +1-888-SKY-TAP8 (1-888-759-8278)

Web: www .skytap .com