Bjørk Boye Busch
Erhvervsakademiet Lillebælt - PBA og Diplom i softwareudvikling

Faget Test - Temaer for forløbet forår 2012

Erhvervsakademiet LillebæltBjørk Boye Busch website
Sidst opdateret den
29.01.2012

 

Temaer for faget TEST - forløbet forår 2012

·         Tema 1: Udviklingsmiljø (7%)

·         Tema 2: Hvad er test (4%)

·         Tema 3: Hvornår testes hvad (4 %)

·         Tema 4: Hvordan udvælges det der skal testes (5 %)

·         Tema 5: Hvordan udvælges testdata og dækningsgrad (5 %)

·         Tema 6: Hvordan gennemføres test rent manuelt (5 %)

·         Tema 7: Hvordan gennemføres test manuelt med støtte af værktøjer til planlægning, gennemførsel og opfølgning (12 %)

·         Tema 8: Hvordan automatiseres test af program funktionalitet (20 %)

·         Tema 9: Hvordan automatiseres andre test (6 %)

·         Tema 10: Hvordan testes portaler og andre komplekse systemer, hvor der ikke er klare detaljerede kravspecifikationer (6 %)

·         Tema 11: Hvordan passes test ind i forhold til organisation og udviklingsmetode (6 %)

·         Tema 12: Testprojekt (20 %)

 

Tema 1: Udviklingsmiljø (7%)

Formål

Få installeret og afprøvet det nødvendige software samt at få gennemgået den basis som resten af faget bygger på.

Praksis

Det er normal praksis, at en meget stor del af test tager sit udgangspunkt i sprog og udviklingsmiljø softwaren udvikles i, således at testen kan integreres – hertil kræves at der skal installeres og afprøves software på den studerendes egen PC, herunder vil der være behov for at udarbejde nogle små programmer i C#, hvis den studerende ikke i forvejen har kendskab til sproget eller Visual Studio.

Sammenhænge

De fleste efterfølgende temaer bygger direkte på dette tema.

Læringsmål

Som sådan vil en del af dette tema være repetition og det vil være begrænset hvor meget nyt den studerende behersker. De studerende forventes allerede at kende til centrale begreber om test, herunder programmering af simple unit test. Der vil derfor delvis være tale om en opsamling samt afdække de studerendes praktisk færdigheder.
Målet er at den studerende føler den tidligere erhvervede viden nærværende.

Herudover skal den studerende være i stand til at anvende det installerede software i forhold til at lave simple C# programmer, med henblik på senere at kunne teste disse.

Forudsætninger

De studerende forventes allerede at kende til centrale begreber om test, herunder gennemførsel af simple unit test og tilrettelægge og gennemføre mindre manuelle test.
De studerende forventes endvidere at have praktisk programmeringserfaring med C# eller lignende objektorienteret sprog (fx java) og Visual Studio eller tilsvarende udviklingsmiljø (fx eclipse eller netbeans).

De studerende bør selv være i stand til at tilegne sig viden om C# og brugen af Visual Studio til at lave mindre programmer ud fra tutorials på internettet samt de screencast (videoer) der stilles tilgængelig.

Den studerende bør også være i stand til at installere og afprøve SW. Internettet bugner af fora og artikler som kan hjælpe.

Det er væsentligt at den studerende forstår at dette tema hovedsageligt består af emner som til en vis grad bør være velkendte.

 

Tema 2: Hvad er test (4%)

Formål

At få defineret rammerne for faget, herunder få skabt en fælles forståelse for centrale begreber samt behovet for at arbejde med test på en systematisk og praksis nærværende måde.

Læringsmål

Som sådan vil en del af dette tema være repetition og det vil være begrænset hvor meget nyt den studerende behersker. De studerende forventes allerede at kende til centrale begreber om test, herunder gennemførsel af simple unit test og tilrettelægge og gennemføre mindre manuelle test. Der vil derfor delvis være tale om en opsamling samt afdække de studerendes praktisk færdigheder med at foretage test.
Målet er at den studerende føler den tidligere erhvervede viden nærværende.

Herudover få indledende erfaringer med mindre testforløb og introducerende problematikker med test.

