De balans vinden tussen zekerheid en praktische haalbaarheid in de teststrategie
In grote projecten heeft iedere leverancier vanzelfsprekend zijn eigen verantwoordelijkheid om zijn deel van het geheel werkend op te leveren. Meestal voert de leverancier daarom een eigen set aan testen uit, waarmee hij kan aantonen dat zijn levering aan de gestelde eisen voldoet. We weten ook dat alle werkende delen nog niet perse een werkend geheel hoeven op te leveren. Hierbij komt het aspect integratie en dus ook integraal testen om de hoek kijken.
Het integraal testen lijkt voor de hand te liggen, dus een teststrategie is vrij snel uitgedacht. De leveranciers hebben hun eigen testen gedaan, dat is een mooi vertrekpunt. Vervolgens is het zaak om de diverse werkende delen stap voor stap bij elkaar te brengen, zodat een steeds groter deel en tenslotte zelfs het totale systeem getest kan worden op goede werking. Tot zover de theorie.
De testen die leveranciers uitvoeren, leveren niet perse het benodigde resultaat dat de juiste basis legt voor de integrale testen. De leverancier bepaalt immers veelal zelf hoe hij testen vormgeeft, uitvoert en rapporteert. Niet altijd is daaruit af te leiden of de voorwaarden voor integraal testen nu zijn ingevuld. Het ogenschijnlijk stevige fundament voor integrale testen blijkt ineens een stuk minder stabiel.
Het alternatief om alle relevante testen zelf te doen (of over te doen) is meestal niet realistisch, tenzij er zeeën van tijd in de planning blijken te bestaan. Een luxe waar de meeste grote projecten in de eindfase niet over beschikken.
In onze projecten ervaren we wat wel en niet goed werkt. Een handreiking uit de praktijk:
Niet doen
- Voor testen alleen verwijzen naar de norm IEC 62381 (over FAT, SAT en SIT) en dan hopen dat het wel goed komt. Die norm is erg dun en alle adviezen die er in staan voor teststrategie / -volgorde zijn niet bindend.
- De resultaten van onderaannemers wantrouwen, bijvoorbeeld door tijdens de integrale test gedetailleerd de testresultaten van onderaannemers te controleren. De juiste werking van de deelleveringen is uitgangspunt om met de integrale test te beginnen. Het is in dit geval dus vooral een kwestie van eigen tijd die je aan het verstoken bent.
- Nieuwe functionaliteit introduceren tijdens integrale testen. Krijg je geheid problemen mee, want wat is nu leidend: de contractuele eisen of de nieuwe functionaliteit? Voortschrijdend inzicht moet dus altijd vooraf contractueel geborgd worden.
Wel doen
- Een Master Test Plan opstellen dat vastlegt welke topeisen op contractniveau waar en door wie aangetoond moeten worden. Dat kan in een mooie tabel als bijlage zodat voor iedereen duidelijk is welke topeisen door welke onderaannemer (of hoofdaannemer) aangetoond moeten worden.
- Stel eisen hoe een FAT / SAT protocol van iedere leverancier er uit moet zien. Waar vooral in staat dat duidelijk (SMART als het kan) moet zijn welke testactie uitgevoerd wordt en wat de verwachte reactie is. Alleen een Excelsheet met een paar honderd testregels volstaat niet als vertrekpunt voor een integrale test.
- Leg contractueel vast dat het integraal SAT protocol van te voren beschikbaar wordt gesteld door hoofdaannemer en dat de testen die hierin staan leidend zijn voor de SAT protocollen van onderaannemers (zij moeten dus aansluiten op de integrale SAT).
- Maak duidelijk welke partij voor welk integratie-niveau verantwoordelijk is. In een master test plan met zes integratie niveaus, is bijvoorbeeld de hoofdaannemer verantwoordelijk voor niveau 4. Hierdoor weten de testmanagers per aannemer waar ze aan toe zijn en wat ze moeten regelen.
- Houd integratietesten op een functioneel abstractieniveau. Ga bijvoorbeeld niet testen welke alarmtekst precies moet komen. Laat je in de beschrijving van testen leiden door wat werkelijk in het veld gebeurt. Enerzijds houd je het overzichtelijk en anderzijds blijft het opstellen van testprotocollen dan ook haalbaar.
- Zorg dat tijdens de integratie testen het abstractieniveau steeds verder toeneemt. Je werkt ten slotte toe naar de conclusie dat de installatie als geheel functioneert.