Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
1 van 6 1.0 15 februari 1996
Black-Box Test Technieken Er zijn een aantal test specificatie technieken, verder testtechnieken genoemd, die bruikbaar zijn binnen het black-box acceptatietesten. Gedurende het vaststellen van de teststrategie wordt bepaald welke testtechnieken specifiek te gebruiken in een acceptatietest. De keuze is afhankelijk van de te testen kwaliteitsattributen en het belang van elk van die attributen. Gedurende de voorbereidingsfase van het testen kan de keuze worden bijgesteld indien blijkt dat de vooraf gekozen testtechnieken beperkt toepasbaar blijken te zijn. De onderstaande testtechnieken zijn het meest bekend: • Data Flow Test • Elementaire Vergelijkingen Test • Proces Cyclus Test • Real Life Test • Syntactische Test • Semantische Test • Error Guessing • Gegevens Cyclus Test Van elke techniek wordt een korte beschrijving gegeven, het doel belicht, of de techniek voor on-line en/of batch processen toepasbaar is, het concept achter de techniek, welke kwaliteitsattributen van toepassing zijn bij de techniek en welke type fouten waarschijnlijk het meest worden gevonden met behulp van de techniek. Data Flow Test Doel Deze techniek beslaat gegevensverwerking door separate systeemfuncties en de relaties tussen deze functies. Kwalificatie Deze informele testtechniek is zowel voor on-line als batch processen toepasbaar. Alhoewel de techniek richtlijnen aangeeft voor het specificeren van testgevallen, zijn de gevallen hoofdzakelijk gebaseerd op de intuïtie van de tester en zijn/haar kennis van het testobject. Voordelen: • Eindgebruikers kunnen op een relatief eenvoudige wijze een redelijke test specificeren, gebaseerd op hun kennis van en inzicht in het systeem; • De kwaliteit van de testbasis heeft nauwelijks invloed op de kwaliteit van de test; • De mogelijkheid bestaat om goede testgevallen te specificeren met geringe inspanning. Een nadeel is dat de test relatief onvolledig is; voor een volledige test is de Elementaire Vergelijkingen Test meer geschikt. Concept De techniek is gebaseerd op gegevensstromen en de verwerking van deze stromen door de applicatie. Voor het specificeren van testgevallen wordt een inventarisatie gemaakt van de relevante objecten en elementen in de gegevensstromen. Voor elk van die objecten worden de mogelijke waarden bepaald die het verwerkingsproces beïnvloeden. Op basis van die waarden worden verschillende testgevallen afgeleid. Vervolgens wordt een testscript opgesteld door de testgevallen in logische volgorde te ordenen met toevoeging van voorbereidende acties en controles achteraf. Dekking De Data Flow Test is gekoppeld aan het kwaliteitsattribuut functionaliteit zoals deze door de gebruiker wordt verwacht. Onvolkomenheden die gevonden worden, hebben in de meeste Almere © 1996
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
2 van 6 1.0 15 februari 1996
gevallen betrekking op gegevensmanipulatie, berekeningen en koppelingen tussen aparte functies. Elementaire Vergelijkingen Test Doel Deze testtechniek belicht verwerking tot in detail. Alle logische paden in een functie worden geverifieerd. Kwalificatie Deze formele testtechniek garandeert een uitputtende test die tevens erg arbeidsintensief is. De techniek dient hoofdzakelijk te worden gebruikt voor erg belangrijke functies en/of complexe berekeningen. De testtechniek kan zowel voor on-line als batch functies worden gebruikt. Concept De Elementaire Vergelijkingen Test stelt hoge eisen aan de mate van detaillering van de uitgangsdocumentatie. Testspecificaties ontstaan door een overzicht te geven van functionele condities (vergelijkingen) en deze te vertalen naar pseudo-code. Indien de uitgangsdocumentatie niet duidelijk of onvolledig is, is deze werkwijze niet eenvoudig. Testgevallen worden gedefinieerd voor elk pad dat wordt geïdentificeerd in de condities/vergelijkingen. Dekking Deze techniek test expliciet de functionaliteit zoals deze is beschreven in de documentatie. Mogelijk te detecteren onvolkomenheden zijn voornamelijk fouten met betrekking tot gegevensbewerking en complexe berekeningen. Proces Cyclus Test Doel Met behulp van de Proces Cyclus Test wordt inpasbaarheid getest van geautomatiseerde delen van het informatiesysteem binnen de administratieve en/of organisatorische procedures.
Almere © 1996
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
3 van 6 1.0 15 februari 1996
Kwalificatie De Proces Cyclus Test richt zich op de interfaces tussen geautomatiseerde processen en de niet-geautomatiseerde processen. Bij deze testtechniek wordt ervan uitgegaan dat de geautomatiseerde delen functioneren conform specificaties. Testgevallen worden op een formele wijze afgeleid en zijn gebaseerd op de structuur van de “procedure stroom” en niet op de verwerking zelf. Gelijk een programmatest worden testgevallen gebaseerd op de structuur van het algoritme. De testtechniek kan worden toegepast op zowel on-line als batch processen. Concept Door te verifiëren of niet-geautomatiseerde delen en geautomatiseerde delen van het informatiesysteem in elkaar passen, worden de volgende vragen beantwoord: • Geven de geautomatiseerde processen voldoende informatie om de handmatige administratieve procedures correct uit te kunnen voeren? • Genereren deze procedures voldoende en correcte informatie om de geautomatiseerde processen te initiëren? • Heeft de gebruiker de juiste autorisatie(s) om deze procedures uit te voeren? Een testgeval bestaat uit een aantal achtereenvolgende acties die een specifiek “pad” door de procedure stroom representeren. In tegenstelling tot de andere testtechnieken, bevatten de testgevallen bij de Proces Cyclus Test geen specifieke controles. Een impliciete controle van een bepaalde testactie is dat de volgende actie uitvoerbaar is. Het volstaat te verifiëren of een bepaalde reeks acties daadwerkelijk kan worden uitgevoerd. Een ander verschil met andere technieken is dat voor de testuitvoering verschillende personen betrokken zijn, elk in de rol van een bepaalde eindgebruiker. Uiteindelijk wordt een deel van de gegevens opgeslagen in de applicatie zelf. De rest van de gegevens is beschikbaar buiten het systeem in de vorm van bijvoorbeeld formulieren, rapporten of tabellen. Dit is eveneens een belangrijk verschil met andere technieken. Dekking De mate waarin het informatiesysteem past in de huidige organisatie en andere systemen wordt expliciet gemeten. Er wordt inzicht verkregen in de inpasbaarheid van geautomatiseerde delen van het informatiesysteem in procedure en andere systemen, evenals de tijdigheid van de benodigde informatie. Gedurende de testuitvoering kan tevens informatie worden vergaard over het gemak om te leren met het systeem om te gaan en het gemak met het systeem om te gaan voor de meer ervaren gebruiker (gebruikersvriendelijkheid). Real Life Test Doel Deze testtechniek is niet zo specifiek als de andere testtechnieken zoals de Data Flow Test of de Syntactische Test. De Real Life Test is meer een verzameling van verschillende types technieken met als doel het systeemgedrag te voorspellen door een “real life” situatie te simuleren. De meest bekende is de Performance Test of Stress Test die wordt uitgevoerd om de verwerkingssnelheid van het systeem te bepalen onder verschillende “workloads”. Dit type van tests is meestal deel van een acceptatietest door het rekencentrum. Kwalificatie Deze techniek kan voor batch en on-line systemen worden gebruikt. Een belangrijke aanname hierbij is dat het systeem zowel technisch als functioneel correct functioneert. De techniek is vrij informeel, wat met name afhangt van de aanwezige kennis over het toekomstig gebruik van het systeem. Gebaseerd op die kennis kunnen een representatieve testopzet en realistische databases worden ontwikkeld.
Almere © 1996
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
4 van 6 1.0 15 februari 1996
Concept De eerste stap is het opstellen van een profiel van het systeemgebruik en verschillende draaiboeken op te stellen. Elk draaiboek staat voor een bepaalde workload op de achtergrond gedurende de testuitvoering. Deze achtergrond-workload is representatief voor de verwerkingsdrukte op het systeem in termen van het opstarten van bepaalde systeemfuncties. Een draaiboek kan worden uitgevoerd ondersteund door een testtool (herhaalbaarheid) of met een (grote) groep gebruikers. Na deze draaiboeken te hebben ontwikkeld, worden testgevallen gespecificeerd en vertaald naar fysieke testgevallen. Elk testgeval geeft een specifieke situatie weer waarin het systeem moet voldoen aan bepaalde performance eisen. De testgevallen vormen tezamen een testscript. Voor elk draaiboek (achtergrond-workload) wordt het testscript uitgevoerd. Gebruik makend van monitoring-hulpmiddelen kan er informatie worden ingewonnen omtrent performance aspecten als verwerkingstijd, CPU-tijd, aantal I/O transacties, responsietijd, geheugengebruik etc. Deze gegevens vormen de basis voor conclusies met betrekking tot de mate waarin wordt voldaan aan performance criteria, gebruik makend van de verschillende draaiboeken. Dekking De test meet de afhandelingssnelheid van on-line en batch transacties (tijd tussen de start van de taakverwerking en beschikbaarheid van resultaten). Gegevens worden verzameld omtrent het gebruik van geheugen, processor, netwerk etc. Indirect kunnen er tevens gegevens met betrekking tot beveiliging worden meegenomen. Syntactische Test Doel Deze techniek dient ter bepaling van fouten in scherm lay-outs en uitvoer lay-outs, evenals primaire input validaties op invoerschermen. Kwalificatie Deze test is met name geschikt voor on-line applicaties. Voor batch processen kan de Syntactische Test worden gebruikt ter beoordeling van gegenereerde uitvoer/overzichten. Los van de beschrijving in de functionele specificaties kunnen bestaande standaards en richtlijnen eveneens als criteria gelden. Afhankelijk van de wijze van testuitvoering kan het een formele test (gebruik makend van een uitgebreide checklist) of een informele test (overall indruk gedurende de test) zijn.
Almere © 1996
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
5 van 6 1.0 15 februari 1996
Concept Het merendeel van de primaire invoer controles wordt bepaald door de schermvelden te relateren aan het gegevensmodel. Dit model bepaalt veldlengte, bereik en andere beperkingen. Een overzicht wordt opgesteld van alle opties voor specifieke velden met betrekking tot lezen, creëren, wijzigen en verwijderen van gegevens op deze velden. Twee controlelijsten kunnen worden opgesteld: één algemene lijst (toepasbaar voor alle schermen) en één voor de afgedrukte rapporten/overzichten. Dekking Te traceren fouttypes: ontbrekende of foutieve velden, foutieve lengte, fout bereik, verkeerde plaats op het scherm, etc. De functionaliteit, en indirect gebruikersvriendelijkheid, van schermen en overzichten wordt hiermee getest. Semantische Test Doel Deze testspecificatietechniek belicht relaties tussen gegevens bij invoeren in het systeem. Deze relaties kunnen relaties betreffen tussen invoergegevens op één invoerscherm, of tussen gegevens op verschillende (achtereenvolgende) invoerschermen of tussen in te voeren gegevens en de inhoud van de database. Kwalificatie Deze formele testtechniek wordt met name gebruikt voor het testen van on-line systemen. De techniek kan goed worden gecombineerd met de Syntactische Test. Concept Er wordt een overzicht gemaakt van alle relatie-controles. Deze controles (invoer-controles) worden opgedeeld in condities en paden; wat gebeurt er onder welke condities? Deze condities worden stuk voor stuk getest, gegroepeerd per scherm. Dekking Een Semantische Test wordt gebruikt voor het testen van functionaliteit en beveiliging. Toegangsbeveiliging is vaak een zaak van een controle tussen ingevoerde gegevens (userid/password) en vastgelegde definities (autorisaties vastgelegd in de database). Gebruikersvriendelijkheid wordt in dit geval getest door bepaalde (fout)meldingen te genereren. Error Guessing Doel Error Guessing is eigenlijk ongestructureerd testen. De kracht van ongestructureerd testen ligt in het onverwachte. Tests worden ontwikkeld en uitgevoerd die nog niet gedaan zijn door andere technieken.
Almere © 1996
Quality Assurance in ICT
Organisatie Titel Onderwerp
SYSQA B.V. Overzicht Overzicht blackbox testtechnieken
Pagina Versie Datum
6 van 6 1.0 15 februari 1996
Kwalificatie Error Guessing zoomt voornamelijk in op die systeemdelen (batch en/of on-line) die cruciaal, kwetsbaar of onduidelijk qua kwaliteit zijn. Er worden geen formele testspecificaties opgesteld. Verslagen van Error Guessing moeten alle aangedane/geteste situaties bevatten inclusief de testresultaten. Concept Error Guessing is gebaseerd op kennis, intuitie en ervaring van de tester die vrij is in het specificeren en uitvoeren van testgevallen. Dekking Het type fouten dat wordt gevonden, varieert sterk. Functionaliteit, beveiliging, gebruikersvriendelijkheid, performance, inpasbaarheid binnen de organisatie en infrastructuur kunnen onderwerp van de test zijn. Deze testtechniek is niets anders dan ongestructureerd testen en moet dus in combinatie met andere (wel gestructureerde) testtechnieken worden gebruikt. Gegevens Cyclus Test Doel Deze testtechniek dient ter bepaling van de compleetheid en logica achter gegevens en hun levensloop. Gegevens worden gecreëerd (Create), gelezen (Read), gewijzigd (Update) en verwijderd (Delete) uiteindelijk (CRUD). Kwalificatie Deze informele techniek kan worden toegepast op zowel on-line als batch systemen. Door de CRUD-matrix van het functie-level naar systeem-level te tillen, wordt integratie tussen functies getest. Concept Voor elke functie of proces wordt een matrix gemaakt van alle gegevens die worden gebruikt in de functie of proces. Deze matrix wordt vervolgens gesorteerd naar gegevenselementen (entiteiten) en acties (CRUD) per functie die op deze gegevenselementen worden losgelaten. Op deze wijze wordt inzicht verkregen in de levensloop van de gegevens. Op basis van deze matrix worden testgevallen gespecificeerd die verifiëren of elk proces de gegevens goed verwerken. Dekking Gevonden fouttypes zijn voornamelijk ontbrekende stappen in de CRUD-matrix en referentiële integriteits fouten.
Almere © 1996
Quality Assurance in ICT