Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, email addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. These materials are intended for distribution to and use only by Microsoft Premier Customers. Use or distribution of these materials by any other persons is prohibited without the express written permission of Microsoft Corporation. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
Microsoft, Active Directory, Windows, Windows NT, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Objectives
After completing this module, the participant will be able to: Describe essential concepts of Visual Studio 2010. Examine Visual Studio 2010 features more closely. Describe the concepts of Team Foundation Server. Provide an overview of Visual Studio 2010 ALM Test Tools
You can apply proven practices to manage your application's lifecycle by using the suite of tools in Visual Studio Premium and Visual Studio Ultimate in combination with Visual Studio Team Foundation Server. By using these tools, your team can better understand customer needs and more effectively design, implement, and deploy code. For example, your team can trace requirements to checked-in code, builds, and test results. By adopting these practices, your team can create software that your customers value more and that is faster and more reliable. You can use these tools to achieve the following results: Plan and track your project. Enact processes and monitor their quality to help your team turn customer requirements into working software. Design functionality, either on top of existing assets or from scratch, by using architectural diagrams to communicate critical information about your team's software. Write unit test, debug, analyze, and profile your application by using tools that are integrated with the rest of the application lifecycle so that your team can understand how your progress contributes to the project. Use version control to manage your source code and other files. Build your application by using an integrated build system so that your team can ensure that quality gates have been met and verify that requirements have been fulfilled in each build.
Test your application by running manual or automated tests, including performance and stress tests. Manage testing systematically so that your team knows the software quality on any given day. Deploy into virtual environments to enable more sophisticated development and testing. You can integrate other aspects of the application development lifecycle with Team Foundation Server by using one or more other products in Visual Studio Premium and Visual Studio Ultimate. Microsoft Test Manager enables you to manage and execute test cases outside Visual Studio, and create and manage physical or virtual environments. Visual Studio Premium provides a complete development toolset that simplifies the task of building applications. Advanced coding, debugging, database, and testing tools help you and your team to deliver scalable, high quality applications. Visual Studio Ultimate simplifies solution development, lowering risk and increasing return by providing tools for every stage of the lifecycle, from design and development through test and deployment. You can design your application in UML, or analyze your existing software assets. You can define your software architecture and validate that design when your team checks in and builds with Team Foundation Server.
Product Lineup
Application Lifecycle
Feature Comparison
Microsoft Visual Studio 2010 Professional is the essential tool for basic development tasks to allow developers to implement their ideas easily. This includes core capabilities for Windows, Web, and Office development, along with new capabilities for Cloud and SharePoint development. There are also new tools for Silverlight and Multi-core development. With Visual Studio 2010 the IDE and editor were refreshed using Microsoft Windows Presentation Foundation. Microsoft Visual Studio 2010 Premium is a complete toolset for developers to deliver scalable, high quality applications. This includes support for offline database development, unit testing and change management, static code analysis, performance profiling and code coverage and code metrics. New capabilities including UI test automation (aka Coded UI Tests) and Test Impact Analysis are available in premium. Microsoft Visual Studio 2010 Ultimate is the comprehensive suite of application lifecycle management tools for teams to ensure quality results from design to deployment. This includes IntelliTrace the new historical debugger which enables debugging events that ran previously on your machine, or another machine. Microsoft Test Manager 2010 is included in Ultimate enabling complete Test Case Management and test execution. Additionally the new architecture and modeling tools are included in Ultimate, including support for authoring UML diagrams (Activity, Use Case, Sequence, Component and Class diagrams are supported).
Product Features
There are some additional products in the Visual Studio 2010 family. Team Foundation Server 2010 is the center of gravity the hub for a development team. Team Foundation Server has a version control repository, a test case management database, a work item tracking and change management system, support of build automation and a comprehensive reporting solution built on SQL Server Reporting Services. Some of the new capabilities of Team Foundation Server include support for gated check-in, branch visualization and drag-n-drop merge, and new Agile Planning tools. Lab Management 2010 enables teams to configure and manage virtual lab environment. Lab Management works with System Center Virtual Machine Manage enabling teams to create environment templates, provision ring-fenced environments, and checkpoint those environments. Those checkpoints can be attached to bugs filed using the Test Manager 2010 enabling the person fixing the bug to open the environment right to the appropriate point in the application flow. Visual Studio Test Professional 2010 is the essential tool for anyone engaging in test case management or manual test execution in the development lifecycle. This tool is designed for the generalist tester someone who tests applications, but who is not responsible for writing code. This product includes Microsoft Test Manager 2010 (the Visual Studio IDE is not included).
Lesson 1: Review
2. Which application is designed for the tester? Does this edition have a development IDE included?
Microsoft Visual Studio 2010 Premium is a complete toolset that simplifies application development for individuals or teams, allowing the delivery of scalable, high-quality applications. Whether writing code, building databases, testing, or debugging, you can increase your productivity using powerful tools that work the way you work.
Automate UI testing
Coded UI testing enables you to automate user interface testing in Web and Windowsbased applications. These regression tests ensure that subsequent changes to the code do not break sections that already work.
Microsoft Visual Studio 2010 Ultimate comes packed with powerful tools that simplify the entire application development process from start to finish. Teams can realize increased productivity and cost savings by utilizing advanced collaboration features as well as integrated testing and debugging tools that help ensure that you deliver highquality code every time.
Testing Tools
Visual Studio 2010 Ultimate comes loaded with all of our advanced testing tools to help ensure the delivery of quality code every time. Take advantage of coded UI tests, which automate the testing of user interfaces in Web and Windows-based applications, as well
as manual testing, Test Professional, Web performance testing, load testing, code coverage, and other comprehensive features not found in other Visual Studio editions.
Database Development
Database development requires the same care and attention as application development. Visual Studio 2010 Ultimate recognizes this, and provides robust deployment and change-management tools that help ensure that your database and application are always in sync.
Lab Management
Delivering high-quality applications requires thorough testing of application code. Visual Studio 2010 Ultimate offers a full suite of management tools, including Test Manager 2010, plus provisioning an environment from a template, virtual environment setup and teardown, and checkpoint environments.
MSDN Subscription
Visual Studio 2010 Ultimate with MSDN is the most comprehensive offering for developers. Besides all of the features contained in Visual Studio 2010 Professional with MSDN and Visual Studio 2010 Premium with MSDN, Ultimate with MSDN includes additional hours of Azure compute time, non Visual Studio access to Team Foundation Server through Team Explorer Everywhere, and Test and Lab Manager software.
Visual Studio Test Professional 2010 is an integrated testing toolset that delivers a complete plan-test-track workflow for in-context collaboration between testers and developers, greatly increasing testers visibility to the overall project.
Lesson 2: Review
2. Which edition is required for advanced testing methods, like web and load testing?
4. What feature is used to drill into the structure of an existing application? Which edition features this?
Microsoft Visual Studio Team Foundation Server 2010 is the collaboration platform at the core of Microsofts application lifecycle management solution. Team Foundation Server 2010 automates the software delivery process and gives organizations the tools they need to manage software development projects throughout the IT life cycle. Team Foundation Server 2010 enables everyone on the team to collaborate more effectively, be more agile and deliver better quality software while building and sharing institutional knowledge. Project artifacts and data from work item tracking, source control, builds, and testing tools are stored in a data warehouse and powerful reporting and dashboards provide historical trending, full traceability and real-time visibility into quality and progress against business intent. Team Foundation Server provides a number of key services, including: Version Control Team Foundation Build Project Management Test Case Management Requirements Management Reporting
Version Control
Team Foundation source control provides standard source code version control functionality which can scale to handle thousands of developers. Beyond the typical source control functionality, Team Foundation is also an enterprise class software configuration management product that provides integrated version control, issue tracking, and process management for development teams. Team Foundation source control includes the following features: Complete version control feature set. Atomic check-ins. Powerful branching and merging. Shelving. Check-in policies.
In addition to being integrated into the Visual Studio environment with other Team Foundation technologies such as creating a build, and work item tracking, the source control also includes a stand-alone graphical user interface and a command line interface.
With Team Foundation Build, you can create build definitions to automate compiling applications, running associated tests, performing code analysis, releasing continuous builds, and publishing build reports. To build an application, you create a build definition to specify what projects to build, what triggers a build to run, what automated tests to run, and where to deploy the output. This information is stored in the data warehouse, from which it is retrieved when a build runs. After the build runs, data about the build results is stored back in the warehouse, where it is available to view through build reports.
You can use work items to track and manage your work and information about your team project. A work item is a database record that Team Foundation uses to track the assignment and progress of work. You can use different types of work items to track different types of work, such as customer requirements, product bugs, and development tasks. The work item type determines the workflow states and transitions. The work item types that are available in a project depend on the project template that the project uses. Also, you can customize the work item types that are available in your team project to track your work in the way it makes sense for your development environment. Each work item represents an object that is stored in the Team Foundation database. Each work item is assigned a unique identifier, a work item ID, and type, the work item type. Work item IDs are unique across all work item types in all team projects in a project collection. The work item type determines the work item fields that are available for tracking information, defaults defined for each field, and rules and constraints positioned on these fields and other objects that specify the work item workflow. Every change made to a work item field is stored in the work item log, which maintains an historical record of changes. All work items are associated with the following common elements: Fields that contain information about the work item. Rules for each field, such as the set of possible values.
A work item form that controls how the work item fields are displayed. A simple state-transition model that work item type authors can use to define required fields and values at different points during the work items life cycle.
All work items also have the following common characteristics: A set of common system fields. Comprehensive record of changes to the work item.
Support for links to other work items, file attachments, or any other work product in Team Foundation. You can create and modify work items by using Team Explorer, Team Web Access, Office Excel, or Office Project. When creating or modifying individual work items, you can work in the work item form, by using Team Explorer or Team Web Access. You can make bulk updates to many work items at a time by using Team Web Access, Office Excel, or Office Project.
Reporting
To better track the progress of your team in Visual Studio Team Foundation Server, you can create reports that highlight the data that is most important for your project. By creating your own reports, you can drill down on specific information that is not analyzed by the default reports in Team Foundation Server. In addition, you can customize how your reports are run, displayed, and delivered to each member of your team. When you create or customize a report, you will want to consider the report type and data, report format, and how you will use and share the report with your team. Your choices of report type, format, and sharing will influence the data source and authoring tool that you will use. You can create reports for Visual Studio Application Lifecycle Management (ALM) by using any authoring tool that can connect to the SQL Server Analysis Services cube or relational database. For example, you can use Microsoft Excel, Report Builder, and Report Designer. By using Excel, you can quickly generate reports that access data for tracking work items or data that is stored in the cube. By using Report Builder or Report Designer, you can allow users to update reports without granting them read access to the databases. The methods for sharing reports include sending the report in e-mail, uploading the report to a project portal, adding the report to a team project dashboard, or uploading the report to a server that hosts SQL Server Reporting Services for a team project. In addition, permissions must be granted to team members who will view, refresh, or modify reports. The required permissions will vary based on the report management activity.
Team Foundation Server supports project portals that are matched to the out-of-the-box process templates. Process templates are designed to be customized to a teams or organizations specific needs. Similarly Team Foundation Server project portals can be customized to provision custom content or features to the portal site. Examples of customizations that may be considered are: Changing the dashboards provisioned including adding new dashboards Adding new Excel workbooks Changing the Web Parts (or Web Part properties) on standard dashboards Changing the visual appearance of the portal site Activating custom SharePoint Features Visual Studio Application Lifecycle Management encourages team collaboration by allowing team members to access team project data from a variety of tools and platforms. Team Foundation Server integrates with Microsoft SharePoint Products to enable SharePoint sites to present and modify team project data. A SharePoint site that is linked to a team project is referred to as the team project's project portal. Project portals present and link information from the Team Foundation Server data stores, the team project's SQL Server Reporting Services site, Team Web Access and process guidance.
A project portal can be created in multiple ways. A common approach is to create the portal at the same time that the team project is created using the New Team Project Wizard from Visual Studio's Team Explorer window. Other creation options are available but may require more steps to complete the configuration. Each of the process templates that are shipped with the product have a default SharePoint site definition that is designed to present information relevant to the process template. In addition, the out-of-the-box project portals support a variety of deployment scenarios and will choose the best set of features based on the configuration of Team Foundation Server and the version of SharePoint Products that is being used. Project portals are intended to be customized to the team's or the organization's needs. Two types of customizations are available changing individual portals and customizing the process template to affect portals created in the future. Customizing an existing portal is usually done through the user interface for SharePoint Products and requires less skills or access to complete. This document addresses the second type of customization because a deeper understanding of the components involved is needed. To deploy process template customizations the user needs to be a member of the Project Collection Administrators group (or have the Manage process template permission). To deploy customizations for SharePoint Products, the user needs to be a member of the farm administrators group in SharePoint Products.
Project Management
Team Web Access is a Web interface that you can use to connect to Visual Studio Team Foundation Server and collaborate and coordinate your efforts with other team members to develop a project. You can use Team Web Access to manage work that is assigned to you and your team projects. Team Web Access is a customizable Web interface that provides most, but not all, of the functionality that is available through Team Explorer. You can use Team Web Access to enhance team communications, track team processes, and improve project oversight capabilities. Team members who have appropriate permissions can use Team Web Access to find and update work items, work with version-controlled files and folders, access reports and documents, and work with product builds.
Lab Management
Visual Studio Lab Management is an extension of Microsoft Test Manager that helps you to optimize the use of Microsoft Hyper-V technology to manage and use virtual machines in testing, building, and developing applications in Visual Studio 2010. Visual Studio Lab Management is integrated with System Center Virtual Machine Manager (SCVMM) to enable you manage multiple physical computers that host virtual machines and to manage the storage of virtual machines, virtual machine templates, and other configuration files in SCVMM library servers. Virtual environments are groups of virtual machines that are managed by Lab Management. Virtual environments enable you to: Reproduce the exact conditions of a bug or other development issue. Lab Management snapshots capture the state of all computers in the environment at a point in time. A snapshot of environment can be shared with members of a project team. A reference to the stored snapshot can be included in Visual Studio Team Foundation Server work item so that a copy of the environment can be created with a few clicks of the mouse. When Microsoft Intellitrace data is included in the work item, the execution path of the application to the bug can be fully reproduced on the exact configuration where the bug occurred. Build, deploy, and test applications automatically in a clean environment.
Using Lab Management workflows for Visual Studio Team Foundation Server builds, environments, snapshots and Microsoft Test Manager automated tests, you can stage daily builds of your application to a clean environment. After tests have been run, you can store the environment in a snapshot and then restore the environment to its original state so that it can be used again. Reduce the time required to create and configure machines for testing an application. Using Lab Management stored virtual machines and templates, you can quickly deploy customized environments that recreate the configuration of customer's production environments. Run multiple copies of a test or development at the same time Using Lab Management stored virtual environments, you can deploy multiple copies of a virtual environment at the same time without the computer name conflicts that can limit the use of unmanaged virtual machines in a domain. Enable members of a team to create and manage virtual environments without requiring system administrator privileges. You can use Lab Management permissions to create role-based self- service groups of team members who can deploy, create and manage virtual environments without requiring system administrator privileges. You can also combine Lab Management permissions with Visual Studio Team Foundation Server and SCVMM permissions to meet the specific requirements of your organization. You create an environment by using Microsoft Test Manager and assign virtual machines to each role that is required for the application that you intend to develop, test, or run. For example, you might be developing a multi-tiered application that requires three roles: a desktop client, a Web server, and a database server. By using Lab Management, you can create a virtual environment that assigns a virtual machine to each role, deploys each part of the application to the relevant virtual machine by using Team Foundation Build, and then runs the three virtual machines as a single instance of the application for testing. The following illustration shows a virtual environment that uses the three roles: desktop client, Web server, and database server. If your application is complex, you can assign multiple virtual machines to the same role in a virtual environment. Similarly, you might be developing an application that requires the same two roles to be deployed in two different topologies. For example, the data tier and the application tier might be located on the same machine in one topology, whereas the two tiers are located on separate machines in the other topology. The first topology is represented in one virtual environment, and the second topology is represented in a separate virtual environment. Your virtual lab now contains the two environments that you have to have for testing. You can also have a virtual environment where only some components of the application are deployed whereas other components are shared across environments. For example, if
your application needs a large database, you can decide to host a shared database on a physical machine. All virtual environments will have only virtual machines for the client and application tiers that can connect to the shared database as required.
Lesson 3: Review
1. Name two types of work items generally used with Team Foundation Server.
3. What are some of the features that the Team Project Portal provides to increase team collaboration?
You can now be more productive throughout your testing lifecycle of planning, testing and tracking your progress by using Visual Studio Ultimate or Visual Studio Test Professional. These testing tools are integrated with Team Foundation Server, which lets you define your testing based on the same team projects that other areas of your organization are using. Both Microsoft Visual Studio 2010 Ultimate and Visual Studio Test Professional 2010 now include a new application called Microsoft Test Manager to help you define and manage your testing effort by using test plans. You create a test plan and add any test suites, test cases, or configurations that you need, as shown in the following illustration. The configurations are used to determine which set ups you want to use to run test suites or test cases:
When you have defined all these, you are ready for testing. When requirements or user stories, or features are ready to be tested, you can run your tests for each configuration that you specified. This plan enables you to measure your progress as you run your tests and report on how much testing remains. You can run manual tests from Microsoft Test Manager using the Microsoft Test Runner. You can also run automated tests from Microsoft Test Manager if the automation is associated with a test case. Results from running these tests will be associated with a test plan. In addition, you can run automated tests from Visual Studio that are not associated with a plan. You can select to run the tests individually, as part of a check-in policy, or based on test categories. They can also be run as part of a build created by using Team Foundation Build, and from the command line. Because the testing tools are integrated with the other parts of Visual Studio Ultimate, you can save your test results to a database, generate trend and historical reports, and compare different kinds of data.
With Visual Studio Lab Management you can manage a set of virtual machines as a single entity called a virtual environment. Each environment consists of one or many virtual machines for each role required for your application. The environments that you create make up your virtual lab. Then you use the virtual lab to deploy applications and run tests using Microsoft Test Manager. These environments are created by using the Lab Center in Microsoft Test Manager. Applications are deployed to these environments in your lab by using Team Foundation Build. Tests are run on these environments in your lab from the Test Center by using Microsoft Test Manager. Lab Management integrates with Hyper-V, SCVMM and Team Foundation Server to manage the virtual environments in your lab. Hyper-V hosts the virtual machines; System Center Virtual Machine Manager (SCVMM) is a tool for managing your Hyper-V host machines from a central console; Team Foundation Server enables you to manage your virtual environments on these host machines and associate them with a team project or a team project collection. You use Microsoft Test Manager to create, start and run tests on your virtual environments. If you have existing virtual machines that were created by using Hyper-V, you can use them to create your virtual environment. Or you can create virtual machines with HyperV to use for your environment.