What I will miss about Visual Studio Load Test

What I will miss about Visual Studio Load Test

With Microsoft's announcement that they will be discontinuing Visual Studio's load test features after Visual Studio 2019, I wanted to take a moment to acknowledge what I am going to miss about the tool-set.

I suspect many of you never used it, which is a shame because it had some of the best features out of any tool-set on the market. Some of the other (still popular) load test tool vendors could learn a thing or two from what Microsoft achieved in the little tool sitting on the back of a giant IDE.

Error logging during load tests

When an error occurs during a load test it's important to identify what happened. Most of the time it turns out to be a test data or environment issue, but now and again an important issue occurs which has the potential to impact the business.

When an error occurs during a multi-user load test it can be difficult to pinpoint what caused the issue. I struggle with this in JMeter. It's easy to log a specific request which failed, but more often than not the failure occurred during a prior request.

Visual Studio can be configured so that when a failure occurs every request and response is logged for the full end to end transaction. It also logs the value of user defined and run-time variables at each step. It presents this in the same UI you see when you do a single script playback, which makes identifying exactly what the error was and when it occurred easy.

I haven't seen another tool do this quite so well. It provided me with a sense of confidence that I understood exactly what my test is doing and the reason behind every failure.

Storing results in a standard DBMS

Most load testing tools store load test results in either:

  • A flat file (e.g. CSV or XML)
  • A bespoke database format which can only be viewed in the tool itself

The latter prevents you from connecting with and analysing the results with a third party tool, and the former often requires you to do some kind of parsing or at least data migration in order to compare multiple test runs against each other. Not to mention that working with very large flat files is a nightmare.

Visual Studio stores load test results directly in SQL Server. The significance of this is that you can connect to it however you want to pull the raw data in real-time. I connect Tableau Desktop to my results database to easily visualise and analyse multiple test runs, even while a test is still running. The table structure is a little daunting at first, but at least I have the option to access it using an external tool.

I'd like to see more load testing tools adopt this approach. There's no good reason for hiding the raw results in a bespoke database. As a load testing tool vendor it's important to acknowledge there are other tools out there specifically designed for data analysis and visualisation that can do the job better than the ones built into our load testing tools. Let us use those by avoiding bespoke database or results file formats.

Ethical licensing model

Relative to the quality of the tool Visual Studio was cost effective. In previous years you paid a one off fee for the Visual Studio Ultimate license. Now you pay a yearly subscription for the Enterprise license. Either way - you pay one fee per user which gives you unlimited test runs with unlimited virtual users.

To me, that's fair. They provided a tool which you paid for, and once you had it then all of its features and power were at your fingertips without any additional cost.

The licensing model of "pay more money the more virtual users you want to simulate" is outdated. Vendors are essentially providing stunted software which requires paying large fees in order to unlock the potential already packed up but locked away. Looking back, maybe this was an early incarnation of the "in app purchase"? It doesn't make sense to me, whether the tool simulates 10 users or 1,000,000 the tool vendor is not providing me anything additional. Unless a vendor is providing the infrastructure to run large tests (which makes sense to charge by the hardware used) then I don't think it makes sense to charge more for the more virtual users you want to simulate.

Extensibility

Because Visual Studio is, well, an IDE rather than a load test tool, it comes with the full power of .NET. Other load test tools also provide the ability to extend them programmatically, but with Visual Studio it seems like everything is made available.

In a past life I worked with a team of extremely talented performance experts who built a framework to make performance testing assets more re-usable and to make very complex scripting work simpler. They did a proof of concept looking at extending a number of load testing tool-sets and settled on Visual Studio for a reason; because of the level of access Microsoft provided to modify the way tests were executed and orchestrated.

Summary

It is a shame that Microsoft are pulling the tool-set from the market. Visual Studio was my go-to tool when open source was not an option. But more than that, Visual Studio did some things really well that the other tool vendors could learn from.

In the interest of continually improving our industry, I hope that other tools out there adopt some of the best bits of Visual Studio so that we do not lose these things in the past.

Neil Davies

Principal Performance Engineer at Vista Entertainment Solutions

6 年

Aaah! And merry Christmas to you too Microsoft. As you know Stephen, we're a 100% microsoft dev shop here and this tool is embedded in our processes. Someone show me another tool where the devs can reuse their dotNet code in load tests with the monitoring and full-fidelity database storage of historic results. It doesn't exist. Some soul searching will need to be done. How about they open source the execution engine so we as a community can embrace it and make it our own?

Suresh (perfDrummer)

Director Performance Engineering and APM / Principal Performance Architect

6 年

Loadrunner plus VS or Eclipse plugins may be close usable alternate. Used / Enjoyed using VS load tools in past and let it go is Sad

回复
Cynthia Tan

Software Test Engineer

6 年

Awww, well this is unfortunate. Just when I started learning about this tool as well.?

Matthew Adcock

Senior Manager - Performance Engineering at SiriusXM

6 年

I'm disappointed to see this happening. I was a huge proponent of its capabilities. However, from its inception I do not think Microsoft marketed this very well. This could have easily transformed into a SAAS solution using Azure.

Lorenzo Urbini

Decentralized QA Lead at Euronext - Ex Microsoft/Consensys

6 年

helped building this together with the AppInsigths integration and Perf Counters, probably the best test tool I've touched in my career :-\(?

要查看或添加评论,请登录

Stephen Townshend的更多文章

  • Monitoring your Mac with Prometheus

    Monitoring your Mac with Prometheus

    A few weeks ago I was exploring SquaredUp Cloud which is an dashboarding and visibility platform that lets you connect…

    6 条评论
  • Running your first Kubernetes workload in AWS with EKS

    Running your first Kubernetes workload in AWS with EKS

    I have been using Kubernetes for about a year and a half, but through all of that time I've only ever deployed…

  • Containerising a Node.js app

    Containerising a Node.js app

    As a Developer Advocate, I need to keep my technical skills up to date and to practice what I preach. One way I'm doing…

  • A Year as an SRE

    A Year as an SRE

    A bit over a year ago I transitioned from performance engineering into the world of Site Reliability Engineering (SRE).…

    7 条评论
  • The HTTP Protocol (explained)

    The HTTP Protocol (explained)

    What's this all about? A few years ago, I started writing a book about performance engineering. I only finished a rough…

    6 条评论
  • Running Grafana & Prometheus on Docker

    Running Grafana & Prometheus on Docker

    We're in the process of standing up a monitoring platform on Kubernetes. Before we started this process I had very…

    11 条评论
  • Is cloud computing killing performance testing?

    Is cloud computing killing performance testing?

    I 've received a few messages recently from individuals concerned that performance testing is "on the decline". The…

    17 条评论
  • Wrapping up 13 years of performance engineering

    Wrapping up 13 years of performance engineering

    Thirteen years ago, I fired off my CV to a few dozen organisations looking for my first job in IT. Months later, after…

    9 条评论
  • Performance Engineer to SRE?

    Performance Engineer to SRE?

    Two months ago I transitioned from a performance engineer to a site reliability engineer (SRE). It's been terrifying at…

    21 条评论
  • Before you automate your performance testing…

    Before you automate your performance testing…

    This year I’ve been working in a large program of work. My role is to oversee the performance testing and engineering…

    14 条评论

社区洞察

其他会员也浏览了