Teststrategien. Hebben we wel het juiste gebouwd? Pieter van den Hombergh. 20 februari 2014



Vergelijkbare documenten
Teststrategien. Pieter van den Hombergh. 20 februari Fontys Hogeschool voor Techniek en Logistiek Software Engineering

SEN1 Software Engineering 1

Hoe voert u een acceptatietest van maatwerk-software uit?

Testplan IpMEDT3 project

Project Fasering Documentatie Applicatie Ontwikkelaar

Testomgevingen beheer

Van requirements naar teststrategie

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

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

Test rapportage Waarom eigenlijk?

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Software Test Plan. Yannick Verschueren

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

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

1. Work Breakdown Structure en WBS Dictionary

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen.

Opleidingsgebied ICT. Niveau Beginnend *zie omschrijving beoordelingscriteria Gevorderd* Bekwaam* Werkproces(sen) Beoordeling* 1 e 2 e eind

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Oplossingen voor het testen van objectgeoriënteerde software. Oplossingen voor het testen van. Overzicht. Pieter van den Hombergh.

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

Oplossingen voor het testen van objectgeoriënteerde software

Project Fasering Documentatie ICT Beheerder. Auteurs: Angelique Snippe Tymen Kuperus

GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter

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

Testen geeft grip. Michiel Vroon

Software Test Plan. Yannick Verschueren

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

ISACA round-table 7 december 2009 Rik Marselis

Marktscan Digikoppeling 2017

Woordenlijst bij TMap

Stichting NIOC en de NIOC kennisbank

Test Automatisering? Mislukken Slagen gegarandeerd! Ruud Teunissen - Polteq Test Services BV

Testen bij DWH-projecten

BDD/Gherkin. Een introductie

De Do s en Don ts bij de migratie van verouderde procesbesturing- en automatiseringssystemen

TESTEN % ITIL & ASL & BISL WAT HEEFT EEN TESTER AAN ITIL? EEN PRAKTISCH HULPMIDDEL OF BUREAUCRATISCHE BALLAST?

Hoe test je een pen? Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Acceptatietesten

Agenda. Introductie Aan het werk Conclusie / restrospective

Software Test Document

Performance Testen bij Rabobank Nederland. TestNet Noord Testers bij de bank 21 februari 2012 Allan Beumer

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

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.

Bijlage 3: Master testplan

Procesvalidatie voor een veiliger ketentest

René Tuinhout De verzwegen waarheid van Grenswaardenanalyse Najaarsevent Testnet: 16 september 2008

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

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

Tentamen in2705 Software Engineering

SmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker

Voorbeeldexamen. Testen Foundation. Editie maart 2012

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht

Omschrijving. Technische context

Naar de cloud: drie praktische scenario s. Zet een applicatiegerichte cloudinfrastructuur op. whitepaper

[ SCRUM. ] Een introductie

SDM II - System Development Methodology II. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Testen van Java code met JML

KENMERKEN MODEL BASED TESTING TOOLS

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

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

Hans Jurgen Kroon Industrial HVAC Control Solutions

PRORAIL PoC Protocol MFP s en grootformaatprinters

GEBRUIKERSBIJEENKOMST 11 april

Marc Koper Performancetesten voor dummies

UML. From weblog Dennis Snippert

Ministerie van Infrastructuur en Milieu Beheerst naar beheer

Opleidingsgebied ICT. 2 e beoordeling: Eindbeoordeling:

Plan van Aanpak Pilot

Webtesten onder schaarste

Projectmanagement. Software ontwikkeling

Vrijgaveadvies. Project <naam project>

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

TestNet voorjaarsevent 15 mei Testen met AI. Op weg naar een zelflerende testrobot. TestNet werkgroep Testen met AI. Sander Mol Marco Verhoeven

Digikoppeling adapter

Testadvies rapport NK Testen 2017

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

INTERPRETATIEDOCUMENT vastgesteld door het CCvD Bodembeheer

