If you’re a Microsoft developer or DevOps pro, you’ve heard of Azure DevOps by now. Here, we’ll talk about what Azure DevOps is and how your essential load testing fits in.
Azure DevOps, announced only a few weeks ago, is both an extension and a rebranding of Visual Studio Team Services (VSTS). In short, Azure DevOps includes five major feature “buckets:”
- Azure Pipelines. This is the main Azure DevOps CI/CD (continuous integration / continuous delivery) area, and we’ll come back to this to talk about how load testing fits in.
- Azure Boards. Here’s your kanban boards, project tracking, agile features, reporting, and so on
- Azure Artifacts. This archaeology-sounding category includes package creation, sharing and updates. Package sources can be public or private via Maven, npm, and NuGet.
- Azure Repos. View this as a repo management package, file management, collaborative pull requests, sourcing from any Git repository.
- Azure Test Plans. Designed for manual, exploratory testing, this feature lets you explore for feature and performance issues in detail, and somewhat by hand.
Finally, our favorite “feature” of Azure DevOps is its open nature: it’s billed to run with any language on any platform.
Where does load testing fit in with Azure DevOps? Well, it fits in with the first category of features, Azure Pipelines. Azure Pipelines are the automated CI/CD sequences.
These Azure Pipelines can call any test or procedure, just as you’d expect. This feature builds on the old Team Foundation Services (TFS) capabilities. You can integrate your LoadImpact load testing into your Azure Pipelines.
(The existing Load Impact extension for Visual Studio TFS should still work, but it should be fairly trivial for you to customize this for your needs, especially if you’re using the command line interface (CLI) for k6. Note, however, that Azure Pipelines are designed best for cloud-first execution - thus the name.
We like the new Azure Pipelines automation and workflow features, making it easier for you to build pass/fail logic beyond just “stop if it fails.” Integration (like that with Slack) lets you deliver detailed updates when a test fails. And, of course, since we recommend at least baseline load testing with every build, you’ll catch performance issues quick.
Your load testing with Azure Pipelines can also take advantage of container support and the ability to deploy to any cloud service - not just Azure.
But ultimately, here’s why we like Azure DevOps: it’s developer-centric. When we work with teams, we often find that developers can take a back seat to the operations folks. Instead, the strong Visual Studio heritage of Azure DevOps makes the developers at least equals on the team, especially around load testing as part of CI/CD.
Check out Azure DevOps and let us know how your Load Impact load testing integration turns out.