Den studerende skal kunne se nødvendigheden i at systematisere gennemførslen af test, samt kunne definere og anvende begreber som fejl, verifikation og validering.

 

 

Tema 3: Hvornår testes hvad (4 %)

Formål

At kvalificere den studerende til at arbejde med planlægningen af test ud fra en strategi.

Sammenhænge

Specielt til tema 11.

Læringsmål

At få viden om strategier og modeller for planlægning, udvikling og afvikling af test, herunder også hvad der kan / bør / skal testes.
At få viden om væsentlige teststrategier og testmodeller, herunder opdelingen af testen i faser og sammenhængen til elementer i systemudviklingen.
At få viden om hvilke elementer og egenskaber der testes.

Forudsætninger

Den studerende skal have praktiske erfaringer med at arbejde i systemudviklingsprojekter, der anvender en given systemudviklingsmetode samt kende til elementer inden for UML samt begrebet systemegenskaber.


 

Tema 4: Hvordan udvælges det der skal testes (5 %)

Formål

At kvalificere den studerende til at kunne udvælge emner for test som den del af kvalitetssikringen af et udviklingsprojekt, samt foretage valg af hvordan det valgte skal testes.

Praksis

Det er i praksis ikke realistisk at teste alt 100%, hverken af tidsmæssige eller økonomiske årsager. Der er der derfor altid behov for at kunne vælge hvad der skal testes. Denne udvælgelse skulle gerne kunne foretages på et kvalificeret grundlag.

Sammenhænge

Emnet har specielt tæt sammenhæng med 5.5

Læringsmål

At give den studerende færdigheder i teknikker og værktøjer, der kan bruges til at vælge kvalitativt i det der skal testes (Der er tale teknikker inden for white-/glass-box, blackbox og greybox til udvælgelsen)
 At give den studerede viden om betydningen af testbarhed i forhold til muligheden for at vælge kvalificeret.
At give den studerende kompetence til at vælge om test af det udvalgte kan gennemføres (det kan fx være fortolkende review af diagram eller afprøvning af kode med testdata maskinelt eller manuelt).
At give den studerende færdigheder i at designe en test med relevant dækningsgrad i forhold til de elementer der testes.

Forudsætninger

Den studerende skal have praktisk erfaring med software udviklingsprojekter


 

Tema 5: Hvordan udvælges testdata og dækningsgrad (5 %)

Formål

At kvalificere den studerende til at kunne udvælge testdata og dækningsgrad for de dele der er udvalgt til test.

Praksis

Selv når man har udvalgt noget specifik programkode som man vi teste er det i praksis sjældent muligt at lave en test der dækker alle mulige input, idet kombinationer af input hurtig kan blive ekstreme. Det er derfor nødvendigt at begrænse data til et realistisk niveau på en måde der sikre optimal test ud fra denne begrænsning. Når programmer indeholder selektion og repetition vil det endog sjældent være muligt at sikre at alle kombinationer inden for disse bliver prøvet af, så her er der behov for også at kunne dels fastsætte en ønsket dækningsgrad og dels designe og sikre at testen levet op til at denne er nået.

Sammenhænge

Emnet har specielt tæt sammenhæng med 5.4, der er desuden en tæt sammenhæng til 5.8 hvor automatisering er placeret.

Læringsmål

At have færdigheder whitebox og blackbox teknikker til at udvælge testdata under hensyntagen til den dækningsgrad der ønskes, alternativt kunne gøre rede for hvad givne testdata betyder for dækningsgraden.
At give den studerende færdigheder i at designe en test med relevant dækningsgrad i forhold til de input-data der testes med.

 

Tema 6: Hvordan gennemføres test rent manuelt (5 %)

Formål

At kvalificere den studerende til at kunne gennemføre forskellige former for rent manuelle test, herunder sikre dokumentation af disse.

Læringsmål

At give den studerende færdigheder i forskellige former for review-teknikker til at sikre kvaliteten i en udviklingsproces og dennes produkter (dokumenter, diagrammer m.m.).
At give den studerende viden om forskellige måder man kan beskrive en test struktureret på, så det er muligt at dels gennemføre den og dels dokumentere den og rapportere om fejl.

 

