TFS and Related Tools

A key component of most professional development teams includes the application lifecycle management environment, TFS. This tool allows teams to manage and track work. It provides the hub for collaboration between developers, project managers, testers, and those providing feedback. This section includes a brief overview of TFS and the related products: Team Explorer and Visual Studio Test Professional (also known as Microsoft Test Manager).

TFS

Application Lifecycle Management (ALM) is a broad term applied to the concept of continuous delivery of software through a set of integrated tools and processes. Microsoft uses this term often to refer to its collective group of developer tools. This collection includes Visual Studio editions, TFS, Test Professional, and related ancillary tools. TFS is the central hub that provides the integrated ALM experience around the various tools and their associated disciplines.


Visual Studio Online (VSO)

TFS comes in two versions: on-premises-hosted TFS and the online-only version called Visual Studio Online (VSO). MSDN subscribers have access to both.

The versions are similar, and Microsoft is working to make them nearly the same. However, at the time of writing this, VSO has fewer features than TFS; these missing features include the following: SharePoint integration, process template and work item customization, data warehouse, and related reporting. This latter item is the most notable missing element.

Of course, there are advantages to VSO. First, it is online and therefore more easily accessible and lower overall maintenance. Second, it automatically updates versions, patches, and service packs. It also supports cloud load testing and a few other VSO-specific items.

For more information on VSO relative to TFS, see the link: https://www.visualstudio.com/en-us/products/what-is-visual-studio-online-vs.aspx.


The first version of TFS was delivered with the release of 2005. This included source control, a centralized project management system, build automation, and reporting. By all accounts, these tools have been a great success over the past 10 years. Microsoft continues to build upon this with the release of TFS 2015.

TFS is at the center of development and ALM coordination. The following list highlights the many services provided by TFS:

Image Process guidance/template—TFS includes three process templates out of the box: Microsoft Solutions Framework (MSF) for CMMI Process Improvements, MSF for Agile Software Development, and Microsoft Visual Studio Scrum. All provide a set of work items, workflows, and reports that are uniquely crafted with regard to their specific methodology. They also offer guidance to the team for executing key activities on the project (such as requirements management or build automation).

Image Project management—TFS enables project managers to define their projects in terms of iterations and functional areas. It provides work items that are used to define, assign, and track work on the project. A work item can be a task on the project, a requirement, a bug, a test scenario, and so on. In general, a work item represents a generic unit of work on the project. Of course, work items are customizable and can have states, new fields, and business rules associated with them. TFS also includes a task board for easily viewing, working with, and tracking items in a collaborative way. Work items play a central part in ensuring project team communication and reporting. Project managers can use the TFS website along with the Excel and Project add-ins to Office to manage the work items on a project.

Image Requirements management—TFS provides specific work items for managing requirements. Work items are hierarchical, which means you can create work item children. For example, you might create a requirement work item and then define the tasks required to build that requirement. You might also define the test cases that will be used to verify the requirement. In this way, TFS enables rich reporting through the aggregation of the child work item data (such as tests passing for a requirement or work remaining at the requirement level).

Image Test case management—TFS and Test Professional enable work items specific to test planning and test case management. You can define a set of test cases for a given requirement. Each test case can define the steps required to execute the test case along with the expected results.

Image Version control—The source control features in TFS include enterprise-class features such as change sets, shelving, automatic build rules, the capability to associate work items to changed source, parallel development, a source control policy engine, branching, checkpoints, and more. There are powerful tools included for visualizing branch and changeset relationships.

Image Build automation—The TFS build tools allow for automatic, scheduled, and on-demand builds. Builds are reported against, documented, automatically tested, and analyzed for code coverage and churn (as an example). The build engine is written using Windows Workflow Foundation (WWF). TFS provides a build template you can use as the basis for creating custom build processes.

Image Release management—TFS includes the Release Management tool for managing software releases from your environments such as development to test to staging to production. This tool allow you to track a release and assign approvers for various stages of that release.

Image Reporting—TFS provides a rich set of reports for tracking statistics and the overall health of your project. Reports include those built on SQL Reporting Services (that are accessible from the IDE, the Web, and SharePoint) as well as a new set of Excel reports for working directly with the data.

Image Collaboration—TFS includes Web Portal for teams collaborating on iterations, requirements, and the related project task. This consists of a project home page for quick health check, a team room for discussions, and task boards for updating status. Web Portal also provides web-based access to source code, builds, and tests.

Image Integration with other IDEs—TFS is accessible from Visual Studio, Office, SharePoint, and the Web. In addition, there is Team Explorer Everywhere for accessing the TFS features using other IDEs running on operating systems outside Windows. This includes the Eclipse IDE and the Mac Xcode IDE.

Team Explorer

Some team members will not have a development tool such as Visual Studio or Test Professional that provides access to TFS. In this case, they can get full access through Team Explorer. Team Explorer is targeted at project managers, business analysts, directors, and others on the team who need to access TFS but do not do direct development. This tool is purchased as a client access license (CAL). It includes a basic explorer, the Excel and Project add-ins, full access to Web Portal, and reporting.

Test Professional (or Test Manager)

Visual Studio Test Professional 2015 provides test planning, test case management, and manual testing for those people dedicated to the testing role. This is a separate tool that should seem comfortable and familiar to testers. Test plans are created based on application requirements (to provide traceability). Test cases are created and tracked as work items.

When testers run a test plan, they work through each test case and each step in the test case. They indicate the success or failure of the given test. For failures, they can log bugs (also work items). The bugs can automatically include things such as diagnostic trace information, event log data, network information, and even video recording of the steps the tester was executing when the bug was found.

Test Professional also enables testers to create action recordings of their steps. These recordings can be played back to execute the same steps again. This helps automate many portions of manual tests.

In addition, Test Professional includes lab management, which is a suite of tools for provisioning test environments from a template. These environments are virtual machines that are meant to be set up and torn down as needed for testing. You also can create checkpoint environments for various builds.

Test Professional enables automated web, load, and stress tests. You can run these automated tests directly from Visual Studio on your local machine to simulate smaller user loads. However, if you want to collect data on multiple machines and test against a higher user load, you can leverage a test controller along with test agents. The test controller serves as the central data collector and manages the test agents. Test agents are then installed on both the servers under test and multiple client computers. This allows the servers under test to send back important data such as IntelliTrace information. The multiple client agents are used to simulate increased load and collect data from the client perspective. Finally, the centralized controller aggregates the resulting data for reporting.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset