ISTQB Foundation level. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.



Vergelijkbare documenten
Examen TMPA Test Management Approach (TMap) Professional Advanced

Woordenlijst bij TMap

TESTEN VOLGENS TMAP, EEN KORTE INTRODUCTIE. 1. Inleiding. 2. TMap methode. Kwaliteit zonder gestructureerd testen is toeval.

Regressietesten. De aanpak en aandachtspunten. Algemene informatie voor medewerkers van: SYSQA B.V.

Voorbeeldexamen. Testen Foundation. Editie maart 2012

ISACA round-table 7 december 2009 Rik Marselis

Testaanpak: leidraad voor het kiezen van een testtechniek

Ontwikkelen en testen van e-business: beheerste dynamiek

RAD Rapid application development. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

TestFrame. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Van Risicoanalyse tot Teststrategie

Testen. Presentatie. Open-i Software Services BV, Maarssen Datum : Versie : 1.2

Samenvatting TMap Next Voor resultaatgericht testen

Mastertestplan <<Naam project>> <<Organisatie>>

TMap in essenties Michiel Vroon Leo van der Aalst Rob Baarda

Martin van Leeuwen Happy Testing

TMapNext. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat?

Organisatie SYSQA B.V. Pagina 1 van 6 Titel Overzicht Versie 1.0 Onderwerp Overzicht blackbox testtechnieken Datum 15 februari 1996

De tester als bruggenbouwer

NGI-Noord. Mei Tim Koomen Leo van der Aalst Michiel Vroon

Testen Foundation (TestF.NL)

TMap NEXT Test Engineer

Acceptatietesten en testmanagement Examennummer: Datum: 29 maart 2014 Tijd: 10:00 uur - 11:30 uur

CHECKLIST GESTRUCTUREERD TESTEN. Doel. Toepassingsgebied

TMap NEXT Test Engineer

Erwin van den Hul De stappen van een complexe risico analyse matrix naar concreet testen

Procesvisie op Maat. Op basis van het Master Test Plan wordt een gedetailleerd testplan voor elke fase opgesteld.

Quality Gates: De overdracht tussen ontwikkelaars en testers geregeld

Testplan IpMEDT3 project

Sjabloon detailtestplan. <<Organisatie>>

PAT PT IT ST. ontwikkelaarstests. acceptatietests GT FAT

Testen bij DWH-projecten

14/11/2010. Een duurzame testaanpak voor een veranderd informatiesysteem. Agenda. Wie is Albert?

Test Process Improvement Benchmark. SPIder Conferentie 23 september Wim van Uden

Testgedreven ontwikkeling dat is pas veilig!

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

TMap NEXT Test Engineer

EISEN AAN TESTPLANNEN

Linkedin discussie: Hoe kan je best geld besparen op testen?

Sjabloon testplan op basis van SYSQA -teststrategieaanpak. <<Organisatie>>

TMAP NEXT. TMap in essenties

Test Coördinatie Introductie

Te hoog gemikte silver bullets missen doel Te hoog gemikte silver bullets missen doel

Auteur Kenmerk Versie 1.0 Datum Bestandnaam Status Definitief. NK Software Testen 2017

Kwaliteit van testen. Onbeheersbaar of ongecontroleerd? thema

Jan Jaap Cannegieter Reviews succesvol toepassen bij uitbesteding Najaarsevent TestNet: 22 september 2009

Presentatie Gestructureerd en geautomatiseerd testen Ad Driessens en Gerben Mondeel

Reviewtypen en reviewplanning. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

voorbeeldexamen TMap TMap NEXT Foundation editie juli 2009 inhoud 2 inleiding 3 voorbeeldexamen 15 antwoordindicatie 33 evaluatie TMPF_2.

Index 1-D TRA 98, D TRA 98, 109

Sjabloon testplan o.b.v. situationeel testen. <<Organisatie>>

EXIN Testen Foundation

Uittreksel. Ten geleide

Offshoring & Testing. Verander een uitdaging in een kans. Door Ernst Labruyère. re Consultant ps_testware. 20 september 2007