Wireless Leiden. Project Brief x

6 Presentatie VTTI Tweede Coentunnel anders aangepakt 29 november VTTI Tweede Coentunnel anders aangepakt. Waar is de Coentunnel?

Software Test Documentation

Handleiding. VSV-testomgeving voor softwareleveranciers; de Proeftuin

TMap NEXT Test Engineer

Unit testen van EJB's. Koert Zeilstra - iprofs

CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN

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

Raad voor Accreditatie (RvA) Accreditatie van monsterneming

Verificatie & Validatie

Inleiding en indeling. Inleiding en indeling. Software Engineering 1. Pieter van den Hombergh. 5 februari Pieter van den Hombergh

Betere software kwaliteit begint in het onderwijs. Frens Vonken Leo van der Aalst

Plan van aanpak Toogle

Werkgroep ISO TestNet thema-avond 9 oktober 2014

Adding value to test tooling Hoe en waarom DevOps de wereld van performance testen verandert

End-to-End testen: de laatste horde

PROJECT PLAN VOOR DE IMPLEMENTATIE VAN EEN STANDAARD SITE VOOR DE VERENIGING O3D

Projectmanagement. Projectdoorloop System Integrator

Clean code improves test quality

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

Uitstroom + Crebonummer Applicatie- en mediaontwikkelaar; Crebonummer Niveau Niveau 4

TMap NEXT Test Engineer

Transcriptie:

Teststrategien Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 20 februari 2014 HOM/FHTeL Teststrategien 20 februari 2014 1/33 1 points 2 Review plan debugging 3 4 5 HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 2/33 Hebben we wel het juiste gebouwd? points Figuur : Communicatie tussen domeinafdeling en ontwikkeling Bij de communicatie tussen domeinafdeling en ontwikkeling vindt een overdracht van de ene in de andere vaktaal plaats. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 3/33 1

Wat is een acceptatietest? points Bij oplevering van maatwerk-software vindt een acceptatietest plaats. Doel van de acceptatietest: Voldoet de software aan eisen en wensen van de opdrachtgever? Is de software geschikt is voor bedrijfsmatige ingebruikname? HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 4/33 Opdrachtgever points Garantiebepalingen De leverancier kan de kosten van herstel in rekening brengen indien de fouten bij het uitvoeren van de overeengekomen acceptatietest hadden kunnen worden vastgesteld. Na acceptatie is leverancier op grond van deze overeenkomst niet gehouden tot het herstel van gebreken in de software. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 5/33 Softwareontwikkelaar points Kwaliteit en efficiëntie: Door een grondige acceptatietest uit te voeren worden mogelijk kosten voor herstelwerk bespaard. De testperiode biedt een goede gelegenheid om de kwaliteit en de betrouwbaarheid van de software te verbeteren. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 6/33 2

De onderhandeling points Onvolkomenheden zijn fouten en gebreken of het op andere wijze niet functioneren overeenkomstig de overeengekomen specificaties. Hoe preciezer die zijn, des te groter de kans dat de opdrachtgever onvolkomenheden kan vinden. De opdrachtgever zal toch zijn eisen zo nauwkeurig mogelijk willen omschrijven. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 7/33 Inhoud acceptatietest 1 points De functionaliteit: alle aspecten van gedrag en resultaten volgens de overeengekomen specificaties. Robuustheid. Zinvol reageren op foute invoer, technische foutsituaties en gebruikersfouten. De conversieprocedure voor overzetten van gegevens op de nieuwe software. Koppelingen met uw andere informatiesystemen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 8/33 Inhoud acceptatietest 2 points De performance. De gebruiksvriendelijkheid. Voldoen aan kwaliteitsgaranties als overeengekomen. In de informatica algemeen aanvaarde uitgangspunten van kwaliteit en deugdelijkheid. De documentatie voor beheerders en gebruikers. De procedures voor handmatige werkzaamheden. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 9/33 3

