Enhetsprovning Succinkt Grundläggande test

Detta är ett utdrag från Unit Testing Succinctly eBook, av Marc Clifton, vänligt tillhandahållen av Syncfusion.

För det första antas det att två andra viktiga delar av något mjukvaruutvecklingsprojekt är på plats:

  • Ett källkontrollsystem, som CVS, SVN, Git, Mercurial, etc.
  • Ett felspårningssystem, som Bugzilla, FogBugz, etc..

Microsoft tillhandahåller integration av dessa bitar med Visual Source Safe, SharePoint och andra produkter.

Om du inte har det både av dessa bitar redan på plats, sluta nu. Dessa är viktiga komponenter i en bra testprocess för solida enheter.


Så du har ett fel

Om du upptäcker ett fel, antingen genom att använda programmet eller ett misslyckat enhetstest:

  • Rapportera felet i buggspåraren och tilldela den till någon.

Om felet inte rapporteras av ett enhetstest men upptäcktes genom att använda koden (antingen en annan utvecklare eller en användare):

  • Skriv enhetstestet som verifierar hur du skapar problemet (se "negativ testning" som beskrivits tidigare).

Med ditt källkontrollsystem:

  • Överväg att skapa en fil speciellt för denna buggfix.

Sedan:

  • Skriv enhetstestet som beskriver hur metoden ska fungera korrekt.
  • Fixa felet och försök igen.

Med ditt källkontrollsystem:

  • Kolla in ändringarna, hänvisar till det felnummer som tilldelats av bugspåraren.
  • Om du har lagt till nya enhetsprovningar, kolla in dessa, återigen hänvisa till felet.
  • Om du förgrenade koden bestämmer du när du vill slå samman ändringarna i huvudgrenen.

Spårning och rapportering

Genom att arbeta med ett bugg-spårnings- och versionsstyrningssystem kan alla (från chef till junior programmerare) enkelt granska:

  • De ändringar som gjorts i kodbasen.
  • Enheten tester för att skapa problemet.
  • Enheten tester som åtgärdar problemet.

Detta gör livet mycket enklare för utvecklarteamet, förvaltningen och till och med slutanvändaren om ditt projekt är upprättat så att slutanvändaren är intresserad av denna detaljnivå. (Till exempel, om programvara utvecklas internt för en annan avdelning, kan andra vara intresserade av att veta när en bugg är fixad.)

Integration med annan teknik som SharePoint kan underlätta kommunikationen mellan lagmedlemmar, chefer och andra avdelningar. Genom att använda avancerade källkontrollverktyg som Perforce och kontinuerliga integrationsverktyg som CruiseControl.NET, integreras och automatiseras även användningen av källkontroll med enhetstestning, integreringstestning, rapporteringsverktyg och så vidare.