Statisch testen is een techniek waarmee we gebreken in software kunnen vaststellen zonder deze software daadwerkelijk uit te voeren. Daarbij is speciale aandacht voor de user requirements. Het is de tegenhanger van dynamisch testen daarmee checken we de software door de code daadwerkelijk uit te voeren.
Met statisch testen voorkom je al fouten in een vroeg stadium van het ontwikkelen. De reden is dat het eenvoudiger is om de oorzaak van een fout in de bron te vinden. Met statisch testen kunnen we daarom fouten vinden die we niet met Dynamic Testing kunnen vinden.
De twee belangrijkste typen statische testtechnieken zijn
- Handmatig onderzoek: Handmatig onderzoek bestaat uit de analyse van de delivarables en de code door die te doorlopen en staat tok wel bekend als een review.
- Geautomatiseerde analyse met behulp van tools: Automatische analyse komt in principe overeen met een statische analyse maar voer je uit met behulp van tools.
Wat is statisch testen met behulp van een review?
Een statische test is een reviewproces tijdens een vergadering om de mogelijke gebreken in een ontwerp of een programma te vinden. Een ander doel van de review is om alle teamleden op de hoogte te brengen van de voortgang van het project. Daarbij kunnen discussies over de deliverables soms leiden tot uitstekende suggesties. De deliverables onderzoekt het team tijdens de vergadering waarbij we de afwijkingen vastleggen.
De reviews kunnen we indelen in vier soorten:
- Informele reviews met het oog op verwachtingen van de deliverables.
- Walkthroughs met aandacht voor de functionele requirements.
- Technische reviews met aandacht voor de technische requirements.
- Inspecties op de consistentie van de onderliggende deliverables.
Tijdens het reviewproces zijn er vier typen medewerkers die deelnemen aan het statisch testen:
- Moderator: Stelt het reviewteam samen, controleert of de fouten zijn opgelost, coacht het team, en agendeert de vergadering.
- Auteur: Is verantwoordelijkheid voor de kwaliteit van de stukken die beoordeeld worden en moet de gebreken herstellen. Als sprake is van programma code dan is dit de programmeur.
- Notulist : Zorgt voor de vastlegging van de fouten die tijdens de review worden gevonden en is aanwezig op de reviewvergadering.
- Beoordelaar : Controleert de stukken op fouten en voert de inspectie uit
- Manager : Beslist over de uitvoering van de reviews en zorgt voor het halen van de doelstellingen van het reviewproces.
Soorten fouten die gemakkelijker tijdens een statische test zijn te vinden:
- Afwijkingen van normen
- Niet goed te onderhouden code
- Ontwerp fouten
- Ontbrekende requirements
- Inconsistente interface specificaties met andere software
Meestal zijn de fouten die je tijdens statisch test ontdekt, te wijten aan beveiligingsfouten, verkeerde variabelen, grensoverschrijdingen, syntaxische fouten, inconsistente interface, enzovoort.
Waarom statisch testen?
Statisch testen voer je om de volgende redenen uit:
- Vroege detectie en correctie van gebreken.
- Kortere ontwikkelingstijden.
- Lagere testkosten en testtijd.
- Voor verbetering van de productiviteit.
- Om minder fouten te krijgen in latere testfasen.
Wat test je in een statische test?
Bij statisch testen beoordeel je de volgende deliverables:
- De programma modules.
- Het Business Requirements Document.
- De Use Cases.
- De systeem- en functionele requirements.
- Het ontwerp.
- Het prototype.
- Het Prototype Specificatie Document.
- De database dictionary spreadsheet.
- De toe te passen testgevallen.
- De gebruikershandleiding / trainingslesstof / technische documentatie.
- Het testplan / teststrategie.
- De testscripts voor geautomatiseerd testen.
Hoe voer je een statische test uit?
Een statische test voer je op de volgende wijze uit:
- Voer een inspectie uit op het ontwerp van de applicatie en controleer het volledig.
- Gebruik een checklist voor ieder deliverable die je onderzoekt om ervoor te zorgen dat alle beoordelingen volledig zijn gedekt.
De verschillende activiteiten voor het uitvoeren van een statische test zijn:
- Validatie van functionele requirements: controleer of alle functionaliteit voor de eindgebruiker is meegenomen, evenals alle invoer en uitvoer die daarmee samenhangt. Hoe gedetailleerder en grondiger de user stories zijn, hoe nauwkeuriger en vollediger je de testgevallen kunt maken.
- Validatie van technische requirements: check of alle functionele requirements gedekt worden door technische implementaties zoals werkstations en een cloud omgeving. Kijk ook naar de database-functionaliteit, interfaces met andere systemen en hardware-, software- en netwerkvereisten.
- Architectuurreview: controleer de aanwezigheid van alle benodigde bedrijfsmiddelen zoals serverlocaties, netwerkschema’s, protocoldefinities, load balancing, database toegankelijkheid, testapparatuur, enzovoort.
- Prototype / Screen Mockup validatie: controleer of de testgevallen matchen met de functionele requirements.
- Validatie veldvakken: Elk veld in de gebruikersinterface moet zo gedefinieerd zijn dat de testwaarden zijn in te voeren. Controleer op min / max lengte, lijstwaarden, foutberichten, enzovoort.
Tips voor een succesvol statisch testproces
Enkele handige tips voor het uitvoeren van statisch testproces
- Focus alleen op zaken die er toedoen, bijzaken vertragen het proces.
- Plan en beoordeel de reviewactiviteiten expliciet. Het doorlopen van programmacode en deliverable inspecties zijn over het algemeen samengesteld uit peer reviews.
- Train de deelnemers voor hun taken.
- Hou het proces even formeel als de projectcultuur.
- Verbeter het reviewproces en de tools voortdurend.
- Verwijder grote vertragingen in de testuitvoering om de testkosten en de testtijd te verkleinen.
Samenvatting statisch testen:
- Statisch testen doe je om vroegtijdig fouten te vinden.
- Statisch testen is niet een alternatief voor dynamisch testen, met beiden vind je verschillende fouten.
- Reviews zijn een effectieve techniek voor statische testen.
Reviews helpen niet alleen om fouten te vinden, maar ook om ontbrekende requirements, ontwerpfouten en slechte code te vinden.
Discussieer mee op LinkedIn.
Samenvatting
ArtikelHet statisch testen van requirements
BeschrijvingMet statisch testen worden fouten in een vroeg stadium van het ontwikkelen voorkomen. De reden is dat het eenvoudiger is om de oorzaak van een fout in de bron te vinden. Met statisch testen worden daarom fouten gevonden die niet met Dynamic Testing kunnen worden gevonden.
Auteur
Wim Hoogenraad
Publisher Naam
ITpedia
Publisher Logo