Tema 7: Hvordan gennemføres test manuelt med støtte af værktøjer til planlægning, gennemførsel og opfølgning (12 %)

Formål

At kvalificere den studerende til at kunne planlægge, gennemføre, samt følge op på test med brug af IT værktøjer til understøttelse af hele processen.

Læringsmål

At give den studerende viden om hvordan planlægning, afvikling og opfølgningen kan understøttes af værktøjer, hvor der stadig er manuelle processer i testen.
At give den studerende færdigheder i brug af et konkret værktøj der understøtter ovenstående.
At give den studerende færdigheder i brug at automatisering til at afdække den faktiske dækningsgrad under afviklingen af en test (code coverage).

 

Tema 8: Hvordan automatiseres test af program funktionalitet (20 %)

Formål

At kvalificere den studerendes til at bruge værktøjer til at automatisere test af programfunktionalitet.

Læringsmål

At give den studerende viden om værktøjer der kan anvendes til automatisere test af programfunktionalitet fra test den enkelte komponent til det samlede system.
At give den studerende færdigheder i brug af konkrete værktøjer til test af funktionalitet.


 

Tema 9: Hvordan automatiseres andre test (6 %)

Formål

At kvalificere den studerende til at kunne foretage automatisering af test af ikke funktionelle systemegensskaber.

Læringsmål

At den studerende får viden om værktøjer der kan anvendes til at foretage test af et systems ikke funktionelle egenskaber som fx performance og loadtest.
At den studerende får færdigheder i brug af et konkret værktøj der kan foretage disse test.

 

Tema 10: Hvordan testes portaler og andre komplekse systemer, hvor der ikke er klare detaljerede kravspecifikationer (6 %)

Formål

At kvalificere den studerende til at kunne medvirke til kvalitetssikring af komplekse systemer hvor der ikke er så veldefinerede og med klare detaljerede kravs specifikationer.

Læringsmål

At give den studerende viden om testformer som ”udforskende test” og ”bug hunting”, der kan anvendes som alternativer hvor der ikke er klare mål og krav til et system.

 

Tema 11: Hvordan passes test ind i forhold til organisation og udviklingsmetode (6 %)

Formål

At kvalificere den studerende i at være ansvarlig for den interne kvalitetskontrol i et projekt og derfor kunne se test i forhold til den samlede organisation og et projekt.

Sammenhænge

Specielt til tema 3

Læringsmål

At give den studerende viden om hvordan test kan organiseres i forhold dels til en samlet organisation og i forhold til et projekt samt i relation til en valgt systemudviklingsmetode.

 

Tema 12: Testprojekt (20 %)

Formål

At give den studerende praktiske færdigheder med planlæge og gennemføre test.

Læringsmål

At den studerende får færdigheder og erfaringer med et eller flere af emnerne inden for test.
At den studerende får mulighed for at inddrage sine egner erfaringer og sætte disse i relation til teorierne og de værktøjer der har været en del af de andre temaer.

Den studerende skal vælge et eller flere de værktøjer der har været brugt og gå i dybden med disse ved at bruge dem i praksis til test i forhold til fx test på deres job.
Der kan også være mulighed for at den studerende kan vælge et nyt værktøj, som er relevant eller bruges på deres job og så bruger dette i forhold til et konkret testprojekt.
Den studerende skal selv formulere et kort projektoplæg, som skal godkendes af underviseren.

Almindelig simpel Unit-test vil være utilstrækkelig som projektarbejde, men det vil være muligt også at kunne definere test-projekt, hvor der arbejdes i dybden med manuelle teknikker og værktøjer, idet der dog foretrækkes en eller form for automatisering bringes ind.

Læringsmateriale

Tidligere samt materiale der selv findes i forbindelse med projekt.

Undervisningsform

Underviseren vil primært være vejleder i dette forløb, hvor den studerende selv skal stå for planlægningen gennemførslen af projektarbejdet, og underviseren kan ikke forventes at kunne yde konkret/teknisk bistand i forhold til værktøjer, der ikke har været brugt direkte i undervisningen under de tidligere temaer.

Forudsætninger

Den studerende har arbejdet med de tidligere temaer i tilstrækkelig omfang, herunder arbejdet med de opgaver/øvelser der har været stillet undervejs.