Eenheidstest bondig testen basisprincipes testen

Dit is een uittreksel uit het Unit Testing Beknopte eBook, door Marc Clifton, vriendelijk geleverd door Syncfusion.

Ten eerste wordt aangenomen dat twee andere vitale onderdelen van elk softwareontwikkelingsproject aanwezig zijn:

  • Een bronbesturingssysteem, zoals CVS, SVN, Git, Mercurial, enz.
  • Een bugvolgsysteem, zoals Bugzilla, FogBugz, enz.

Microsoft biedt integratie van deze stukken met Visual Source Safe, SharePoint en andere producten.

Als je niet hebt beide van deze stukken al op zijn plaats, stop nu. Dit zijn essentiële componenten voor een goed testproces van solide eenheden.


Dus je hebt een fout

Als u een fout ontdekt, hetzij door het gebruik van de toepassing of een mislukte eenheidscontrole:

  • Rapporteer de bug in de bugtracker en wijs deze toe aan iemand.

Als de bug niet wordt gerapporteerd door een unit-test, maar is ontdekt door het gebruik van de code (een andere ontwikkelaar of een gebruiker):

  • Schrijf de eenheidscontrole die verifieert hoe het probleem moet worden gemaakt (zie "negatieve tests" eerder beschreven).

Met uw broncontrolesysteem:

  • Overweeg een filiaal speciaal voor deze bugfix te maken.

Dan:

  • Schrijf de eenheidscontrole die beschrijft hoe de methode zich correct zou moeten gedragen.
  • Los de bug op en test opnieuw.

Met uw broncontrolesysteem:

  • Controleer de wijzigingen en verwijs naar het bugnummer dat is toegewezen door de bugtracker.
  • Als je nieuwe eenheidscontroles hebt toegevoegd, vink deze dan aan, opnieuw verwijzend naar het programmeernummer.
  • Als u de code hebt vertakt, moet u beslissen wanneer u de wijzigingen in de hoofdtak wilt samenvoegen.

Tracking en rapportage

Door te werken met een systeem voor het volgen van bugs en versiebeheer, kan iedereen (van manager tot junior programmeur) gemakkelijk het volgende beoordelen:

  • De wijzigingen die in de codebasis zijn aangebracht.
  • De eenheid test om het probleem te creëren.
  • De eenheidstests die het probleem oplossen.

Dit maakt het leven voor het ontwikkelaarsteam, het management en zelfs de eindgebruiker een stuk eenvoudiger als uw project zodanig is opgezet dat de eindgebruiker geïnteresseerd is in dit detailniveau. (Als software bijvoorbeeld intern voor een andere afdeling wordt ontwikkeld, zijn anderen mogelijk geïnteresseerd om te weten wanneer een probleem is opgelost.)

Integratie met andere technologieën zoals SharePoint kan de communicatie tussen teamleden, managers en andere afdelingen vergemakkelijken. Ook zal het gebruik van geavanceerde bronbesturingstools zoals Perforce en continue integratietools zoals CruiseControl.NET het gebruik van bronbesturing verder integreren en automatiseren met unit-testen, integratietesten, rapportagetools, enzovoort.