Testing University. A fool with a tool is still a fool

PROQA Project Quality Assurance. Checklist. Behorend bij het PROQA-assessment SYSQA B.V.

Chris Schotanus TestGrip: de aanpak voor testbeleid en testorganisatie

Software Test Plan. Yannick Verschueren

Webtesten onder schaarste

RAD en testen. Een aanpak. Algemene informatie voor medewerkers van SYSQA B.V.

Risk And Requirement Based Testing bij Acerta

Sjabloon testspecificatie. <<Organisatie>>

Aandachtspunten inzet testtool. Een aanpak. Algemene informatie voor medewerkers van SYSQA B.V.

Software Test Plan. Yannick Verschueren

Agenda. Introductie Aan het werk Conclusie / restrospective

Najaarsspecial Oktober 2013

Algemene kennis op het gebied van systeemontwikkeling en een half jaar tot een jaar werkervaring in het vakgebied testen. Niet van toepassing

TESTAUTOMATISERING IN EEN ETL-OMGEVING

Procesvalidatie voor een veiliger ketentest

Praktijkgerichte aanpak voor End to End (E2E) testen

De kleine TMMi. Doelgericht testprocessen verbeteren. Erik van Veenendaal en Jan Jaap Cannegieter

Grenzeloos vertrouwen in een tool!?

Met dit whitepaper bieden we u een overzicht we een aantal soorten (product-) toetsing. Dit overzicht is niet volledig!

Testplan <NAAM INFORMATIESYSTEEM/PROJECT>

C.A.S.T. Make it as simple as possible, but not simpler. Make IT as simple as possible, but not simpler. Complexiteit. Einstein maakte het simpel

Accelerate? Automate!

Gestructureerd testen van embedded software

TESTEN IN DE LOGISTIEKE E-COMMERCEKETEN

Inspecties. Een introductie SYSQA B.V.

Bijlage 3: Master testplan

Risk Based Testing. TestNet Voorjaarsbijeenkomst. Johan Vink. A reality check

Trainingen Improve Quality Services

Curriculum Vitae. Testmanager Testconsultant Testanalist Projectleider

Data Warehouse. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Tool Ambitie Resultaat

Vrijgaveadvies. Project <naam project>

TPI Next Business Driven Test Process Improvement. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

ERP Testing. HP Nijhof. Testmanager. Testnet November 2005

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

Agile Testen in de praktijk

Nieuw toegevoegd: - Context Driven Testen - Verbeteren van Requirements - API / Mobile App Testen

Test rapportage Waarom eigenlijk?

Auteur : Datum : Versie : 1.0. Documentbeheer

Omschrijving. Technische context

TESTING POLICY. Van Caneghem Wouter Functionele Analist - Fedict. Dussart Dirk Architect - Fedict

CHECKLIST TESTING MATURITY MODEL. Doel. Toepassingsgebied

TMap NEXT Test Manager

Exploratory Testen zinvol of onzin?

NK Testen Testrapport team 4. Team: #Test. SUT: Fructasys. Datum Team #test Claudia Star Robin Duiker DYongmit Lepcha Daniël Venhuizen

Transcriptie:

ISTQB Foundation level Een introductie Algemene informatie voor medewerkers van: SYSQA B.V.

Organisatie SYSQA B.V. Pagina 2 van 10 Inhoudsopgave 1 INLEIDING... 3 1.1 ALGEMEEN... 3 1.2 VERSIEBEHEER... 3 2 ISTQB ONDERWERPEN... 4 2.1 DE FUNDAMENTEN VAN TESTEN... 4 2.2 TESTEN TIJDENS HET SYSTEEMONTWIKKELINGSPROCES... 5 2.3 STATISCHE TESTTECHNIEKEN... 7 2.4 TESTSPECIFICATIETECHNIEKEN... 8 2.5 TESTMANAGEMENT... 8 2.6 TESTTOOLS... 8 3 LITERATUURVERWIJZINGEN... 10

