1. Visual Studio 2013 Deep-Dive
Mathias Olausson – Magnus Timner – Peter Oreland
Solidify AB
2. Solidifys processer för
mjukvaruutveckling låter dig som
utvecklingschef, IT-chef eller
affärsutvecklare fokusera på rätt saker.
Resultatet är mer programvara, av
bättre kvalitet, snabbare och till lägre
kostnad.
4. Visual Studio 2012/2013 Wave
Frekventa uppdateringar för on-premises produkter
DevOps
Visual Studio 2012 Visual Studio 2012 capabilities with
System Center
Launch
Update 1
2012 SP1
September 2012
October 2012
November 2012
January 2013
Visual Studio 2012 Visual Studio 2012 Visual Studio 2013
Update 2
Update 3
Launch
March 2013
3-week service delivery sprints
Team Foundation Service
Visual Studio Online
June 2013
November 2013
5. Visual Studio Online
•
•
•
•
ALM i molnet
Alltid tillgänglig
Alltid uppdaterad
Olika modeller för olika
behov
– Basic
– Professional
– Advanced
10. Att modifiera ALM processen
•
•
•
•
•
Lägga till flera backlog nivåer
Lägga till fler fält vi inmatning av krav/Product Backlog Items
Lägga till fält till Scrumboarden
Ändra färger på ärenden/Work Items
Att förändra en buggs beteende
15. “Continuous Delivery is a software
development discipline where you build
software in such a way that the software can
be released to production at any time”
Martin Fowler, ThoughtWorks
16. Olika faser av Release Management
Deployment Pipeline
Directed Deployment
Build & Deploy
F5
17. TFS Build 2013
• Integrerad lösning
• Process definierad i Windows
Workflow
• Generalisera, utöka
– 2013 inbyggt stöd för PowerShell
19. Några ord om miljöer
Visual Studio Online
Windows Azure
On-Premises
20. Visual Studio Lab Management + Azure = Sant
Azure
Subscription
Standard Environment
Point to Site VPN
Brian Keller TFS VM
TFS Server
Test Controller
Build Controller/Agent
Visual Studio
MTM
21. ALM Rangers Lab Management Guide v3
• Best-practices för införande av Lab
Management
• Build-deploy-test workflows
• Azure IaaS för testlab
https://vsarlabman.codeplex.com/
27. Coded UI Tests
Web
Applikationer inklusive windows 8 XAML
Appar
Cross Browser (Chrome, Firefox)
28. Lasttester i molnet
Use Visual Studio Ultimate combined with
Team Foundation Service to conduct load
testing using Windows Azure hosted load
agents
Scale load tests easily from tens to
thousands of users without the need to setup
your own infrastructure
29. Test med Visual Studio 2013 ALM
• Manual Testing
– Web Test Manager
– Test Manager
• Automated Testing
– Unit Testing
– Coded UI Test
– Web performance testing
• Load testing
– Unit Test/Web performance Test
– On premise
– Azure
• Test Explorer
– Playlist
Commitment to more frequent product updates shows that Build, Measure, Learn and agile development practices are being applied within Microsoft. Updates to Team Foundation Service are now occurring every few weeks.Given the higher-frequency of updates, organizations may need to make some changes to the way they evaluate new versions of development tools. There may be no “right time” to make the necessary upgrades and modify internal processes, so organizations will need to quickly match their needs with the current offering in order to make a decision. Some organizations may update as quickly as updates arrive, while others will be more selective. To help support these decisions, quite a bit of work goes into maintaining backwards compatibility with the previous major update, and different versions of Visual Studio can be installed side-by-side when needed.
A major goal is the ability to take a single build package and push it out to each environment in the same way.[Build]This drastically reduces the amount of manual effort required to update the environments and can make the entire process much smoother.
Another important aspect to each release environment is what we’ll refer to as the “stage stack”. This is a simple layout of the steps typically required to get a packaged app from a build location out to a prepared environment, through the necessary install and configuration, through the required tests, and finally approved for migration to the next stage. Microsoft has provided many of the tools to support this stack, although sometimes a little extra work is required to help it all work together.[Build]Lab Manager is available to help provision environments.[Build]PowerShell is ideal for configuring environments.[Build]There are some useful built-in tools for deploying and installing the application itself.[Build]And lots of companies invest in their own custom tools to configure applications.[Build]Running automated tests during the release process is becoming the standard for applications of every type.[Build]Microsoft Test Manager handles the testing aspects.[Build]And now with Release Management for Team Foundation Server 2013, this entire process is only going to get better.
Let’s take a look at how the new release management infrastructure fits into your development environment.[Build]First, you’ll deploy Release Management Server.[Build]Next, you’ll install deployment nodes on the target systems in your deployment environments.[Build]You can then configure Release Management Server to pull builds from TFS and push them out to the specified environment.[Build]There is also a client app and Web UI that allow users to interact with the release management, workflow, and reporting features.A release typically gets triggered by an automated event, whether it’s a check-in or on a schedule. However, you can manually create a release as well. Once a release is begun, it works its way down the “release path”, which might be “Dev to QA to Production” with automated and/or manual gates at each.The paths are composed on the various servers grouped into environments on which the testing for the stage is performed. Once an application needs to be deployed to a new environment, the server will queue deployment requests to all the required target servers for each component of the application. This allows an atomic deployment of all the components.The Release Management Deployment Agent running on each target server monitors the Release Management Server continually, at a configurable interval, and will pick the installation requests for the one or many components it needs to install locally.The Deployment Agent will then find and download the release package, provided by the Release Management Server. RMS calculates the location using the TFS API, if built by TFS, or using a predefined UNC path if not. Finally, the Deployment Agent downloads any additional executables, such as batch files, PowerShell scripts, EXEs, etc, to be run as part of the installation. These are additional deployment activities beyond the installation itself. Creating test data or triggering automated tests are common scenarios here.