Rosario: Next Generation of Team Test (almost) out in the wild - Rosario Aug CTP

Brian let the cat out of the bag earlier today, then Doug confirmed it. The project I came over to VSTS to focus on is starting to get shared. As Brian discusses in his post we demo'd live code from the Aug CTP and the CTP that will follow Aug this week to our Technical Field and it was very well received. Brian's right it has been pretty challenging for the team to be working on 2 full versions of VS at the same time(VS 2008 and Rosario) but I think the team have done a great job.

We'll start talking about the details of whats in the product over the coming weeks and months but I wanted to kick off my Rosario blogging by talking a little bit about the way that we think about testing and testers. Brian refers to Manual Tester in his blog but we really think of this as short hand for testers that do manual testing (the difference will become clear in a moment).

The testing that VSTT supports today is really in 3 forms;

  • Unit Testing, this is really a developer orientated form of testing and almost no "testers" use it directly but they wish all the developers in their team did!
  • Web Testing, this confused me when I first joined the team as I assumed it was UI testing for web apps, its not that and I like David Williamson's definition, its about using the browser to capture the (http)data required to test an http server, when we playback(or run the tests) we do so at the http level. Testing server protocols (even http) is a pretty technical and specialised task.
  • Load Testing, here we consume other tests and use them to simulate load against servers, web servers, reporting servers etc etc. We can use any test that includes code or web tests, this is somewhere that testers do/can use Unit Tests as they can form the basis of a load test. Again this is pretty technical and specialised testing.

When we decided to make a big investment in testing for VSTS going fwds (the team is more than 3x the size it was for VS 2005) one of the things we did was to segment the potential customer base into 3 broad buckets (with specialisations within, but we'll cover those in another post). Those buckets are;

  • The Developer Tester, this includes both TDD and traditional Unit Testing based developers who are focussed on using dev orientated testing to increase initial and ongoing code/application quality.
  • The Specialist Tester, this includes Load Testing, Security Testing, Protocol Testing, Very Deep/Complex Automation Testing etc etc, these are testers focussed on the more technical and specialised aspects of testing.
  • The Generalist Tester, these testers are about making sure the functional quality of the software is right for the user community, they might be former users of the software in question they likely do lots of manual testing, scenaro testing and some form of automation(but not all organisations do automation).

We want to provide a complete testing solution for customers, and that means have products/solutions for each one of these buckets(as well as managers, leads etc). As we start to reveal the layers of Rosario we'll come back to these roles and talk about the different pieces that we are building and how they address the requirements of each.