Organisatie SYSQA B.V. Pagina 3 van 10 1 Inleiding 1.1 Algemeen ISTQB, ook wel bekend als testen volgens ISEB, is niet ontwikkeld als een testmethodiek, maar als een verzameling definities en begrippen die van belang zijn bij het testproces. ISTQB staat voor International Software Testing Qualifications Board en is een groep testexperts die de syllabus hebben geschreven die de basis vormt voor het The Certified Tester Foundation Level in Software Testing, ook wel bekend als ISEB Foundation. De invloed van ISTQB en de bijbehorende certificering hebben het echter tot een dergelijk belangrijk begrip gemaakt dat het inmiddels niet raar is om te testen volgens ISEB Hiermee kan ISTQB worden gezien als testmethode. Deze introductie gaat in op ISTQB foundation niveau. 1.2 Versiebeheer Versie Status Datum Auteur Opmerkingen 0.1 Concept 11 augustus 2005 H.J.J. Cannegieter Eerste concept

Organisatie SYSQA B.V. Pagina 4 van 10 2 ISTQB syllabus In de ISTQB-syllabus bestaat uit de volgende onderdelen: De fundamenten van testen; Testen tijdens het systeemontwikkelingsproces; Statische testtechnieken; Testontwerptechnieken; Testmanagement; Testtools. 2.1 De fundamenten van testen In het Engels bestaan verschillende foutbegrippen (failure, fault en error) in het Nederlands hebben we het altijd over fouten. Er is een verschil tussen testen en debuggen. Testen heeft als doel fouten op systematische manier aan het licht te brengen, debuggen richt zich op het verwijderen van fouten. Het is onmogelijk, ondanks het testen, om foutloze applicaties te realiseren. Het testen dient tot verhoging van de software kwaliteit. Testen neemt een groot deel van de ontwikkelkosten in beslag. De testkosten moeten afhangen van de risico s en de beoordeling van schade die verbonden is aan het optreden van mogelijke fouten. Het testproces bestaat uit vier fases: 1. Testplanning en beheersing; 2. Testanalyse en -ontwerp; 3. Testuitvoering; 4. Testafronding Voor een gestructureerd testproces is de testplanning van groot belang. Dit houdt de planning van resources in, maar ook het vaststellen van de teststrategie. Hieruit komen de te behalen dekkingsgraad, te gebruiken testtechnieken, de prioritering van testen en de inzet van testtools naar voren. Het vaststellen van een teststrategie wordt onderkend als één van de belangrijkste taken tijdens de testplanning. Omdat een volledige testonmogelijk is, moeten er eisen worden gesteld aan de hand van een risico inschatting. Risico s worden onderverdeeld in productrisico s en procesrisico s. Afhankelijk van de kans op fouten en de mogelijke schade bij het optreden van een fout, moeten de testactiviteiten over de verschillende delen van het systeem worden verdeeld. Doel van de teststrategie is het verkrijgen van een optimale verdeling. Uit risicoanalyse en teststrategie wordt de te behalen dekkingsgraad per systeemdeel opgemaakt. Dit kan een van de acceptatiecriteria zijn, net als eisen van de klant. Bij de behandeling van de testsoorten wordt ook een aantal maal van teststrategie gesproken. Hiermee wordt echter de praktische aanpak van een bepaalde testsoort bedoeld, niet de complete teststrategie zoals wij die in het onderzoek voor ogen hebben. Testanalyse en -ontwerp gebeurt in twee fasen: opstellen van logische en van fysieke testgevallen. Naast testdata horen ook de randvoorwaarden voor uitvoering bij een testgeval. Om te beoordelen of een testgeval goed of fout is verlopen, moet er een resultaatvoorspelling worden opgesteld. Verwachte waarden zijn af te leiden uit de specificaties van het testobject en eventuele andere bronnen. Naast risico zijn er andere criteria voor prioritering van testgevallen, bijvoorbeeld door te kijken vanuit het gezichtspunt van de gebruiker of van de ontwikkelaar Na testanalyse en -ontwerp volgt de testuitvoering. Na het vinden en oplossen van een fout moet er een hertest plaatsvinden. Of er voldoende getest is, moet besloten worden aan de hand van de acceptatiecriteria die zijn opgenomen in het testscript. In de praktijk wordt echter vaak gestuurd op tijd en kosten. De testafronding omvat het conserveren van de testware en een evaluatie van het testproces.

