September 2009 - Posts
Introduction to Directed Graph Markup Language ( DGML )
Couple of weeks ago I spoke with Ohad Israeli about his conclusions from IDCC conference, it seems like more and more people like to hear about Architecture and Methodology rather than another Developer language or technique.
In my previous post I showed the new features of VS2010 – Visualize Code Relationships (Archicture), as we all know Visual Studio Team System 2010 comes with many new abilities especially in the Testing , Architecture area.
In my upcoming posts I’ll focus about Architecture with Visual Studio Team System 2010 Architecture Edition.
DGML, or "Directed Graph Markup Language" is what we are using in VSTS 2010 Architecture to render graphs like the one below:
Open Visual Studio Team System 2010, go to “View” menu and “Architecture Explorer”.
Create new DGML document.
To see DGML code “Right Click” and click “View DGML”
Add a Link element as a child element to the Links node, with a Source and Target attribute, you'll get something similar to this:
You can add more links and define different source and target.
You'll notice the elements isn't even needed to render the graph above.
This is all you need to know to visualize all kinds of data.
The item $/' does not exist at the specified version
Today I got a call from a customer that having problems with source control permissions for offshore group,
He create a special Team Foundation group with those users and gave them permissions to couple subfolders (Don’t want them to see the entire tree).
But when trying to checkout we got the following message.
We success using TF command line tool but this is not a good solution.
Checking the permissions on the specific subfolder looks great.
Solution
To solve this problem you need to give the users read rights at $/Project,and additional rights are set at $/project/subfolder.
Hope this helps.
VS2010 Beta 1 – Coded UI Test
One of the most exciting features in Visual Studio 2010 is CodedUITest.
CodedUITest allows you to record screen actions to perform UI Testing.
Open visual studio 2010 and create new test project, add new CodedUITest.
CodedUITest appears and you can pick how do you want to record your test, in this post I'll demonstrate how to record CodedUITest using the Recorder.

CodedUITest recorder window appears.
Click "Record Actions" to start recording the test.

In my demo I open calc and perform couple of simple actions.
After you finish recording give your CoedeUITest name and click "Generate Method" .
Before you run the test you want to add validation rules for your CodedUITest.
Enter the "Add Assertions" tab click "Add UI Control".

Now drag the crosshair over the control you wish to create validation.

And click show properties , to view the selected control properties.

Now you can see all values related to the select control, mark the values you want to validation and set the right comparator and value.

After clicking ok you will see the validation inside the "Add Assertions" tab.
Now close the CodedUITest window and from Test View window run your CodedUITest.
Enjoy.
Microsoft Test & Lab Manager Beta 1 – Test Plan
In my last post I talked about Microsoft Test & Lab Manager - Interface, in this post I’ll talk about creating new test plan.
But before we can create Test Plan we must connect to a Context to work on.
The first thing you will see is “Set Plan Context”, as I said in the last post – you can’t start working without a Plan!
If you already define plan for your testing team you can select those and if not create new Test Plan.
“New Test Plan” – Is very simple screen that allows you to define your testing plan for specific dates.
In the right side you will see that each Test Plan is assigned to specific Tester\Manager under the Owner Field.
Test Plan are usually written before the actual product releases, and for this reason you can define that State to Inactive.
Start date = when we are planning to start working on this plan and the end time when we have to finish this plan.
Under each Test Plan you can define Test Settings for two types of test – 1. Manual Test , 2. Automatic Test
Test Settings are not Test Configuration(Browser type or OS etc…), Using Test Settings you can define what kind of information you want to collect when running the test and where you want to run it.
You can create new Test Settings or edit existing Settings by select and click Open.
How do you want to run test?
- Manually on my local machine
- Manually and collect information from remote computer.
- Automatic Test on remote server.
Data and Diagnostics
This is one of many great improvements: What and How much of data you want Microsoft Test & Lab Manager will collect while you running the tests…
Action Recording and Action Log – You can record your UI actions to create an action recording that can be played back later.You can also record the UI actions as text in a log file to review what actions you perform when running a test. those can also be added as extra information to a bug.
ASP.NET Profiler – Activate ASP.NET profiler and also profile database interactions.
Code Coverage – By adding program assembly you can get the Code Coverage % for each test.
Diagnostic Trace Collector – Events only, Records significant diagnostic event only which has minimal impact on performance.
Events, Methods and Parameters, Record method-level tracing which has potential impact on performance.
Event Log - Event logs to collect from the machine where the data collector is run.
Network Emulation – Select which network profile you want to use.
System Information – Collect System Information to be added as extra information to a bug.
Test Impact Collector - By using test impact analysis, you can identify the tests that you should run, based on coding changes that were made to the application that you are testing between builds
*** If you enable collecting test impact data, collecting code coverage data will not work.
Video Recorder – Record the Screen or specific application during the test,after test complete each step will be linked to his time line inside the video.

