TFS Performance Issues–Useful SQL Queries


Today one of my customers called and asked how to identify what causing slowness in TFS. Well, you should start with the basics, check TFS Application Tier and make sure CPU, Disk Usage and Network are in the normal levels. Once you’re sure the IIS (App Tier) is working we move to TFS DB. The first query you should run (Using SSMS) is the following: 1 SELECT top 20 SUBSTRING(t.text, ( s.statement_start_offset / 2 ) + 1, 2 ( ( CASE statement_end_offset WHEN -1 THEN DATALENGTH(t.text) ELSE s.statement_end_offset END - s.statement_start_offset ) / 2 ) + 1) AS statement_text, 3...
tags: , , , , ,
no comments

Lync Addin – Send SMS


Many companies I work for are using Lync for communication inside and outside the company, unlike most IM tools Lync doesn’t allow offline messaging. Which means that when you try to send a message to a contact that is offline you’ll receive the following message: We couldn't send this message because User is unavailable or offline. So I decided to provide a workaround (no I’m not adding offline messaging to Lync) that allows me to send an SMS message to anyone directly from Lync (also pulling user name Mobile Number). * Sending SMS requires a server that supports that...

R&D Managers Forum – Hybrid Mobile Development Lecture


Thanks for everyone who attended my lecture on Hybrid mobile development, below you can find the presentation and the Cross-Platform benchmark I’ve used in my lecture. For those who missed it, here’s the lecture abstract: More and more companies are building their applications to support smart phones and tablets, as a result of tremendous growth on those markets. The big questions is how you can build your application to support multiple devices and operation systems? Building the same application for different platforms is not just time consuming but also require a lot of maintenance and different skill set for each platform  -...
no comments

Automation Runner – Running Tests Without Visual Studio


I’m often asked to provide a solution for testers who wants to run automation but don’t want to work with Visual Studio (Or don’t have a license). You can run automation using MSTest or using VSTEST.Console command line tools, working with command line isn’t simple and friendly for testers:     1. Test Methods – How do I know which tests available in each Test Assembly?     2. Running list of tests – I what to control which tests to run and manage my own test plans.     3. Reporting – I want to get real time status on...

TFS API Part 56 – Test Configurations


This post will show to manipulate MTM configurations and variables using TFS API, this post came after a customer raise a demand to add hundreds of configurations to MTM from external system. Download Demo Project I’ve created WPF Application and added the following assemblies into my project: Microsoft.TeamFoundation.Client Microsoft.TeamFoundation.Common Microsoft.TeamFoundation.TestManagement.Client.dll Microsoft.TeamFoundation.TestManagement.Common.dll Step 1: Connect TFS private void Button_Click(object sender, RoutedEventArgs e) { TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.SingleProject, false); if (tpp.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; Tfs = tpp.SelectedTeamProjectCollection; Grp.IsEnabled = true; ...
tags: , , , ,
no comments

TFS Cleaner Tool


I few weeks ago I wrote a post about Control\Reduce TFS DB Size after received a “There is not enough space on the disk” message. That post shows how to identify what Test Attachments types are taking so much space and using the MS Test Attachment Cleaner to remove them from TFS repository. Two things, first I don’t like using Command Line tool – I prefer UI, so using MS Test Attachment Cleaner isn’t my favorite. Second, there are other things beside Test Attachment what consume a lot of space in TFS. So I decide to create a...

WPF Global Exception Handler


I decide to write this post because I’m facing too many applications that crash, yes just crash – no massage or recovery just crash!!! For some application it feels like 50% chance to get an exception, for me when an application crashes frequently I stop using it when I can find a proper replacement, but not always I can find suitable a replacement. In case you don’t know what I’m talking about here is a small application I’ve created to demonstrate what I’m talking about. Now, it doesn’t required a lot of work to handle those unhandled...

Getting Started With Application Insights (AI)


Application Insights for Visual Studio Online lets you monitor your application by tracking events, exceptions, usage, counters and custom telemetry of your application.Currently AI is in preview and available only on VSO, but you can jump and start using it Today! Currently there is two versions of AI out there – the VSO version and Portal Version, if you’re using Visual Studio Update 3 or later, you’re probably using the portal version.As I wrote AI is currently in preview and doesn’t provide all the information this kind of service should provide - OS, Browser, GEO and more analytic data...

How To: Enable Coded UI Html Logger


Many of my customers has already build large amount of Tests based on Coded UI, those tests running every build and every day, for a second everything looks just perfect, until a test failed with unexpected exception…. Then we need to understand why? the test failed because the new build broke the test? maybe something wrong with the test? So the obvious choice is adding logs to Coded UI, Coded UI has some basic logs capabilities, you can use either console, trace and TestContext to write logs inside your Coded UI Tests. Console.WriteLine("Console Writeline"); Trace.WriteLine("Trace Writeline"); TestContext.WriteLine("TestContext Writeline"); Now, if you...