Informatica 2 Studiehandleiding
Embedded Systems Engineering
ir drs E.J Boks 25-02-2010
Groep: ES1D
Inhoud 1 Inleiding..................................................................................................................... 2 2 Doelstelling............................................................................................................... 3 3 Beoordeling............................................................................................................... 4 4 Eisen aan het verslag............................................................................................... 6 Voorbeeld van een testrapport.................................................................................. 8
1
Inleiding
De onderwijseenheid Informatica 2 bouwt voort op Informatica 1, waar de taal C is behandeld. Nu gaat het om de taal C++ en om het ontwerpen van Windows programma's. Er wordt gebruikgemaakt van de grafische ontwikkelomgeving wxWidgets. Wel wordt er uitgebreid aandacht besteed aan de diverse methoden van software testen. In hoofdstuk 2 wordt de doelstelling van deze onderwijseenheid nader uiteengezet, in hoofdstuk 3 wordt aangegeven welke competentiebewijzen de student moet inleveren en hoofdstuk 4 geeft de eisen die aan het verslag worden gesteld. Appendix A geeft het formaat van een testrapport. I
2
Doelstelling
In deze onderwijseenheid wordt gewerkt aan de beroepstaak 'software ontwerpen en testen' op niveau 2 (gevorderd): ➢ De student kan een grafische ontwikkelomgeving toepassen voor het ontwikkelen van een GUI applicatie. ➢ Hij kan een van tevoren door hem aangedragen en met de docent afgesproken applicatie ontwikkelen in C++. ➢ Hij kan een aantal testmethodieken toepassen op een gegeven probleem en/of op delen van zijn eigen ontwikkelde applicatie. Hierbij wordt gewerkt aan de volgende vier beroepsspecifieke competenties: ➢ Wensen van de klant vertalen in een SMART geformuleerd programma van eisen voor een te ontwikkelen embedded system. ➢ De architectuur van het gewenste embedded system ontwerpen: opdelen in onderdelen en subfuncties van de benodigde software. ➢ De benodigde software voor een embedded system ontwerpen en testen. Het gaat hierbij om software en interfaces tussen softwarecomponenten en met de gebruiker. ➢ Een bijdrage leveren aan het acceptatietraject door het geven van presentaties, demonstraties en het opleveren van documentatie. en aan de volgende twee algemene hbo-competenties: ➢ Projectmatig werken: plan van aanpak maken, werkzaamheden afstemmen, rapporteren over voortgang. ➢ Schriftelijk en mondeling, in- en extern communiceren in het Engels en Nederlands, zowel met vakgenoten als niet-vakgenoten.
3
Beoordeling
De student levert individueel bewijsmateriaal aan om aan te tonen dat hij de gewenste competenties heeft bereikt: ➢ Hiertoe moet hij/zij (individueel) vijf programma in C++ ontwerpen en demonstreren in een grafische ontwikkelomgeving. Bij elke programma hoort een kort verslag met daarin de functionele specificatie, een codeover`zicht en een screenshot van het werkende programma. ➢ hij/zij moet een test-case ontwerpen voor een van bovengenoemde programma's, waarbij het eerste programma (introduktie C++) niet gebruikt mag worden : ➔ De student definieert een duidelijke casus en bespreekt de functionaliteit van de te ontwikkelen applicatie met de docent en ontwerpt een overzichtelijke user interface. ➔ Hij verdeelt zijn applicatie in subfuncties, gebruikt componenten van de grafische ontwikkelomgeving en ontwikkelt de applicatie in C++. ➔ Hij leidt testcases af m.b.v. equivalence partitioning, boundary value analysis, cause effect graphing en multiple condition coverage. ➔ Hij laat zien dat hij bij de ontwikkeling van zijn product de definitiefase, ontwerpfase en implementatiefase op de juiste wijze doorloopt. ➔ Hij levert heldere en complete documentatie van zijn product en motiveert zijn ontwerpkeuzes. Zie hoofdstuk 4 van deze handleiding voor de eisen die aan het verslag zijn gesteld en raadpleeg appendix D voor het uiterlijk van het testrapport. De student moet zijn werkwijze en zijn producten op vragen van de docent adequaat kunnen toelichten om een voldoende eindcijfer te krijgen! Als de onderwijseenheid met een voldoende wordt afgesloten (minimaal 5.5), krijgt de student hiervoor 7,5 EC aan studiepunten. Beoordeling van product en productrapport gewicht (totaal=10) aspect 1 werking van programma en gebruiksgemak van user interface 1 verslag - titelpagina (volledig en informatief) en samenvatting (correcte inhoud) - samenvatting (correcte inhoud) - voorwoord (correcte inhoud) - inhoudsopgave (volledig en juist) + inleiding (correcte inhoud) - opmaak (paginanummers, spatiëring e.d.) - stijl en spelling 0,5 functionele specificatie (gedetailleerd en eenduidig) en user manual (volledig en eenduidig) 4 realisatie - lay-out van programma en gebruik van commentaar, suggestieve naamgeving van variabelen en juiste keuze van datatypen, gebruik van lokale en globale variabelen
functiegebruik met parameteroverdracht en prototyping array- en/of structgebruik en/of pointers (evt. dynamische geheugenallocatie) - filegebruik projectaspecten - omvang van het project - moeilijkheidsgraad van het probleem - aan de dag gelegde creativiteit (m.b.t. probleemstelling en oplossing) toepassen van software testing - afleiden van de test cases volgens equivalence partitioning - afleiden van de test cases volgens boundary value analysis - afleiden van de test cases volgens cause effect graphing - afleiden van de test cases volgens multiple condition coverage - resulterend testplan - testrapport -
0,5
3
4
Eisen aan het verslag
Het projectverslag dient de volgende onderdelen te bevatten (breng zelf, indien nodig, de indeling in paragrafen aan): Titelpagina Samenvatting Voorwoord Inhoudsopgave 1 Inleiding 2 Functionele specificatie 3 Realisatie 4 Testplan 4.1 Equivalence partitioning 4.2 Boundary value analysis 4.3 Cause effect graphing 4.4 Multiple condition coverage 4.5 Resulterend testplan 5 Testrapport Bijlage 1 Programmalistings Bijlage 2 User manual Titelpagina bevat titel (en eventueel ondertitel), auteur, klas, datum en eventueel een toepasselijke illustratie. Samenvatting beslaat maximaal 1 pagina en moet los van het rapport gelezen kunnen worden. Deze moet het gehele rapport dekken. Er moet kort worden beschreven waarover het gaat en wat de bereikte resultaten en niet gehaalde doelstellingen zijn. Voorwoord is bedoeld voor persoonlijke opmerkingen met betrekking tot het verslag. Hierin kan bijvoorbeeld iets verteld worden over de ervaringen die tijdens het project zijn opgedaan, over de problemen die zijn opgetreden of over oorzaken van vertragingen en dergelijke. Inhoudsopgave noemt alle onderdelen van het rapport met het nummer van de pagina aan het einde van de regel. Inleiding (hoofdstuk 1) vertelt bondig waar het rapport over gaat en hoe het is opgebouwd. Door het lezen van de inleiding kan de lezer zich oriënteren op de inhoud van het rapport en kan hij bepalen of het lezen ervan voor hem voldoende interessant is. Eventueel kan hij besluiten alleen bepaalde hoofdstukken of delen daarvan door te nemen. Functionele specificatie beschrijft de hoofdfunctie en de eisen en wensen die aan het te ontwikkelen product worden gesteld. Hierbij gaat het om de buitenkant van het systeem, het wat. Ook de user interface hoort hierbij (verwijzen naar bijlage 2). Deze specificatie dient volledig en eenduidig te zijn. Hij vormt immers de basis voor de drie black box testmethoden.
Realisatie beschrijft het detailontwerp (met de programmacode) en levert een gebruikershandleiding. Hierbij wordt gebruikgemaakt van bijlagen. Testplan laat zien hoe de testcases worden afgeleid volgens de vier gegeven methoden (§4.1 t/m §4.4) teneinde het product uitgebreid te testen. In §4.5 wordt het resulterende testplan gegeven, waarbij het aantal testcases zo klein mogelijk is gemaakt. Er wordt dus gezocht of naar een minimale set die alle testcases uit §4.1 t/m §4.4 afdekt. Testrapport (hoofdstuk 5) toont de resultaten van het uitvoeren van de testcases door de test engineer. Programmalistings (bijlage 1) bevat alle listings horende bij de applicatie, dus ook de header files. User manual (bijlage 2) geeft de gebruikershandleiding. Deze is in het Nederlands. Opmerkingen: • Nummer de pagina's, hoofdstukken en paragrafen. • Begin elk hoofdstuk op een nieuwe pagina. • Gebruik een zakelijke stijl, dus niet de ik- of wij-vorm (behalve in het voorwoord). • Let op de correcte spelling en zinsbouw.
Appendix A: Voorbeeld van een testrapport Testgroep:
................................................... ...................................................
Getest programma:
---------------
Programmeurs:
................................................... ...................................................
Tester:
...................................................
Nr 1 2 3 4 5 …
Invoer
Verwachte uitvoer
Testresultaat
Als de uitvoer overeenkomt met de verwachte uitvoer, wordt "OK" als Testresultaat in de tabel ingevuld. Bij een afwijkende uitvoer wordt deze afwijkende uitvoer ingevuld in de kolom Testresultaat.