An intro from the VSTS 2010 data sheet:
[VSTS 2010 new functionality focuses on the architect, designer and test rolls in the Application Lifecycle]
This series will focus on the test roll; which flavors are there, what do they do, what are their goals, what do they do to reach that goal, how do they collaborate with other rolls and in what way does VSTS 2010 support their activities.
In what way can a collaborative effort in test activities support the business goal? Visual Studio Test Edition offers several new possibilities according to testing in the lifecycle and with the interaction between the tester and the other rolls in the lifecycle.
[Tests in the Lifecycle]
In the early and current edition of Visual Studio Team Test there are already several testing features available, helping the developer with test driven development, performance testing, load testing and several more [see this MSDN page].
While the current version of the Test Edition focuses on the roll of the tester and their activities, Visual Studio Team System 2010 is focused on the collaborative effort between the tester and the other rolls in the application lifecycle.
[Camano, VSTS2010 Acceptance Test Tool]
The most visible feature is Camano, a standalone acceptance test tool. This tool connects with Team Foundation Server and the newly introduced workitemtype ‘test case’. Workitems aren’t the only integration with the rest of the lifecycle, Camano also create automation strips which can be used during the ‘readiness scan’ [the system / integration test phase of the lifecycle]. Both possibilities of Team Test give the tester a stronger connection, a better collaboration with development. Another addition which stimulates the collaboration is Lab Management [see this screencast on Channel9]:
…lab management, which leverages virtualization to enable software development and test teams to build higher quality apps. Lab management accelerates setup/tear down time and eliminates no-repro bugs by creating better integration across dev and test teams throughout the application lifecycle.
These new capabilities will help fixing some major challenges in product development, they will save time and improve the quality of the overall product. Analyzing and fixing a bug is, without doubt, a loss of time. And the later the bug is found, the greater are the losses. Finding bugs AEAP (As Early As Possibly) becomes more and more important, especially in the complex systems we make nowadays. The joined knowledge together with integrated tooling of the developer, the tester and the architect/designer can help with this challenge. But, having tooling in place which help the tester to their job more efficient isn’t enough for a good test process. Testers can still just test one button, one screen or even the wrong functionality or do it the monkey way.
How good is your test process? This seemingly easy question turns out to be very hard to answer in reality. Testing is often experienced as a troublesome and uncontrollable process. Testing takes too much time, costs a lot more than planned, and offers insufficient insight in the quality of the test process and, therefore, the quality of the information system under test and the risks for the business process itself.
The Test Process Improvement (TPI®)-model offers insight in the 'maturity' of test processes within your organization. Based on this understanding the model helps to define gradual and controllable improvement steps.
[TPI® levels mapped on IO model]
Collaborative, efficient tooling together with a mature structured test approach will not only result in better quality software but also gives the Application Lifecycle a way to improve the software delivery process. The responsibility of testers is not only finding bugs, but also to initiate learning cycles. They know where things go wrong.
In the next episode Rob will guide us through the world of testing…