Hoe de test uitvoeren? points Richt tijdig de testomgeving in (hardware, software, documentatie, licenties en werkruimte). Bepaal wie de testen gaat(n) uitvoeren. Schrijf vooraf concrete test-scenario s. Mee beginnen zodra de functionele specificaties beschikbaar zijn. Zorg voor de tijdelijke administratieve organisatie in voor het verzamelen en administreren van testresultaten. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 10/33 Soorten V & V points Software Inspections Requirements specification High level design Formal specification Detailed design Program Prototype Program testing Figuur : Static and dynamic verification and ation. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 11/33 Het verschil Review plan debugging Validation: maken we het juiste product? Is meer algemeen onderdeel. Maken we dat wat de klant wil? Verification: Maken we het product goed? Dynamisch testen is draaien van de software met testdata. V&V zijn statisch: inspecties en reviews tijdens alle fasen van het ontwikkelingsproces. Validatie testen: aantonen dat de software doet wat de klant wil. Zoals prestatie en betrouwbaarheid. Een scherpe grens is niet te trekken tussen al deze indelingen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 12/33 4

Review plan debugging Inspectie en review zijn beide statische verificatie technieken, waardoor het systeem niet uitgevoerd hoeft te worden. Inspection is de preciezere variant. De zogenaamde Fagan inspectie volgt een strict protocol met verschillende rollen voor de deelnemers tijdens de inspectie. Reviewen is een minder strikte methode. Het dient evengoed volgens een plan met een doel te worden uitgevoerd. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 13/33 Doel van de review Review plan debugging Net als de andere test technieken, kan reviewen hooguit fouten vaststellen. De soort inhoudelijke fouten waarnaar gezocht moet worden zijn: 1 Onvolledigheid of missende informatie. 2 Inconsistentie of tegenspraken. 3 Onduidelijkheden of vaagheden. Door deze gebreken zijn er keuzes mogelijk in de vervolgstappen, waardoor de onzekerheid toeneemt. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 14/33 Review plan debugging Test results Specification Test cases Locate error Design error repair Repair error Retest Program Figuur : Debugging process. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 15/33 5

V-model Figuur : Uiteraard verwachten we dat coderen en testen hand in hand gaan. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 16/33 V-model als test en ontwikkelcyclus In moderne ontwikkelmethodology is het V-Model aan de winnende hand. Het V-model schrijft een overeenstemming voor tussen specificatie aan de linker zijde en verificatie/atie aan de rechterzijde, op alle niveaus van de ontwikkeling Merk op dat de stappen aan beide kanten van de V steeds gepaard gaan met documenten. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 17/33 Inhoud testplan Organisatie: beschrijving hoe de test is georganiseerd, waar liggen verantwoordelijkheden en wat zijn de gebruikte middelen. Communicatie en procedures: o.a. procedures rond herstel van fouten, versie beheer. : Overzicht van de test strategie, criteria voor acceptatie van de test en tot op welk nivo wordt er getest? HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 18/33 6

