Azure DevOps Blog
DevOps, Git, and Agile updates from the team building Azure DevOps
Latest posts

Test & Feedback – Capture your findings
Test & Feedback extension allows everyone in team, be it developers, testers, product owners, user experience, leads/managers etc. to contribute to quality of the application, thus making it a “team sport”. It enables you to perform exploratory tests or drive your bug bashes, without requiring predefined test cases or test steps. This extension simplifies the exploratory testing in 3 easy steps - capture, create & collaborate. An overview of this extension is captured in this overview blog of Test & Feedback extension. In this blog, we will drill into the “Capture” aspect. There are two ways in which...

Team Services October Extensions Roundup – Rugged DevOps
This month the focus is on making your DevOps environment rugged. According to Puppet, teams leveraging DevOps are deploying 200x more frequently and leveraging 90% more OSS components. Many of these teams, however, have not integrated security into their processes. The teams who have, spend 50% less time fixing security issues later. With this roundup we'll look at three extensions that add support for OSS security and license validation, as well as code scanning, to 'shift left' your security and assist you in spending less time to build more secure software. WhiteSource See it in the Marketplace: https://mar...

Parallel Test Execution

An early post on Parallel Test Execution drew attention to its subtle semantics. Three considerations directly contributed to that (1) Reach (2) Composability (3) Non-disruptive roll out. The Visual Studio Test Platform is open and extensible, with tests written using various test frameworks and run using a variety of adapters. To reduce on-boarding friction, the feature ought to work on existing test code. It especially needs to work on existing MSTest framework based test code - there is a huge corpus of such tests already written, and it would be unrealistic to expect users to go in and update their test code...

Announcing General Availability for Code Search
![Jimson Chalissery [MSFT]](https://devblogs.microsoft.com/devops/wp-content/uploads/sites/6/2019/01/jimson-150x150.jpg)
Today, we are excited to announce the general availability of Code Search in Visual Studio Team Services. Code Search is available for Team Foundation Server “15” as well. What’s more? Code Search can be added to any Team Services account for free. By installing this extension through the Visual Studio Marketplace, any user with access to source code can take advantage of Code Search. With this release Code Search now understands Java. Not only can you perform full text matching, for C#, C, C++, VB.NET and Java it understands the structure of your code and allows you to search for specific context, like class ...

Tracking branch health and identifying flaky tests in RM driven test automation
In my previous blog post, I had written about how we have a single Release Definition for our team which runs all the test environments in parallel. Now that Release Management supports branch based filters while listing releases, it is very easy to track the health of a particular branch. Further, with the work the test team has done around making test case history branch and environment aware, it has become significantly easier to pinpoint the checkin which caused a particular test to start failing, and to identify flaky tests. Branch filters The “Releases” view of our team’s Release Defini...

Announcing General Availability for Test & Feedback extension (formerly Exploratory Testing extension)
Today, we are excited to announce the general availability of Test & Feedback extension (formerly Exploratory Testing extension), and this extension is free for all. With agile practices becoming more prevalent, release cycles have become shorter. It doesn’t leave much time for teams to identify all scenarios, record the steps that need to be followed, plan their testing and getting testers to run all the tests within the sprint boundaries – and this needs to be repeated every sprint. Teams often try to compensate the lack of rigor in planned manual testing in such scenarios with automation. Automation thoug...

Live architecture dependency validation in Visual Studio “15” Preview 5
In the past year, you told us that you considered removing unwanted dependencies to be an important part of managing your technical debt. The Layer designer enables you to validate architectural dependencies in your Visual Studio solutions. It first shipped in Visual Studio 2010, and is now part of Visual Studio Enterprise. But the experience could be improved. So, in Visual Studio “15” Preview 5, we are introducing a new Dependency Validation experience to help ensure that you, developers, respect the architectural constraints of the application as you edit your code. Before presenting the new experience, let m...

How we work and lessons we’ve learned building Team Services and TFS
Here are two recent presentations that discuss the evolution of our team from an on-premises software team to a DevOps services team. The first one is a presentation by Matt Manela and Jose Rady Allende at Microsoft Ignite last week. Matt is the engineering manager and Jose the PM for one of the feature teams building the Agile features in Team Services and TFS. They provide a first hand view of how the way we work has changed as well as what’s worked well for their own team. Not only does the talk cover how we worked before DevOps, how the team is organized, and how we do planning, it also covers our test phi...

Feature flags: How we control exposure in VS Team Services

One question that I often get from customers is how we manage exposing features in the service. Features may not be complete or need to be revealed at a particular time. We may want to get early feedback. With the team working in master and deploying every three-week sprint, let’s take a look at how we do this for Team Services. Goals Our first goal is decoupling deployment and exposure. We want to be able to control when a feature is available to users without having to time when the code is committed. This allows engineering the freedom to implement the feature based on our needs while also allowing control f...