DevConnections - Monday

Posted November 9th @ 12:27 pm by Dave

I spent the majority of my day sitting through the track on Microsft Team System and Team Foundation Server. There’s a lot of great work being done here that will support the different roles throughout the software development lifecycle Here is an extensive list of notes from today’s Team System sessions:


Project Management



  • Microsoft Team System will support two methodologies out of the box: MSF Agile and MSF v4

    • GotDotNet workspace for MSF v4: http://workspaces.gotdotnet.com/msfv4

  • Work streams define a process by offering a collection of activities and sub-activities.

    • Process templates are defined in a structured XML format and are easily extensible.
    • There is a process manager to import and export process definitions.

  • The portfolio explorer has been renamed to Team Explorer.
  • Work Items

    • Requirement, Bug, Risk, Task
    • Can define own type or extend existing types

  • The documents folder integrates directly with structure in Project Site (Sharepoint).
  • The key tenets in Team System is integration across lifecycles and extensibility.
  • Excel integration provides offline access and updating capabilities

    • A merge tool will assist in resolving conflicts

  • Rich and extensible reporting

    • Accessible within Visual Studio and Project Site
    • Each methodology comes pre-built with reports suited for that methodology

Testing



  • If you’ve used NUnit, you’re on the right path for Team System Test
  • Test manager built into Visual Studio.
  • Tests can be executed locally or remotely
  • There is support for constraint execution

    • “execute on these 300 machines running Win98″

  • [TestClass], [TestMethod()], [TestCleanup()], [TestInitialize()]
  • The Test Manager retrieves it’s list of tests by reflecting on the [TestMethod()] attributes within your solution.
  • There is a test code generator that will provide the basic framewory pieces to execute a unit test on your methods.

    • For both public and private methods.
    • Sets every test to Assert.Inconclusive(). You need to fill in the details to make it a valid test.

  • Support for data driven tests.
  • Support for ordered tests

    • Test 1, than 2, than 3; if something fails, stop
    • No support for If..Else ordered testing

  • Manual Test

    • A documented test case in which the tester follows and specifies if the test passed or failed.
    • Integrates the results into the Test Manager along with the automated tests, including measurements.

  • Test execution doesn’t require a project system; can be executed from the command-line
  • Test can be defined into groups.
  • Code coverage

    • Test authoring isn’t about quanity, it’s about quality
    • Highlights source green for covered code, red for code which wasn’t covered, and blue for partial coverage.

  • The testing framework is extensible through generic tests or extended test types.
  • Profiling - 2 type supported

    • Instrumentation - requires instructions to be added to your app.
    • Sampling - analyze code execution without touching your app.; not as true as instrumentation.

  • Static Analysis

    • Finding errors within your code before you run and deploy your app.
    • From style checks to code correctness to security issues (automated code reviews).
    • Integrates with the Team System build environment.

Enterprise Source Control



  • Enterprise Source Control was built from the ground up with SQL Server 2005 as the repository.
  • VSS is a separate product that is going through it’s own updates outside of Team System.
  • VSS is geared for smaller development teams. Team System provides source control management with Work Item integration.
  • Batch source file changes into a Change Set
  • The check-in process; more than just checking-in, now there’s an opportunity for a process to be defined around checking-in code

    • Validate policies

      • “you can’t check-in unless this condition has been met”
      • Work Item association is required, unit test must be defined, must pass all unit tests, etc.
      • Policies are extensible

    • Commit changes
    • Event raised for 3rd party synch support
    • Work Items are updated and there’s an artifact link between the work item and the change set
    • Email notifications are sent out

  • Parallel Development

    • Path-space branching
    • Powerfrul merging

      • Merge file adds, deletes, renames, path changes, etc.
      • Can cherry pick individual changes

  • Shelving support

    • Captures changes without a check-in
    • Scenarios

      • Interrupted work
      • Backup / Checkpoint / Work-in-progress
      • Code review or buddy test

  • The communication transport exists today through SOAP over HTTP/HTTPS. Future releases may include other network transports.
  • There are no plans on replicating source repositories for distributed teams (not in v1 at least).
  • Source proxies supprot distributed teams.

    • Pull the file version from the source repository, if another developer from the same team location wants the same version, team system will check the source proxy to see if that version is in the proxy cache.

  • Microsoft will be providing a VSS and ClearCase upgrade tool.
  • Team System will come with an XML diff tool.
  • The Diff technology is the same between Team System and VSS.

If you want to learn more about team system, be sure to keep a watch on the following blogs:


Brian White: http://blogs.msdn.com/brianwh
Keith Rowe: http://weblogs.asp.net/keithrowe



No Comments Yet

You can be the first to comment!

Leave a comment

OpenID Login

Standard Login

Options:

Size

Colors