Last thing is “Test Configuration” – you can define what types of configuration needed to be tested during this test plan.
You can add your own configuration, test configuration will help you create better test matrix.
The Test Plan is complete and ready, set the test plan as your current Context and start working.

Visual Studio 2010 Beta 1 - Looking Good! Screenshots
“New Project”
WPF Properties panel
Connect to TFS
Work Item

VSTS2010 Beta 1 – Code Analysis
The VSTS beta is out with many many great changes and new features.
The post today is about Code Analysis new features to help us writing more clear and safe code.
The “Code Analysis” window has been change to work with “Rule Set”.

A “Rule Set” is a collection of Rules categories and rules.
For Example:
“Microsoft Security Rules” is a Rule Set, it contains two Rules Categories:
- Microsoft.Design
- Microsoft.Security
Each Rules Categories contains specific rules.
For example “Microsoft.Design” contains “CA2210 – Assemblies should have valid strong names”.
Team System comes with couple of default “Rule Sets”, If you don’t familiar with Analysis rules or you don’t have enough to investigate you can select your by “Rule Set”.
Each “Rule Set” comes with description to help you decide which rules are fit for you.
You also can open the “Rule Set” and customize it.
The new window allows you to search specific rule, filter by rule action, change rules action and of course create you own “Rule Set”.
Add\Remove Rules Set and Set new “Rule Set”

VS2010 – Load Test Network Emulation Profile
In Visual Studio Team System 2008 we had Network Emulation but a simple one, lots of times customers asked me is this network profile also simulate downstream? and not only upstream also how to simulate Latency? Now we got a lot more properties in the new Network Network Emulation that will help us create more persist Network Network Emulation for our Load Test.
Network Emulation Profile location for in house customizations:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Templates\LoadTest\Networks
Here is couple of new networks available in VS10:
UpStream \ DownStream Definition:
From the user's perspective, upstream network traffic flows away from the local computer toward the remote destination. Conversely, downstream traffic flows to the user's computer. Traffic on most networks flows in both upstream and downstream directions simultaneously, and often when data flows in one direction, network protocols often send control instructions (generally invisible to the user) in the opposite direction.
Latency is a time delay between the moment something is initiated, and the moment one of its effects begins or becomes detectable. The word derives from the fact that during the period of latency the effects of an action are latent, meaning "potential" or "not yet observed". Even within an engineering context, latency has several meanings depending on the engineering area concerned (i.e. communication, operational, simulation, mechanical, or biomedical fiber stimulation latencies).
Packet loss is the failure of one or more transmitted packets to arrive at their destination. This event can cause noticeable effects in all types of digital communications.

Queue Management
The process of lining up events in the order you want them processed. Whether it refers to packets in an IP network that search for the most optimal path to their destination, or telephone callers sitting in a "hold queue" waiting to be answered, queuing means the same thing: deciding on priorities through bottle-necked passageways. The science of queuing has developed many formulas for maximizing efficiency

VS2010 Beta 1 – What’s New For Tester?
Visual Studio 2010 is coming with many great improvements:
Branching and looping in web test – No need to generate coded web test to add logic.
And 64bit support for load testing!
Here is the full log by Ed Glas:
Web Test
• Recorder plug-ins for custom correlation extensibility
• These features are about making it easier to do correlation:
– Find in playback
– View recording log in playback
– Jump to request from playback
– Add extraction rule from playback
• Looping and branching in web test
• New dialog for editing think times, goals, reporting string across all requests
• Extensibility point in playback for adding tabs and top-level add-ins
• New validation and extraction rules for inner text and select tags
Load Test
• Analysis Improvements
– Log entire test result on test failure or log entire result every n requests
– Remote profiler integration
– Sys Info data collection
– Extensible data collectors to support more platforms
– Load test virtual user activity visualization
• Reporting
– Run to run perf reports in Microsoft Excel
– New warehouse perf report (post-beta1)
• Performance testing
– Run automated UI tests as performance tests
– True network emulation
• New properties on scenarios
– Delay start
– Iteration count
• Command line agent setup
• 64 bit test execution