Inhoud testplan 2 Test onderdelen: overzicht van de functies die getest gaan worden met hun prioriteiten. Test deliverables: beschrijving van de gebruikte producten: inputs, test-reporten, infrastructuur en voortgangsrapporten. Test activiteiten: installatie van de infrastructuur, schrijven van testscripts, de uitvoering van de test, de voortgangsmonitoringe en het maken van de testrapporten. Planning: de feitelijke planning van de software testactiviteiten en gebruikte middelen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 19/33 Test scenario s Zijn in essentie de concrete scenario s behorende bij een use-case. Soms bedoelt met testscenario s een testprogramma, d.w.z.: welke testen en in welke volgorde worden uitgevoerd. Men gebruikt ook zogenaamde test scripts als er bij een testprocedure met een softwaretool automatisch een aantal testen uitgevoerd moet worden. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 20/33 Er zijn commerciële producten voor automatisch testen, maar er is ook ant in combinatie met JUnit. Een ander framework is Castor. Er is meer:.. (http://java-source.net/open-source/testing-tools): JUnit, Cactus, Abbot (waar is Costello?), JUnitPerf, Jamelon, DbUnit, Mockrunner, dbmonster, The Grinder, XMLUnit, jfcunit, JTestCase, StrutsTestCase, jmock, EasyMock, MockEJB, MockCreator, SQLUnit, Marathon, TestNG, Surrogate Test framework, JTR Java Test Runner, TESTARE, MockLib, TagUnit, TestGen4J, UISpec4J, Jacareto, Jemmy, DDTUnit, Mocquer,Mockito zijn allemaal frameworks voor of ter ondersteuding van testen. En de lijst is zeker niet volledig! Groovy van IBM. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 21/33 7

Hoe vinden we testdata? Men wil natuurlijk alles testen! Men kan niet alle waarden testen Er zijn nuttige technieken om een beperkte maar voor het testen complete verzameling van testdata te vinden Grenswaarden en extreme waarden. Bepalen van equivalentieklassen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 22/33 In- en partitions in in in in system Figuur : De invoer en uitvoer kan men verdelen in verschillende klassen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 23/33 Voorbeeld equivalence partitioning 1 2 3 4 a b c Er is hier sprake van 4 partities: 1 x < a 2 a x < b 3 b x < c 4 x c Partitie equivalentie veronderstelt dat elke waarde in de partitie op gelijk manier behandeld moet worden. Kies bijvoorbeeld een waarde uit het midden. Maar ook de grenzen verdienen aandacht: Test of de grenswaarden door het programma behandeld worden volgens de regels bij de juiste partitie. Hier hoort a bijvoorbeeld bij partitie 2. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 24/33 8

Clock12 interface public interface Clock12 { void tick (); void settime ( boolean pm, int hrs, int min, int sec ); int gethour (); int getminutes (); int getseconds (); void sethour ( int hour ); void setminutes ( int minutes ); void setseconds ( int seconds ); boolean ispm (); void setpm ( boolean pm ); String gettime (); } HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 25/33 Equivalence classes Equivalenc classes : sethour : 1 hour < 0 in data 2 0 <= hour <12 data 3 12 <= hour <= 24 data 4 hour > 24 in data input : hour =16 -> hour =4 && PM = true -7 -> exception " hour not negative " 5 -> hour =5 && PM = false 57 -> exception " hour not greater than 24" etc. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 26/33 Met de kunnen systematisch blackbox test ontwerpen. Deze testontwerpmethode omvat vier stappen 1 Identificeer de aspecten van het testobject. Aspecten zijn de invloeden die effect hebben op het systeem. 2 Verdeel de invoer overeenkomstig de gevonden aspecten. 3 Specificeer de logische test cases. 4 Maak het test (script/scenario/plan). HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 27/33 9

CTM Stap 1 1 Identificeer de aspecten van het testobject. Aspecten zijn de invloeden die effect hebben (of zouden moeten hebben) op het systeem. Dat omvat normale invoer maar ook de toestand waarin het systeem is, de volgorde van bediening, etc. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 28/33 CTM Stap 2 2 Verdeel de invoer overeenkomstig de gevonden aspecten. Verdeel de invoer over partities of klassen, met betrekking tot de verschillende aspecten. Voor elke input in een partitie zal het systeem op een vergelijkbare manier reageren. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 29/33 CTM Stap 3 3 Specificeer de logische test cases. Neem een element uit een partitie voor elk aspect. Combineer deze elementen en let daarbij ook op de onmogelijke combinaties. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 30/33 10

CTM Stap 4 4 Maak het test (script/scenario/plan). Creëer de reële testgevallen. Definieer de acties binnen een test. Definieer de verificatiepunten vast. Bepaal de uitgangssituaties van de tests. Stel het volledige tests script samen. HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 31/33 Voorbeeld cruise control De aspecten HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 32/33 Voorbeeld cruise control De gecombineerde tests HOM/FHTeL SEN1 Software Engineering 1 20 februari 2014 33/33 11