1 Hoofdstuk: Het waarom, wat, en hoe van kwaliteit
1.1 Startoefening
Definitie Kwaliteit: Fitness of use = Geschiktheid voor gebruik
Kwaliteit van software kan getest worden, mits:
• Je weet welke behoeften (IT-requirements) het product moet vervullen.
• Je weet aan welke eisen het product moet voldoen.
1.2 Inleiding
In elk systeem of product software dat het systeem/product aanstuurt. Bijv. Parkeerautomaten,
espressomachines etc. Software is vaak het zwakke schakel betreft correcte werking van systemen.
Dit komt doordat in de software continue gekoppelde informatiesystemen wijzingen worden
doorgevoerd in tegenstelling tot hardware.
Software die kwalitatief slecht/onder de maat is, kan een hele grote impact hebben. Dit is natuurlijk
afhankelijk van het systeem zoals een medisch systeem als het leven van de cliënt ervan afhangt.
Alle systemen moeten aan bepaalde kwaliteitsnormen (andere benamingen:
kwaliteitseigenschappen, kwaliteitskenmerken en kwaliteitsattributen) voldoen.
1.3 Wat is kwaliteit?
Definitie kwaliteit: kwaliteit is het geheel van eigenschappen en kenmerken van een product of
dienst dat van belang is voor het voldoen aan vastgestelde of vanzelfsprekende behoeften. Wat
men kwaliteit verstaat is vaak subjectief en voor iedereen anders.
Definitie ISO kwaliteit: Kwaliteit is het geheel van eigenschappen en kenmerken van een product
of dienst dat van gelang is voor het voldoen aan vastgestelde of vanzelfsprekende behoeften
Kwaliteit van een informatiesysteem wordt dus bepaald door de mate waarin voldaan wordt aan de
vastgestelde of vanzelfsprekende behoeften. De belanghebbende (opdrachtgever en/of
eindgebruiker) zijn diegenen die deze behoeften vaststellen en uiteindelijk bepalen of hieraan
voldaan is. Dit noemen we productkwaliteit; heeft betrekking tot de vraag hoe goed het
productieproces is ingericht. Daar tegenover staat proceskwaliteit; heeft betrekking tot de vraag hoe
goed het product is dat door het productieproces wordt voortgebracht. Dit is het ontwikkelproces
die zo is ingericht op zodanige wijze dat deze bijdraagt aan een gewenste productkwaliteit.
Productkwaliteit wordt ook beïnvloedt door het beschikbare budget en tijd. Hoe meer budget, hoe
meer aandacht aan de kwaliteit van het product besteed kan worden (door bijv. testen).
Naast product- en proceskwaliteit komen nog een aantal begrippen voor die de kwaliteit bepalen van
een informatiesysteem: verificatie, kwalificatie en validatie. Dit zijn kwaliteitseisen.
Definitie Verificatie: Bevestiging door onderzoek en door het aanleveren van objectief
bewijsmateriaal dat aan de gespecificeerde eisen is voldaan. Verificatie is de vraag of het
informatiesysteem voldoet aan de specificaties die zijn opgesteld op basis van de wensen van de
klant.
Definitie Kwalificatie: Het vergelijken van een te testen object met algemeen geldende normen,
standaarden en interne afspraken voor dergelijke producten. Het gaat erom in welke mate het
product voldoet aan bepaalde algemene normen, standaarden en wetgeving. Het kunnen
technische normen zijn, maar ook wet- en regelgeving of interne huisregels die een organisatie
hanteert voor bijv. opmaak of indeling van applicaties.
, Definitie Validatie: Bevestiging door onderzoek en door aanleveren van objectief bewijsmateriaal
aan de eisen ten aanzien van een specifieke wijze van gebruik of toepassing is voldaan. Validatie is
het zeker stellen dat het product de behoeften van de belanghebbende vervult en aan de overige
kwaliteitseisen voldoet.
1.4 Integriteit en onweerlegbaarheid
Definitie Integriteit: De mate waarin een systeem, product of component ongeautomatiseerd
toegang tot heeft tot aanpassing van een computerprogramma verhindert.
Definitie Onweerlegbaarheid: De mate waarin kan worden bewezen dat acties of gebeurtenissen
hebben plaatsgevonden, zodat later deze acties of gebeurtenissen niet ontkend kunnen worden.
1.5 Wat is het belang van kwaliteit?
Bij kwaliteit van informatiesystemen moet je niet alleen denken aan goed functionerende software,
maar ook aan het juiste gebruik van de software.
Kwaliteit bestaan uit een breed scala van onderdelen. De ISO-organisatie heeft daar standaarden
voor ontwikkeld. Meest bekende standaard is de ISO 25010 en beschrijf kwaliteitseigenschappen
waaraan een informatiesysteem moet voldoen.
Het doel van de standaarden is om een meer objectief toetsingskader te creëren aan de hand
waarvan de kwaliteit van informatiesystemen kan worden vastgesteld. Het toetsingskader kan ook
bestaan uit een lijst van requirements, entry criteria, exit criteria en productrisico’s.
1.6 Startoefeningen
Oefeningen
1.7 Hoe bepaal je kwaliteit?
Definitie Testen (volgens ISTQB): dit is een volledig traject waartoe ook planning, voorbereiding en
evaluatie behoren oftewel beoogd gebruik. Testen omvat in deze definities zowel validatie als
verificatie.
Definitie Toetsen: Het proces van het testen van een component of systeem zonder de software
uit te voeren.
Toetsen worden meestal uitgevoerd op tussenproducten, bijv.: de eerste versie van een
schermontwerp of processen. Een eindproduct, bijvoorbeeld een programmatuur, kan eveneens het
onderwerp zijn van een toets. Het belangrijkste kenmerk van toetsen is dat er bij het uitvoeren van
deze activiteiten er geen sprake is van draaiende software. Het testobject bestaat uit specificaties,
systeemeisen of processen die in documenten zijn vastgesteld. Het beoordelen van programmacode
is toetsen, zolang de software niet wordt uitgevoerd.
< Plaatje blz. 27 >
Het vaststellen van de kwaliteit van een informatiesysteem kan op drie manieren:
1. Testen van een informatiesysteem
Tal van definities van testen in omloop. Twee voorbeelden:
• Testen omvat activiteiten zoals meten, onderzoeken, beproeven, keuren van een of
meer kenmerken van een product of dienst een het vergelijken van de uitkomsten
met de gestelde eisen, om te kunnen bepalen of aan deze eisen is voldaan.
, • Het proces bestaande uit alle levenscyclusactiviteiten, zowel statisch als dynamisch,
die te maken hebben met planning, voorbereiding en evaluatie van
softwareproducten en aanverwante zaken om aan te tonen dat ze aan de
gespecificeerde eisen voldoen, om aan te tonen dat wordt voldaan aan de
doelstelling en om fouten op te sporen.
2. Toetsen van een informatiesysteem
Het proces van het testen van een component of systeem zonder de software uit te voeren.
3. Meten van de kwaliteit van een informatiesysteem
Bij het meten van de kwaliteit is het van belang om je af te vragen waarom je een bepaald
kenmerk wilt meten. Wat wil je ermee bereiken en hoe kun je dat bereiken?
Kwaliteit controleren
Toetsen: Toetsen: Meten:
• Statisch • Dynamisch • Statisch en/of
• Gericht op • Gericht op dynamisch
tussenproducten eindproduct en/of • Gericht op
en/of proces onderdelen eindproduct en/of
• Vindt fouten, • Vindt fouten of onderdelen
geen falen falen • Vindt fouten en
fallen
Definitie bug, fault of defect: fout in de code.
Definitie failure: Falen van software/operationele fout.
Definitie error of mistake: Menselijke fout.
Verschillende vormen van toetsen:
• Collegiale review: een informele review.
• Walkthrough: de auteur van een document of programmacode leidt de groep door het
document of programma heen en licht de keuzes en achterliggende gedachten toe.
• Inhoudelijke review: een gestructureerde, inhoudelijke beoordeling van een product door
een of meer reviewers met als doel te bepalen of het product bruikbaar is.
• Inspectie: de meest formele vorm van toetsen. Een strak georganiseerde bijeenkomst
waarbij de focus ligt op het detecteren van fouten en daarvan de oorzaak te achterhalen. Het
aantal fouten wordt gebruikt om de kwaliteit van het product te beoordelen.
Voordelen van toetsen:
• Kwantitatief:
o Afname van testspanning.
o Afname van de onderhoudskosten.
• Kwalitatief:
o Hogere klanttevredenheid.
o Minder onverwachte doorlooptijd.
, Meten van kwaliteit
Proces: Product:
• Het aantal personen dat betrokken is bij • Het aantal fouten per component.
een project • Het aantal storingen in de eerste negen
• Het aantal uren dat aan het product maanden van de productiefase.
wordt toegewezen versus het aantal • Het aantal gewijzigde componenten
uren dat ondersteunend is naar aanleiding van een nieuwe
• Dat wachttijd voor een tester op de functionaliteit
testomgeving