Skip to main content

Auteur: Andre Boeters

Al meer dan 25 jaar werk ik als Quality Consultant, met name in implementatieprojecten. Het begint bij het vaststellen van de requirements voor de IT en het bedrijfsproces.

Kan een automatische unittest-tool effectieve regressietests uitvoeren?

Het testen van code is een cruciale stap om de kwaliteit van een informatiesysteem te waarborgen. Niet enkel tijdens het ontwikkelen van de software maar nog meer bij regresssietesten, waarbij wordt gecontroleerd of bestaande functionaliteit nog steeds correct werkt na het doorvoeren van wijzigingen. Met de opkomst van automatisering zijn er tools ontwikkeld die beweren volledig automatisch unittests te kunnen genereren. Maar kunnen deze tools daadwerkelijk effectieve regressietests uitvoeren?

Automatische unittest-tools zijn softwaretoepassingen die op basis van de verstrekte code automatisch testgevallen genereren. Dergelijke tools maken vaak gebruik van statische analyse om automatisch tests te schrijven voor diverse functies en methoden binnen de software. Een van de belangrijke voordelen van deze tools is dat ze ontwikkelaars en testers aanzienlijk vrijwaren van handmatig werk, waardoor het testproces aanzienlijk wordt versneld.

Bij het gebruik van automatische unittest-tools is het van cruciaal belang dat zowel de unittests als de gegenereerde resultaten volledig transparant zijn. Transparantie garandeert dat alle betrokken belanghebbenden een duidelijk inzicht hebben in de testcases en de bijbehorende uitvoer. Dit bevordert de geloofwaardigheid van de tests en biedt de mogelijkheid om eventuele discrepanties tussen de verwachte en daadwerkelijke resultaten efficiënt te identificeren en op te lossen.

Het handmatig uitvoeren van regressietests is een tijdrovend en foutgevoelig proces, vooral in complexe systemen. Helaas wordt het vaak verwaarloosd, waardoor de testset niet up-to-date blijft. Bij onderhoudswerkzaamheden worden nieuwe testcases toegevoegd, die soms aanzienlijke overlap vertonen met reeds bestaande testcases. Dit leidt tot legacy-problemen, redundantie en regressie in de testset, wat de effectiviteit van het testen van het informatiesysteem aantast.

Automatische unittest-tools kunnen een waardevolle bijdrage leveren aan het ontwikkel- en testproces. Voor effectieve regressietests moeten ontwikkelaars verschillende testmethoden gebruiken, waaronder handmatige tests, geautomatiseerde tests en menselijke expertise om ervoor te zorgen dat de code correct functioneert, zowel op het moment van implementatie als in de toekomstige ontwikkelingsfasen.

Maar wat als automatische unittest-tools nu niet alleen veel tijd bespaart en frustratie wegneemt bij de ontwikkelaar en tester. Wat als een dergelijke tool snel en effectief een slecht onderhouden testset kan vervangen of zelfs een geheel niet aanwezige testset van een legacy-systeem kan opbouwen. Wij gaan de komende tijd onze visie op geautomatiseerd maken van een unittest met je delen. Wil je meer weten, neem dan gerust contact met ons op.

ISO SQuaRE

ISO SQuaRE vrije interpretatie Qualitier

Hoewel er in de 250xx reeks nog een aantal normen zijn (25050 en hoger) beperk ik me tot de normen zoals die hierboven schematisch zijn weergegeven. De hogere normen richten zich op internationale standaards en technische eisen, die ik in mijn projecten niet tegenkom.

In onze weergave van de ISO SQuaRE hebben we management (ISO 2500x) in het midden geplaatst. Deze richt zich op de kwaliteit van het proces. In Kwaliteit op Maat had ik dit naast de productkwaliteit opgenomen. De kwaliteit van het proces wordt bepaald door Management en Planning. Deze twee (hoofd)categorieën zijn dan ook in de cirkel rond de 2500x opgenomen.

Hoewel je in eerste instantie uit de nummering van de ISO normen een andere volgorde zou opmaken, hanteren wij de volgorde zoals je met de klok mee kunt lezen van rechtsboven naar linksboven. Beginnen met Requirements (2503x), dan Model (2501x) en Kwaliteitsmeting (2504x) om uit te komen bij Evaluatie (2502x). In de buitenste rand lees je per ISO norm de (hoofd)categorieën waarbinnen uiteindelijk via een categorie de kwaliteitsattributen zijn opgenomen. In de 2501x zie je als (hoofd)categorie Product (ISO 25010), deze heeft bijvoorbeeld de categorie Onderhoudbaarheid maar daarbinnen het attribuut Wijzigbaarheid. Hopelijk duizelt het je nog niet. Als dit wel het geval is, neem ik je stap voor stap mee naar de diverse normen.

Ik loop kort de normen na. Requirements (2503x) heeft als (hoofd)categorieën Stakeholder en Software, Model (2501x) heeft Product en Gebruik/Data, Kwaliteitsmeting (2504x) heeft Indicatoren en Referentiemodel en uiteindelijk Evaluatie (2502x) heeft Proces en Herstelbaarheid.

Jullie hebben wel in de gaten dat ik voorlopig stof genoeg heb om over te bloggen. Volgende blog ga ik in op de ISO 25010, Productkwaliteit.