PRC03 Improve Software Quality with Microsoft Visual Studio Team System

Speaker(s): Steven Borg, Jeff Levinson, Shad Timm

Förmiddagen var riggad som att alla demo var felaktiga för att illustrera hur man felsöker och hur man kan skapa förutsättningarna för att öka kvaliten i utvecklingsprocessen.

Delar som behandlades var hur man använder byggen med TeamBuild, unit tester samt Check-in Policy och Check-in comments.

Eftermiddagen började med att dom gick in på hur man jobbar med Code Coverage, Static och Dynamic kodanalys. Dom fortsatte med Webbtester och lasttester för att sedan avrunda med hur man gör Software Configuration Managment med olika branch stratergier. Dom avslutade sedan med hur man kan använda TFS datawarehouse för att följa upp diverse mätvärden för att kunna bilda sig en uppskattning hur ett mjukvaruprojekt går.

I sin helhet så tycker jag att dagen var intressant och givande. Jag hade väl hoppas på lite mer handfasta idéer och practises men jag var ändå mycket nöjd.

Tips:

  • Aktivera inte "Get latest version of item on check out" för att undvika att man endast får delar av de ändringar som är gjorda på severn. Gör istället alltid Get Latest innan man börjar med kodningen.
  • Om möjligt ha en separat byggsever med så lite som möjligt installerat på för att hitta ev. externa beroenden som kommer att saknas i produktion.
  • All utvecklare i teamet bör ha samma relativa workspace mappings för att undvika problem med sökvägar.
  • Checkin policy som stoppar incheckningar om bygget är trasigt. 
  • Lägg till Check-in Policy för att inte tillåta incheckning utan en kommentar. Det är endast kommentaren som syns i historiken m.m. utan att man behöver öppna ett change set
  • För att Code Coverage Metrics skall fungera så måste man sätta bygget att bygga för en specifik plattform, t.ex. x85. Glöm dock inte att sätta releasebygget till "All platforms" för att undvika problem i produktionsmiljön.
  • Dynamic Code Analisys funkar inte i Virual PC
  • När man kör Dynamic Code Analisys på en Webb applikation så använd Instumentation istället för Sampling för annars kommer de flesta smalingarna komma från IIS
  • När man kör Dynamic Code Analisys på en Webb applikation så gör det mot en PreCompiled Webb applikation annars kommer metodnamnen vara dynamiskt genererade.
  • För att testa AJAX applikationer med Visual Studio Web Tests så måste man ladda ner en hot fix.
  • Tänk noga igenom vilken branching stratergi du skall använda i ditt projekt så att du inte har byggt in dig i ett hörn när du verkligen behöver använda dina brancher för att fixa en bugg eller likande.
  • För projekt med endast en release i produktion och med korta intervall mellan driftsättning så rekomenderade Jeff att man använder "Branch By Quality" vilket betyder att man har en Dev-, en QA- och en Prod-branch. I Dev så är kvaliten mjukare och i Prod som hårdast (mest potentiella fel – minst potentiella fel).
  • Har man gemensam kod mellan olika TFS projekt så rekomenderade dom att man gjorde branch/merge istället för att direkt kopiera. På detta sättet kan de olika projekten välja när dom skall ta emot/lämna ifrån sig förändringar.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s