Organisatie SYSQA B.V. Pagina 5 van 10 In dit hoofdstuk worden algemene testprincipes behandeld, dit zijn: Principe 1. Testen toont de aanwezigheid van fouten aan. Door middel van testen kan aan worden getoond dat er fouten zijn, er kan met testen niet worden aangetoond dat er geen fouten zijn. Testen reduceert de waarschijnlijkheid dat er onontdekte fouten overblijven in de software maar, zelfs als er geen fouten meer gevonden worden is dit nog geen bewijs van de juistheid. Principe 2. Volledig testen is onmogelijk. Alles testen (alle combinaties van invoer en precondities) is niet uitvoerbaar (feasible) met uitzondering van triviale gevallen. In plaats van volledig testen wordt gebruik gemaakt van risico s en prioriteiten om te bepalen waar de testinspanning op concentreert. Principe 3. Vroeg testen Testactiviteiten moeten zo vroeg mogelijk in de software- of systeemontwikkelcyslus testen en moet gericht zijn vastgestelde doelen. Principe 4. Foutclustering / foutgroepering / foutophoping Een klein aantal modules bevatten de meeste fouten die gevonden worden tijdens het testen voor vrijgave en bevatten de meeste operationele systeemfouten (failures). Principe 5. Pesticide paradox. Als dezelfde tests keer op keer herhaald worden, worden er uiteindelijk geen nieuwe bugs meer gevonden. Om tegemoet te komen aan de pesticide paradox moeten de testcases regelmatig gereviewd en vernieuwd worden en nieuwe en andere tests moeten opgesteld worden om verschillende delen van de software of systeem uit te voeren om zo mogelijk meer fouten te vinden. Principe 6. Testen is afhankelijk van de context. Testen wordt verschillend uitgevoerd in verschillende contexten. Bij voorbeeld, veiligheid-kritische systemen worden anders getest dan e-commerce sites. Principe 7. Afwezigheid-van-fouten bedrog Het vinden en herstellen van fouten helpt niet als het systeem dat gebouwd is onbruikbaar is of de behoeften en verwachtingen van de gebruikers niet vervult. 2.2 Testen tijdens het systeemontwikkelingsproces Testen moet worden geïntegreerd in het ontwikkelingsproces. Het V-model toont hoe het testen wordt gecombineerd met ontwikkelen via de watervalmethode.

Organisatie SYSQA B.V. Pagina 6 van 10 Gebruikers eisen/wensen Acceptatietest Functioneel systeemontwerp Systeem integratietest Systeemtest Technische systeemontwerp Component integratietest Componenten specificatie Componenttest Ontwikkeling Verificatie beoordeelt de correctheid en volledigheid van een fase ten opzichte van de voorgaande fase. Dit zijn in de figuur de pijlen omhoog aan de linkerkant. Validatie beoordeelt of een deelproduct voor zijn oorspronkelijke doel bruikbaar en nuttig is. Dit zijn de pijlen middenin het figuur van de testsoorten naar de ontwikkelfases De testsoorten worden als volgt omschreven: Componententest Test voor het eerst systematisch de vervaardigde softwarecomponenten, onafhankelijk van elkaar. Er wordt getest op functionaliteit, robuustheid, efficiëntie, en onderhoudbaarheid. Er worden whitebox technieken toegepast. Componentintegratietest Is de tweede testsoort en test groepen van eerder geteste componenten die zijn geïntegreerd. Testdoel is het onthullen van fouten in de interfaces tussen componenten. Omdat niet alle componenten gelijktijdig gereed zijn, moet er een integratiestrategie worden bedacht. Systeemtest Test het volledig geïntegreerde systeem in een aparte testomgeving. Er wordt getest op basis van functionele eisen (gebruikerseisen) en niet-functionele eisen (load test, performance test, volume test, stress test, databeveiliging, stabiliteit, robuustheid, compatibiliteit, verschillende configuraties, bruikbaarheid en onderhoudbaarheid). Probleem bij de systeemtest is vaak de klanteneisen niet duidelijk zijn geformuleerd. Systeemintegratietest Omvat het testen van complete systemen in combinatie met externe systemen. Er wordt zoveel mogelijk gebruik gemaakt van een productielike acceptatietestomgeving. Ook hier worden weer fouten in interfaces ontdekt.

