Identify the Test Impact in VSTS 2010
As developers make changes to code, it’s critical for them to effectively test their changes – not only to prove the new code work, but to ensure there’s no unexpected downstream effect. Test impact analysis and test prioritization identify the tests that must be run to validate the code changes. This helps developers quickly check-in code with confidence by running only the necessary tests and reduces churn created by unexpected failures.
The new Test Impact View window enables a developer to view a list of tests that need to be run as the result of a code change. The developer can toggle between an Impacted Tests view and a Code Changes view.
• The Impacted Tests view provides a list of tests that need to be
run and which code changes are covered by each of the tests.
• The Code Changes view provides a list of code changes and which tests must be run in order to validate each of them.
These two views provide a easy way to discover what tests must be run in order to validate the changes to the code base without having to run all of the tests. This ensures that all changes are tested effectively.
Posted in: .NET Framework| Tags: Testing VSTS VSTS 2010 Test Impact Identify ChangesEliminating “No-Repro” Bugs in VSTS 2010
From designing an application through developing code, finding bugs that can’t be reproduced is a common problem – the “no-repro” bug. Many factors drive these types of bugs, and we’ve worked to create tools to help isolate the issue and enable faster fixes.
One way this is solved in Visual Studio Team System 2010 is with the use of a tool that can specify the exact state of the build used by a tester and allow a comparison to the state of the build used by the developer when trying to reproduce the bug. It is often the subtle differences between these two that create the no-repro state, and a new tool within Visual Studio Team System 2010 has been designed to specifically address this.
This tool – the Microsoft Test Runner – is a standalone tool that a tester uses to guide them through a series of steps to complete a test case. When the test case is started the Microsoft Test Runner takes a snapshot of the system data, including OS version and Service Pack and other pertinent system data. As the test is being run the tester can use the tool to capture images of the application under test, or even partial or full screen video of the test being run. If an issue is discovered, the tester can create a new bug in Team Foundation Server and attach these artifacts. When attached, the screen capture video is fully indexed with the test steps as bookmarks, making it easier for the developer to see what went wrong on the tester’s machine. All of these artifacts help to eliminate the no-repro scenario, and help build a better bridge between development and test.
Modeling that Works with Code in VSTS 2010
For most businesses only 20% of the code being written today for new applications; the majority of work is being done on existing code bases.
When working on existing code, architects and developers don’t necessarily good enough tools to understand the system, know what needs to be done to make required updates, or be able to anticipate the impact of changes made. Often it isn’t until much later that an unexpected bug is discovered as a result of a change.
Our modeling tools have tight integration into the actual code of the application. This means that a developer or architect can use models to explore existing code assets. The new Architecture Explorer in Visual Studio Team System gives developers and architects the capability of creating a full architectural picture of existing code; understanding how they fit together; understanding how they “work.” This leads to better information about using, re-using, or discarding existing code. The Architecture Explorer provides architects and developers a mechanism for visualizing code assets in a number of ways including graphs, stacked diagrams and dependency matrices.
The introduction of the Architecture Layer Diagram means that a developer or architect can use models to enforce constraints on code as well. The Architecture Layer Diagram can be coupled to code making it an active diagram that can be used for validation. For example, when an architect designs a system where the presentation layer should not talk to the data layer, you want to be able to enforce that model at check-in. Visual Studio Team System 2010 can do that. These capabilities delivered in VSTS 2010 are part of the Microsoft’s overall modeling story.
Product Overview of VSTS 2010
The marketplace has begun to mature and accept Application Lifecycle Management (ALM) as a proven discipline for creating high-quality applications. However, existing solutions in the marketplace have not kept pace with the changing needs of technical users and the expanding inclusion of non-technical users as part of the lifecycle.
Every customer today faces a similar set of business problems:
• How do we build high quality applications that deliver
real business value?
• How do we embrace the Application Lifecycle Management model effectively?
• How can we ensure that all members of the team – both
technical and non-technical – are part of the process?
• How can we get the most value from our existing code assets?
• How do we make powerful modeling tools available to
everyone in the application lifecycle?
The third generation of Visual Studio Team System – Visual Studio Team System 2010 – will be a robust and streamlined solution that addresses these needs and concerns.
We are evolving Application Lifecycle Management by:
Building quality into the lifecycle
• Ensuring architectural consistency through the lifecycle
• Eliminating “No-Repro” bugs
• Ensuring smooth build handoffs and high quality builds
• Incorporating performance in the lifecycle
Driving efficiency into the test effort
• QA Team aligned with Business Analysts,
Architects, and Developers
• Eliminating tedious tasks
• Improving setup and deployment of tests
• Choosing the right tests
Ensuring Complete Testing
• Focused test planning and progress tracking
• Transparently see the quality of requirements and level of testing
• Finding the gaps in testing and fill them
• Ensuring changes are properly tested