Inleiding en indeling. Inleiding en indeling. Software Engineering 1. Pieter van den Hombergh. 5 februari Pieter van den Hombergh
|
|
- Barbara Bosman
- 8 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Inleiding en indeling Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 5 februari 2014 HOM/FHTeL Inleiding en indeling 5 februari /1 Inleiding en indeling Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 5 februari 2014 HOM/FHTeL Inleiding en indeling 5 februari /1 Software Engineering 1 Literatuur vooral: testen! HOM/FHTeL Inleiding en indeling 5 februari /1 1
2 Book Literatuur Objectgeoriënteerd testen en testautomatisering in de praktijk Bij de lessen, in het praktikum en in het project gebruiken we: Schrijver Uwe Vigenschow, der Firma oose.de., speciaal jullie vertaald in het Nederlands. Uitgever, ISBN Fontys Venlo, ISBN , Verkrijgbaar bij de docent. Prijs 39 Euro. website Zelfstudie voor volgende week: Bestudeer hoofdstuk 1-4, Paginas 3-25 Volgende week mogelijk quiz over deze hoofdstukken. HOM/FHTeL Inleiding en indeling 5 februari /1 Mariner 1 In 1962 werd de draagraket van de Mariner 1- Venussonde 290 seconden na de start bewust vernietigd, omdat ze van de geplande vluchtbaan afweek. De schade beliep ca. 18,5 miljoen US Dollar. Wat ging er mis? De bedoelde code voor een lus over de waarden 1, 2 en 3: DO 5 K = 1, 3 staat als volgt in het programma: DO 5 K = 1. 3 Dit ziet de compiler als volgt: DO5K = 1.3 en dat is de declaratie van de variabele DO5K!! Kleine oorzaak met grote gevolgen! HOM/FHTeL Inleiding en indeling 5 februari /1 Code van de venussonde Mariner 1 IF ( TVAL.LT. 0.2E -2) GOTO 40 DO 40 M = 1, 3 W0 = (M -1)*0.5 X = H * E -2* W0 DO 20 N0 = 1, 8 EPS = 5.0*10.0**( N0-7) CALL BESJ (X, 0, B0, EPS, IER ) IF ( IER.EQ. 0) GOTO CONTINUE DO 5 K = 1. 3 T(K) = W0 Z = 1.0/( X **2)* B1 ** E -4* B0 **2 D(K) = 3.076E -2*2.0*(1.0/ X*B0*B E -4**( B0 **2 -X*B0*B1 ))/ Z E(K) = H **2* * W0/ SIN (W0 )*Z H = D(K)-E(K) 5 CONTINUE 10 CONTINUE Y = H/W CONTINUE HOM/FHTeL Inleiding en indeling 5 februari /1 2
3 Het ariane vuurwerk Neervallende brokstukken na zelfdestructie van de Ariane-501 raket, 4 juli De Ar-501 is ontploft door een softwarefout: de snelheid paste niet in de daartoe gereserveerde variabele grootte. Nieuwe technieken zijn nodig om dergelijke ongelukken te voorkomen. Bron Foto: ESA HOM/FHTeL Inleiding en indeling 5 februari /1 Ariane code declare vertical_veloc_sensor : float ; horizontal_veloc_sensor : float ; vertical_veloc_bias : integer ; horizontal_veloc_bias : integer ; begin declare pragma suppress ( numeric_error, horizontal_veloc_bias ); begin sensor_get ( vertical_veloc_sensor ); sensor_get ( horizontal_veloc_sensor ); vertical_veloc_bias := integer ( vertical_veloc_sensor ); horizontal_veloc_bias := integer ( horizontal_veloc_sensor ); exception when numeric_error => calculate_vertical_veloc (); when others => use_irs1 (); end ; end irs2 ; HOM/FHTeL Inleiding en indeling 5 februari /1 Wat is er mis gegaan? Standaard worden de waardenbereiken getest op geldigheid. Dit kan echter onderdrukt worden en dat gebeurt in volgend fragment: declare pragma suppress(numeric_error,horizontal_veloc_bias); De van de snelheidssensor afkomstige data voor de horizontale snelheidsbepaling worden in intern gebruikte eenheden aan de besturingssoftware doorgegeven. Dit gebeurt met de volgende coderegel, waarbij dit omgezet wordt in een integer: horizontal_veloc_bias := integer(horizontal_veloc_sensor); HOM/FHTeL Inleiding en indeling 5 februari /1 3
4 Wat is er mis gegaan?, Cont. Precies hier vindt ongeveer 30 seconden na de start een integer-overflow plaats, die niet afgevangen wordt, aangezien de test daartoe eerder in de code werd uitgeschakeld! Bij de Ariane 4 gaf dit nooit problemen; de Ariane 5 echter bereikt op hetzelfde moment een vijfmaal hogere horizontale snelheid! Het risicomanagement was ervan overtuigd dat er alleen hardware en geen softwarefouten konden optreden! [Meer details in Objectgeoriënteerd testen en testautomatisering in de prakijk. Objektorientiertes und Testautomatisierung in der Praxis van Uwe Vigenschow ( HOM/FHTeL Inleiding en indeling 5 februari /1 Is een robuustere taal de oplossing? Een komma in plaats van een punt leidt in C++ tot een oneindige lus: while (x > 0,1)... In Java niet, daar wordt 1 niet automatisch in true omgezet. In dit geval zou de compiler mopperen. Dus altijd Java? Geen oplossing! De momentele oplossing: Vroegtijdig testen opstellen (taalonafhankelijk) en geregeld uitvoeren. HOM/FHTeL Inleiding en indeling 5 februari /1 Inleiding testen Waarom testen? Productstandpunt Het programma moet correct zijn, doen wat de opdrachtgever wil. De software moet betrouwbaar zijn, niet crashen. robuustheid: de software moet tegen een stootje kunnen als de gebruiker er op de verkeerde manier mee omgaat. Processtandpunt van software draagt ook bij tot een verbetering van het software proces. Communicatie met collega s Uitwisselen van code die voorzien is van een test. HOM/FHTeL Inleiding en indeling 5 februari /1 4
5 Wat is testen? Een definitie: is de activiteit van het uitvoeren van een (deel van een) programma met als doel het vinden van fouten. Een volwaardige activiteit die deel uitmaakt van het ontwikkelingsproces. Wat testen kan en niet kan: Aantonen (bewijzen) dat een programma géén fouten bevat. Alleen het omkeerde kan: bewijzen dat een programma fouten bevat. HOM/FHTeL Inleiding en indeling 5 februari /1 Soorten van testen Een unit test test op die manier 1 (of een heel klein aantal) klassen. Een integration test gebruik je op het moment dat je 2 of meer (kleine) delen wil samenvoegen. Een regression test daarentegen moet (op een geautomatiseerde manier) het hele programma testen. HOM/FHTeL Inleiding en indeling 5 februari /1 Unit testen Black-box testing Software test zonder kennis over de exacte interne werking van de module. voorbeeld: testen van MyStack White-box testing structureel testen basic path testing: alle mogelijke controlelijnen in een programma nagaan en daaruit de testen opbouwen HOM/FHTeL Inleiding en indeling 5 februari /1 5
6 Hoe maak ik een unit test? Simpel voorbeeld, een Stack: Methoden: push. pop. peek. isempty. HOM/FHTeL Inleiding en indeling 5 februari /1 Java contract class MyStack implements Stack; Methoden Stack interface: p u b l i c i n t e r f a c e Stack { v o i d push ( O bject ) ; // put e l e m e n t O b ject peek ( ) ; // r e t u r n top e l e m e n t O b ject pop ( ) ; // remove and r e t u r n top e l e m e n t boolean isempty ( ) ; // s t a c k empty } Dit contract is niet voldoende waterdicht gespecificeerd. Waar is verbetering op zijn plaats. HOM/FHTeL Inleiding en indeling 5 februari /1 Hoe maak ik een unit test? 2 schrijf: class StackTest Geannoteerde setup () stack = new MyStack( teardown( ) stack = public final void atestpush() testmethoden toevoegen,zoals p u b l i c v o i d t e s t P u s h ( ) { S t r i n g t= H a l l o ; s t a c k. push ( t ) ; a s s e r t E q u a l s ( t, ( S t r i n g ) s t a c k. peek ( ) ) ; } Een methode is een testmethode als ze annotatie heeft. HOM/FHTeL Inleiding en indeling 5 februari /1 6
7 Klassendiagram TestCase <<interface>> Stack TestRunner StackTest MyStack HOM/FHTeL Inleiding en indeling 5 februari /1 Stubs, drivers en mock Stubs Vaak heeft men ook aantal andere klassen nodig de klasse onder test te kunnen laten werken. Die zijn nog niet klaar! Of te omslachtig voor de test (database verbinding e.d.). Speciale klassen die het gedrag van de toekomstige klassen simuleren. Heten ook wel mock-objects. HOM/FHTeL Inleiding en indeling 5 februari /1 Belang van unit testen Unit testing is belangrijk omdat het je toelaat om kleine stukjes software te testen: Je weet altijd dat eventuele fouten in het kleine stukje software zitten en je moet dus niet uren liggen zoeken naar waar de fout precies ontstaat. HOM/FHTeL Inleiding en indeling 5 februari /1 7
8 Integratietests Goede unittesten uitgevoerd, toch problemen als 2 of meer klassen ineens moeten samenwerken. Oorzaken kunnen zijn: Meerdere personen schrijven software samen. Hoe duidelijk deze afspraken ook zijn, altijd wel onstaan er kleine misverstanden. Dat kan overigens ook gebeuren als je alleen werkt! HOM/FHTeL Inleiding en indeling 5 februari /1 Belang van Waarom is integration testing belangrijk? Zo vroeg mogelijk testen beperkt de zoektocht naar de bug. Geen big-bang waagstuk. Daarom goed idee om incrementeel te werk te gaan Elke keer als je 1 of 2 klassen af hebt, voer je een integration test uit. HOM/FHTeL Inleiding en indeling 5 februari /1 Wat is een regression test? Een test die het gehele programma test. Bij voorkeur volledig geautomatiseerd: door één commando uit te voeren weet de gebruiker van de test weet of het programma goed werkt (voor wat betreft de tests), of dat er nog ergens een bug in zit. Is een verzameling van afzonderlijke tests. bestaat uit een aantal scenarios. Bevat simulatie van normale en abnormale situaties. HOM/FHTeL Inleiding en indeling 5 februari /1 8
9 , 2 Normale situaties. Alle handelingen en alle inputs (gebruiker, externe input en configuratie files) die een normale werking van het programma als gevolg zouden moeten hebben. Abnormale situaties. (Exceptions) Foutieve input van de gebruiker of foutieve input via configuratie en input files. Abnormaal werkend systeem, bv. het aanmaken van een nieuwe outputfile die niet werkt... HOM/FHTeL Inleiding en indeling 5 februari /1 3 Link use-cases en voorgestelde scenarios: Zijn een kernachtige beschrijving van hoe de software gebruikt kan worden. Meerdere gebruiksscenario s voor 1 use-case, dus per use-case een of meerdere scenarios in de regression test! Andersom: Uit de unit en integration tests die je schrijft, scenarios voor de regression test distilleren. (Gooi nooit een goede test weg!) HOM/FHTeL Inleiding en indeling 5 februari /1 Hoe bouwen we een regression test op? Scenario Expected / Actual 1: Completely correct inputfile Output1 Output1 2: Completely correct inputfile Output2 Output2 3: Missing XML closing tag Error msg 1 Error msg 1 4: Non matching open and closing Error msg 2 Error msg 2 tag 3: XML file with unknown tag Error msg 3 Output5 Tabel : Scenario 5 in abnormal situation Deze tabel is een slechts voorbeeld uit een applicatie met xml files. HOM/FHTeL Inleiding en indeling 5 februari /1 9
10 , waarom belangrijk? Iedereen kan de test laten runnen zonder grote voorkennis van het systeem: er moet immers maar één commando worden uitgevoerd om in één oogopslag te zien of het programma juist werkt of niet. Als eenmaal je een basisversie van de software werkend hebt, is het eenvoudig om te zien of bv. een bepaalde (functionele) aanpassing of een refactoringoperatie geen nadelig gevolg heeft gehad door de regression test te laten lopen. HOM/FHTeL Inleiding en indeling 5 februari /1 Testing framework Wat is een framework? Een soort geraamte: het geeft vorm en richting aan het stuk software dat je aan het schrijven bent. Stukken software hebben min of meer dezelfde structuur. Elk framework bevat herbruikbare delen basisfunctionaliteit. Specifiek gericht op probleem dat je probeert op te lossen. Een aantal voordelen : Tijdwinst Zelfde structuur maakt begrijpen makkelijker HOM/FHTeL Inleiding en indeling 5 februari /1 Voorbeelden van test- JUnit, Mother 1 of all unit. Open source, zoals de meesten. Frameworks in andere talen CppUnit voor C++. Nunit voor de.net wereld (in C#). PyUnit voor Python XMLUnit SQLunit PHPUnit Etc. 1 Actually smalltalk was earlier HOM/FHTeL Inleiding en indeling 5 februari /1 10
11 Wat kost dat? Een prettige bijkomstigheid van de is dat de meeste open source zijn en wijd verbreid. Junit en de daarop bouwende testtools zijn de standaard in de java wereld. Maar, afhankelijk van het type product (samenhangend met de risico s) kunnen de testkosten toch behoorlijk in de papieren lopen. In het typische geval tussen de 20 en 40% de totale software ontwikkelkosten. In sommige kritische gevallen zelfs boven de 50%. Het zijn voornamelijk loonkosten. HOM/FHTeL Inleiding en indeling 5 februari /1 Tips Schrijf je testen vóór je het programma zelf begint te schrijven. Test vanaf het begin. Test grondig, kijk ook goed uit voor randgevallen. Maak voor elke use-case minstens een test. Wanneer ben je klaar met testen? Eigenlijk nooit... HOM/FHTeL Inleiding en indeling 5 februari /1 11
Testen Aanvullende nota s inleiding software engineering
Testen Aanvullende nota s inleiding software engineering Filip Van Rysselberghe and Andy Zaidman Academiejaar 2003-2004 Versie 1.0 1 INLEIDING 1 1 Inleiding Software schrijven houdt meer in dan code intikken
Nadere informatieChris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren
Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...
Nadere informatieProgrammeertechnieken Week 7
Programmeertechnieken Week 7 Tim Cocx, Kristian Rietveld http://liacs.leidenuniv.nl/~rietveldkfd/courses/pt2017/ "Confidence in Code" "Ons programma / onze module is af, maar hoe weten we nu of alles werkt?"
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
5 - Mockito Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten
Nadere informatieUniversiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren
Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Nadere informatieSoftware Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1
Nadere informatieSoftware Test Documentation
FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe
Nadere informatieStacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49
Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen
Nadere informatieSoftware Test Plan. Yannick Verschueren
Software Test Plan Yannick Verschueren Maart 2015 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 2 December 2014 Yannick Verschueren
Nadere informatieSEN1 Software Engineering 1
SEN1 Software Engineering 1 Pieter van den Hombergh Ferd van Odenhoven Fontys Hogeschool voor Techniek en Bedrijfsmanagement Software Engineering 6 maart 2008 FvO,PvdH/FHTBM SEN1 Software Engineering 1
Nadere informatieSoftware Test Documentation
FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe
Nadere informatieSoftware Test Document
Software Test Document PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie
Nadere informatieTeststrategien. Pieter van den Hombergh. 20 februari 2014. Fontys Hogeschool voor Techniek en Logistiek Software Engineering
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 Acceptatietesten Belangen Inhoud
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.
Nadere informatieVoorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.
Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, 14.00-15.30, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Dit tentamen bestaat uit twee delen. Deel 1 (14.00-14.45, gesloten
Nadere informatieDie inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.
Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende
Nadere informatieClean code improves test quality
Clean code improves test quality Michel Kroon, Senior Consultant, SIG TestNet Voorjaarsevenement 30 juni 2008 Arent Janszoon Ernststraat 595-H NL-1082 LD Amsterdam info@sig.nl www.sig.nl De Software Improvement
Nadere informatieStacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Nadere informatieSoftware Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015
Software Test Plan PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage Versie 1 Versie
Nadere informatieTeststrategien. Hebben we wel het juiste gebouwd? Pieter van den Hombergh. 20 februari 2014
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
Nadere informatieZelftest Inleiding Programmeren
Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze
Nadere informatieWie ben ik? Agile Software Development. Het waterval model. Inhoud
gile Software Development Februari 2008, Philippe Dirkse Wie ben ik? 2002: fgestudeerd TU/e 1999-2005: Mondo izzarro, rystal Interactive, Siemens tea 2005 heden: PTS: Leica Microsystems SES/MiPlaza Inhoud
Nadere informatieTree traversal. Bomen zijn overal. Ferd van Odenhoven. 15 november 2011
15 november 2011 Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree
Nadere informatieAccelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368
Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject
Nadere informatieBEGINNER JAVA Inhoudsopgave
Inhoudsopgave 6 Configuratie Hallo wereld! Praten met de gebruiker Munt opgooien Voorwaarden Lussen......6 Configuratie Met deze Sushi kaarten ga je een simpel spel maken met één van de meest populaire
Nadere informatieUnit testing. Wat houdt testen in. 17 Januari 2011, voor Codequest.nl
Unit testing 17 Januari 2011, voor Codequest.nl Je kent het vast wel. Je bent uren bezig geweest met een hippe nieuwe applicatie, en ineens begint deze onverwacht gedrag te vertonen. Is hier nou echt niets
Nadere informatieHoe snel loopt iemand de 100 meter? 4. Planning. Schatting door analogie. Vereisten
Hoe snel loopt iemand de 100 meter? Tijdsschatting + Analogie & Decompostie + Empirische schatting - Plan 2.0 & Plan 2.1 Conclusie versie 1.7 en 1.8 - Player. winner() Enkele vuistregels + Hollywood principe
Nadere informatieDOMjudge teamhandleiding
judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat
Nadere informatieElementary Data Structures 3
Elementary Data Structures 3 Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 29 september 2014 ODE/FHTBM Elementary Data Structures 3 29 september 2014 1/14 Meer
Nadere informatieObject Oriented Programming
Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming
Nadere informatieSpecialisatie RTES - Project FunnyScreens. Installatie en gebruik van JUnit
Installatie en gebruik van JUnit Auteurs: Niels Hendriks - 89713 Matthijs Langenberg - 89870 Wiebe van Schie - 84313 Siet Toorman - 91623 Job Vermeulen 90589 Semester: 6 DSO: QSO: Dhr. R.J.W.T. Tangelder
Nadere informatieProgrammeren 3. 1. Het gesloten boek examen 1.1
Programmeren 3 1. Het gesloten boek examen Het gesloten boek examen bestaat uit meerkeuzevragen of vragen waarin gevraagd wordt een stukje code te schrijven of om het resultaat van een stuk code te voorspellen.
Nadere informatieOplossingen voor het testen van objectgeoriënteerde software
Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen
Nadere informatieContinuous Testing? FITR testautomatisering! Bas Dijkstra
Continuous Testing? FITR testautomatisering! Bas Dijkstra bas@ontestautomation.com www.ontestautomation.com @_basdijkstra Continuous Delivery Release Build Test Deploy Continuous Testing Release Build
Nadere informatieUML. From weblog http://dsnippert.wordpress.com. Dennis Snippert
UML From weblog http://dsnippert.wordpress.com Naam: Dennis Snippert Inhoudsopgave 1. Wat is Uml?... 3 2. UML diagrammen... 4 3. Uitleg diagrammen... 5 3.1. Usecase diagram:... 5 3.2. Class diagram:...
Nadere informatieTentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft
Tentamen Object Georiënteerd Programmeren TI1206 29 oktober 2014, 9.00-11.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Digitale
Nadere informatieModelleren en Programmeren
Modelleren en Programmeren Jeroen Bransen 11 december 2015 Ingebouwde datastructuren Meer boomstructuren Access specifiers Gebruikersinvoer Codestijl Packages SAT-solver Ingebouwde datastructuren Ingebouwde
Nadere informatievoegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is
PROEF-Tentamen Inleiding programmeren (IN1608WI), X januari 2010, 9.00-11.00, Technische Universiteit Delft, Faculteit EWI, Afdeling 2. Open boek tentamen: bij het tentamen mag alleen gebruik worden gemaakt
Nadere informatieIntroductie in C++ Jan van Rijn. September 2013
Introductie in C++ Jan van Rijn September 2013 Inhoud Classes Overerving Const correctness Standard C++ library Templates Classes Voordelen van classes: Modelleren Modulariteit Informatie afschermen Makkelijk(er)
Nadere informatieInleiding Software Engineering! Unit Testing, Contracten, Debugger! 13 Februari 2014!
Inleiding Software Engineering Unit Testing, Contracten, Debugger 13 Februari 2014 Beknopte info over Unit Testing en Contracten kan je vinden op het einde van dit document. Eclipse beschikt over een handige
Nadere informatieTentamen in2705 Software Engineering
Tentamen in2705 Software Engineering Voorbeeld (bijna tweemaal te groot) U mag meenemen naar dit tentamen: Lethbridge, afdrukken PPT slides, afdrukken handouts. 1. De TU wil een nieuw systeem ontwikkelen
Nadere informatieDatatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.
Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort
Nadere informatieCorrespondentie inzake overnemen of reproductie kunt u richten aan:
5 - Mockito Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten
Nadere informatieTeamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008
judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3
Nadere informatieOplossingen voor het testen van objectgeoriënteerde software. Oplossingen voor het testen van. Overzicht. Pieter van den Hombergh.
Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen
Nadere informatieObjectgericht programmeren 1.
Objectgericht programmeren 1 joost.vennekens@kuleuven.be http://www.cs.kuleuven.be/~joost/dn Objectgericht ontwerpen 35% Objectgericht ontwerpen 65% OP1 Informatiesystemen 50% Databanken 50% OP1 Evaluatie
Nadere informatieZelftest Programmeren in Java
Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test
Nadere informatieIMP Uitwerking week 13
IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het
Nadere informatieSmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker
SmartTestAssistant Het slimme testhulpmiddel door Frank Stolker Inhoud Waarom wéér een ander tool? Omdat dit is wat we willen Wat is SmartTestAssistant dan? Hoe zit het in elkaar? Hoe werkt het? Schematische
Nadere informatieModulewijzer Tirdat01
Modulewijzer Tirdat01 W. Oele 25 augustus 2008 1 Inhoudsopgave 1 Inleiding en leerdoelen 3 2 Voorkennis 3 2.1 tirprg01 en tirprg02........................ 3 2.2 tirprg03.............................. 4
Nadere informatieUnit testen met Rhino mocks Twee handen op één buik
Unit testen met Rhino mocks Twee handen op één buik Sinds Kent Beck in 2000 zijn meesterwerk 'Extreme Programming Explained' schreef, weet iedere ontwikkelaar dat gedegen testen van software noodzakelijk
Nadere informatieVerantwoording van de te bezoeken les
Verantwoording van de te bezoeken les Toelichting m.b.t. constructeur leeromgeving: Zie het losse lesvoorbereidingsformulier. Toelichting m.b.t. de rol van vakinhoudelijk begeleider: Waar in de les motiveert
Nadere informatieDesign patterns Startbijeenkomst
Design patterns Startbijeenkomst Harrie Passier Docenten Sylvia Stuurman (1 e examinator) Sylvia.Stuurman@ou.nl Harrie Passier (2 e examinator) Harrie.Passier@ou.nl Aarzel niet vragen te stellen! Rooster
Nadere informatieJava virtuele machine JVM
Implementatie Java Java virtuele machine JVM Java programma vertaald naar byte code instructies Byte code instructies uitgevoerd door JVM JVM is processor architectuur kan in principe in hardware worden
Nadere informatieOplossingen voor het testen van objectgeoriënteerde software
Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen
Nadere informatieProgrammeren: Visual Basic
PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies
Nadere informatieAgile Testen in de praktijk
1 Agenda 2 Agile Testen in de praktijk Summerschool 13 Juli 2011 Introductie Agile de context van agile Testen2.0 de tester in een agile project Waarden en principes DoD, PRA en MTP Testen3.0 in een agile
Nadere informatieProgrammeren in Java 3
2 september 2007 voor deeltijdstudenten Kop van Zuid Rotterdam, 3 juni 2007 Even voorstellen Naam: Wessel Oele(31) Docent bij opleiding technische informatica Kamer: I210 (tweede verdieping, links de gang
Nadere informatieSoftware Engineering Groep 4
Software Engineering Groep 4 Software Test Document Kevin Hendrickx (Test Manager) 3 e Bachelor Computerwetenschappen se4-1112@wilma.vub.ac.be 17 mei 2012 1 Tabel 1: Document geschiedenis v5.0 17/05/2012
Nadere informatie1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat?
1,3 miljoen regels mission critical code omzetten naar C++, hoe test je dat? XXXXXX Najaarsevenement 2016 Jaap Kuilman 11 oktober 2016 Introductie Jaap Kuilman Testconsultant bij InTraffic Ervaring in
Nadere informatieTentamen Formele Methoden voor Software Engineering (213520)
Tentamen Formele Methoden voor Software Engineering (213520) 15 april 2010, 8:45 12:15 uur. BELANGRIJK: geef op je tentamen duidelijk aan: je studierichting of je beide huiswerkopgaven gemaakt hebt, en
Nadere informatieEen unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.
WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.
Nadere informatieControle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2
Controle structuren De algemene vorm: 1 bloks door middel van indentatie Keuze Herhaling if expressie :...... In de volgende vorm is het else gedeelte weggelaten: if expressie :... Het if keuze- of conditioneel
Nadere informatieTentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld
Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld Afdeling ST Faculteit EWI TU Delft Bij dit tentamen mag u gebruik maken van: Barnes, Object-Oriented Programming with Java en de Notitie Algoritmiek
Nadere informatieHANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS)
HANDLEIDING PROGRAMMEREN IN PASCAL (LAZARUS) Vereiste voorkennis Voldoende kennis van het besturingssysteem (in deze handleiding wordt uitgegaan van Windows) De basisprincipes van programmeren Vereiste
Nadere informatieVoor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:
Eenvoudig voorbeeld. Er wordt verondersteld dat er met VS 2008 EXPRESS gewerkt wordt. Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel: (Sommige schermafdrukken zijn afkomstig
Nadere informatiehttp://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieObjectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
Nadere informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieOplossingen voor het testen van objectgeoriënteerde software
Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen
Nadere informatieTree traversal. Ferd van Odenhoven. 15 november Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering. Doorlopen van bomen
Tree traversal Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 15 november 2011 ODE/FHTBM Tree traversal 15 november 2011 1/22 1 ODE/FHTBM Tree traversal 15 november
Nadere informatieeerste voorbeelden in Java
Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele
Nadere informatieProject 2: LOTTO simulatie Programmeren I
Project 2: LOTTO simulatie Programmeren I K. van Assche - H. Gruyaert 1 Inleiding Schrijf een java programma dat het spel van de nationale loterij, de Lotto simuleert. De communicatie met de gebruiker
Nadere informatieSmartTestAssistant. Het slimme testhulpmiddel. door Frank Stolker
SmartTestAssistant Het slimme testhulpmiddel door Frank Stolker Inhoud Waarom wéér een ander tool? Omdat dit is wat we willen Wat is SmartTestAssistant dan? Hoe zit het in elkaar? Hoe werkt het? Schematische
Nadere informatieB3Partners. Beheerhandleiding Mapfilegenerator 1.0. Gewijzigd: 23 april B3Partners BV Bedrijvenpark Lage Weide Zonnebaan 12c 3542 EC Utrecht
Beheerhandleiding Mapfilegenerator 1.0 Gewijzigd: 23 april 2012 BV Bedrijvenpark Lage Weide Zonnebaan 12c 3542 EC Utrecht T 030 214 2081 F 030 2411297 E info@b3partners.nl I www.b3partners.nl KvK Amsterdam
Nadere informatieHOGESCHOOL VAN AMSTERDAM Informatica Opleiding. CPP 1 van 10
CPP 1 van 10 ADSdt 1-2009 TENTAMENVOORBLAD Voor aanvang van het tentamen s.v.p. de tentamengegevens goed doorlezen om eventuele misverstanden te voorkomen!! Naam student : Studentnummer : Groep : Studieonderdeel
Nadere informatieLogicsim Hydraulics. Vak/onderwerp Techniek, motorvoertuigentechniek, hydrauliek, mechanica
Logicsim Hydraulics Vak/onderwerp Techniek, motorvoertuigentechniek, hydrauliek, mechanica Hardware-eisen Windows 3.1 of hoger, 486 processor of sneller, 5 Mb vrije ruimte op de harde schijf, 4 Mb RAM,
Nadere informatieProgrammeren (1) Examen NAAM:
Schrijf al je antwoorden op deze vragenbladen (op de plaats die daarvoor is voorzien) en geef zowel klad als net af. Bij heel wat vragen moet je zelf Java-code schrijven. Hou dit kort en bondig. Je hoeft
Nadere informatieInleiding Programmeren 2
Inleiding Programmeren 2 Gertjan van Noord November 19, 2018 Overzicht Grafische programma s en tekstgebaseerde programma s Stijladviezen (Jeff Knupp, Writing Idiomatic Python) File Processing (Zelle 5.9.2)
Nadere informatiePraktijk en practices
Troubleshooting Praktijk en practices Spreker(s) : Datum : E-mail : Ruud van Leeuwen 6 juni 2013 rleeuwen@transfer-solutions.com WWW.TRANSFER-SOLUTIONS.COM Onderwerpen Tech stack komt aan bod Werkwijzen
Nadere informatieRelease notes PCTrans. Release notes PCTrans. Aantekeningen voor PCTrans 5.0 ( )
Aantekeningen voor 5.0 (20161128) Opgeloste problemen: In module Projection: RD x,y,h, geographic wordt het inlezen van een file met X,Y,H coordinaten niet goed verwerkt. De beperkingen zoals beschreven
Nadere informatieJavascript oefenblad 1
Leer de basis van Javascript. Javascript oefenblad 1 Niels van Velzen Javascript oefenblad 1 Pagina 2 Inleiding Javascript is niet altijd even makkelijk. Vooral aan het begin is het even wennen hoe de
Nadere informatieOvererving & Polymorfisme
Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit
Nadere informatiePlan van Aanpak. Opdrachtnemers: Hielke Kuipers 0896930@hr.nl. Opdrachtgever: Mr. Gerard van Kruiningen
Plan van Aanpak Project /: Pinautomaat Team: JHJ Organisatie: Hogeschool Rotterdam, Wijnhaven Opdrachtgever: Mr. Gerard van Kruiningen Opdrachtnemers: Jeroen van Ginkel 08699@hr.nl Hielke Kuipers 089690@hr.nl
Nadere informatieVerslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers
Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke
Nadere informatieIn de tweede regel plaatsen we in het gereserveerde stukje geheugen een getal.
4. Array s Een array is een geïndexeerde variabele. Deze zin zal de nodig vragen oproepen, waarop enige uitleg van toepassing is. Met variabelen hebben we al kennis gemaakt. In een variabele kun je iets
Nadere informatie#C #Exlipse #C++ #Linux #UML. Rotterdam Den Haag Zoetermeer
Jeffrey #C #Exlipse #C++ #Linux #UML Rotterdam Den Haag Zoetermeer Jeffrey is een slim en nauwkeurige software engineer die graag een moeilijke uitdaging aangaat. Hij komt graag met goed uitgewerkte oplossingen
Nadere informatieHoe snel loopt iemand de 100 meter?!
4.1! Hoe snel loopt iemand de 100 meter?! 4.2! Tijdsschatting! Analogie & Decompostie! Empirische schatting! Plan 2.0 & Plan 2.1! Conclusie! TicTacToe! Code Hergebruik => TestCase! HTML Uitvoer => polymorfisme!
Nadere informatieVisual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET
Visual Basic.NET M. den Besten 0.3 VB. NET Inhoud Voorwoord Deel 1 Visual Basic.NET 1.1 Inleiding...13 1.2 De programmeertaal Visual Basic.NET...14 1.3 Microsoft Visual Basic 2010 Express Edition...15
Nadere informatieKleine cursus PHP5. Auteur: Raymond Moesker
Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven
Nadere informatie7 Omzetten van Recursieve naar Iteratieve Algoritmen
7 Omzetten van Recursieve naar Iteratieve Algoritmen Het lijkt mogelijk om elke oplossings-algoritme, die vaak in eerste instantie recursief geformuleerd werd, om te zetten in een iteratieve algoritme
Nadere informatieOnline c++ leren programmeren:
Online c++ leren programmeren: Inhoud 1)Waar vind ik een c++ compiler?... 2 2)Hoe start ik een programma in c++?... 2 3)Een eerste c++ programma:... 3 Een eerste programma schrijven:... 3 Mijn eerste programma
Nadere informatieTentamen Formele Methoden voor Software Engineering (213520)
Tentamen Formele Methoden voor Software Engineering (213520) 2 juli 2009, 13:30-17:00 uur. BELANGRIJK: geef op je tentamen duidelijk aan: je studierichting of je beide huiswerkopgaven gemaakt hebt, en
Nadere informatieEnterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling
Fir rst Base Enterprise Connectivity Marnix van Bo chove First Base: opgericht in 2001 TU Delft Elek ktrotechniek - 1998 Software Architect 20 jaar ervarin g met software ontwikkeling Presentatie Ideeën
Nadere informatieCursus Onderwijs en ICT. bloggen met Wordpress
Cursus Onderwijs en ICT Deel 21 (versie 1.0 NL 27-04-2011) bloggen met Wordpress door Serge de Beer Inleiding Zelf ben ik niet zo n blogger. Niet dat ik het niet heb geprobeerd trouwens. Al regelmatig
Nadere informatieinleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur
1 Inleiding inleiding theoretische informatica 2007-2008 practicum 1 deadline woensdag 20 februari 2008 om 14.00 uur Dit practicum is een kennismaking met functioneel programmeren. Twee belangrijke functionele
Nadere informatieTentamen Imperatief Programmeren
Tentamen Imperatief Programmeren Maandag 22 oktober 2001 Toelichting Dit is een open boek tentamen, d.w.z. het cursusboek mag gebruikt worden. N.B.: Het tentamen is individueel: voor het maken van de opgaven
Nadere informatieProgrammeren in Java les 3
4 september 2015 Deze les korte herhaling vorige week loops methodes Variabelen Soorten variabelen in Java: integer: een geheel getal, bijv. 1,2,3,4 float: een gebroken getal, bijv. 3.1415 double: een
Nadere informatie