Organisatie SYSQA B.V. Pagina 7 van 10 Acceptatietest Is een speciale soort systeemtest die test op contractuele acceptatie. Hij wordt uitgevoerd bij de klant. Regressietest. Na acceptatie van de eerste versie wordt in de loop der tijd vaak systeemonderhoud uitgevoerd en wordt het systeem verder ontwikkeld. Ook dan moet er getest worden. Naast het testen van gewijzigde systeemonderdelen, is een belangrijk middel hierbij de regressietest, waarbij onveranderde onderdelen worden getest. Naast de testsoorten worden de volgende testtypes onderkent: Testen van functies (functioneel testen); Testen van software product karakteristieken (niet-functioneel testen); Testen van de software structuur / architectuur (structuur testen); Testen met betrekking tot veranderingen (conformatie of regressietesten). 2.3 Statische testtechnieken Bij statisch testen wordt de software zelf niet getest maar worden reviews of geautomatiseerde statische analyse uitgevoerd. Met behulp van reviews worden tussenproducten, inclusief code, getoetst zodat fouten in deze tussenproducten vroegtijdig worden gevonden. Dit kan ook geautomatiseerd met behulp van tools. De volgende fases worden onderkent bij een review: Planning, het selecteren van reviewers, toewijzen van rollen, definiëren van entry en exit criteria en bepalen welk deel van het document beoordeeld wordt; Kick off, het verspreiden van documenten, toelichten van de doelstellingen, het proces en de te reviewen documenten aan de deelnemers alsmede het checken of aan de entrycriteria is voldaan; Individuele voorbereiding, het zoeken naar fouten door iedere reviewer; Review meeting, discussie over en vastleggen van de bevindingen in een groepsmeeting; Rework, het doorvoeren van verbeteringen in het gereviewde product op basis van de bevindingen; Vervolg, vaststellen of de fouten goed zijn verwerkt, verzamelen van metrieken en vaststellen dat voldaan is aan de exitcriteria. De volgende rollen worden onderkent binnen het reviewproces: manager (beslissen dat een review plaats moet vinden, beschikbaarstellen tijd en vaststellen of de reviewdoelstellingen zijn gehaald), moderator (organiseert en leidt de review en zit de meeting voor), auteur (maker van het te reviewen product), reviewers (voeren de review daadwerkelijk uit door het vinden en bespreken van bevindingen) en de scribe (documenteert alle bevindingen tijdens de meeting). De volgende reviewvormen worden onderkent in volgorde van mate van formaliteit): Informele review: review zonder formeel proces; Walkthrough: informele review waarbij de auteur zijn document in de meeting aan de deskundigen presenteert; Technische review: formele, gedocumenteerde review door deskundigen worden vooraf bij de moderator ingediend. Inspectie: formele, gedocumenteerde review waarbij de voorbereiding gebeurt aan de hand van checklists. De meeting wordt door een moderator geleid en er worden metrics gegenereerd voor procesverbetering.

Organisatie SYSQA B.V. Pagina 8 van 10 2.4 Testspecificatietechnieken Testspecificatietechnieken worden gebruikt bij dynamisch testen. Meestal wordt onder testen verstaan: het uitvoeren van het testobject op een computer. Er is een aantal technieken dat voor het bepalen van testgevallen kunnen worden gebruikt. De testspecificatietechnieken kunnen in twee categorieën worden ingedeeld: black-box technieken, white-box technieken en op ervaring gebaseerde technieken. Black-box technieken beschouwen het testobject als een zwarte doos. Over de code en interne opbouw is geen informatie noodzakelijk. Het gedrag van het testobject wordt van buitenaf waargenomen. White-box technieken nemen ook inzicht in de code mee. Tijdens de uitvoer van de testgevallen wordt de interne uitvoer van het testobject geanalyseerd. De volgende black-box technieken worden onderkent: Equivalentieklassen test Grenswaarde analyse Beslissingstabellen test Status-transactietest Use case test De volgende white-box technieken worden onderkent: Statement testen en dekking; Decision testen en dekking; Condition testen en dekking; Pad testen en dekking. De volgende op ervaring gebaseerde technieken worden onderkent: Error guessing; Exploratory testen 2.5 Testmanagement Er zijn verschillende organisatievormen in het testen, uiteenlopend van uitsluitend testen door ontwikkelaars tot een aparte testorganisatie. De te kiezen organisatievorm hangt af van de testsoort die onderhanden is. De volgende rollen worden onderkend in een testteam: testmanager, testontwerper, testautomatiseringsdeskundige, testbeheerder, tester (testuitvoerder). Binnen elke testsoort speelt zich een testcyclus af, bestaande uit testplanning, testspecificatie, testuitvoering, testregistratie en controle voor afronding. De testmanager is verantwoordelijk voor de planning van een testcyclus. Punten die hierbij in beschouwing worden genomen: stand van de ontwikkeling, testresultaten uit voorgaande testsoorten, resources. Voortgangscontrole vindt plaats op basis van een aantal metrics: gebaseerd op fouten, gebaseerd op testgevallen en gebaseerd op het testobject. Afwijkingen tussen verwachte en werkelijke waarde in de testuitvoering worden eerst geanalyseerd. Als de fout niet te maken heeft met een foutieve testuitvoering, wordt een bevinding opgesteld. In een project is het van belang om een goede bevindingendatabase bij te houden, die tevens dient als communicatiemiddel tussen verschillende partijen. Bevindingen moeten op een uniforme manier worden, zodat ze kunnen worden opgenomen in statistieken. Omdat in het proces van softwareontwikkeling meerdere ontwikkelaars en testers parallel deelnemen, is een goed configuratiemanagement belangrijk. De volgende eisen moeten hierbij worden vervuld: versiebeheer, configuratiebeheer, statusbeheer van fouten en veranderingen, configuratie audits. 2.6 Testtools Voor iedere fase in het testtraject zijn testtools beschikbaar om het testwerk kwalitatief te verbeteren of te automatiseren. Testtools bieden alleen voordelen als het testproces beheerst en

Organisatie SYSQA B.V. Pagina 9 van 10 gestructureerd verloopt. De implementatie van een testtool kan een hoge investering vergen, een keuze moet daarom zorgvuldig geschieden. Er bestaan nogal eens onrealistische verwachtingen over de inzet van testtools. De implementatie van een tool moet derhalve worden begeleid. De volgende testtools worden onderkent: Tools ter ondersteuning van het testmanagement - Testmanagementtools; - Requirementsmanagementtools; - Incidentmanagementtools; - Configuratiemanagementtools; Tools ter ondersteuning van statisch testen: - Reviewproces ondersteunende tools; - Statische analyse tools; - Modeleer tools Tools ter ondersteuning van testspecificatie: - Testontwerp tools; - Testdata voorbereidingstools; Tools ter ondersteuning van de testuitvoering en vastlegging: - Testraamwerk/unittest framework tools; - Test comparators; - Dekkingsgraad-meet tools; - Beveiligingstools; Monitor- en performance tools: - Dynamische analyse tools; - Performance testtools ; - Loadtesttools; - Stresstesttools; - Monitor tools; Tools voor het ondersteunen van een specifiek applicatie gebied; Overige tools zoals SQL-tools of debuggers

Organisatie SYSQA B.V. Pagina 10 van 10 3 Literatuurverwijzingen International Software Testing Qualifications Board: Certified tester Foundation Level Syllabus. Version 2005. A. Spillner, T. Linz en M. Pol: Testen volgens ISEB. 9072194691