Unit en acceptatie test

Pagina: 1
Acties:

Vraag


Acties:
  • +1 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Hallo allemaal,

ik moet een unit en acceptatietest uitvoeren voor een stuk code wat ik geschreven heb. Het stuk code wat ik geschreven heb is een relatief klein script wat in feite een kleine uitbreiding is op MediaWiki. Ik heb nog nooit eerder een unit of acceptatie test gedaan dus ik heb geen idee wat het is en hoe je het moet doen. De informatie op google is nogal vaag dus ik vraag het hier nog maar even.

Mijn vraag is nu dus:
- Hoe voer ik een unit test uit? Voer je dit uit voor alleen het script wat ik heb geschreven of de gehele mediawiki website waarin het script is toegevoegd?
- Hoe voer ik een acceptatie test uit? Ik heb wel test cases van mijn use cases gemaakt, voldoet dit als acceptatie test?

Hartelijk dank!

Groetjes,
Dennis

Beste antwoord (via sytrusze op 30-06-2019 14:56)


  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 09:30

The Eagle

I wear my sunglasses at night

sytrusze schreef op zondag 30 juni 2019 @ 10:20:
Duidelijk, danku :)

Dan rest mij nog 1 vraag over unittest: kan ik mijn script zelf opdelen in stukjes en deze apart testen of moet je per se een programma/framework hiervoor gebruiken?
Beiden kan en mag. Persoonlijk gebruikte ik gewoon excel. Test ummer, testomschrijving, verwachte uitkomst, uitkomst test, voldoet ja/nee, opmerkingen.

Als ik je een paar tips mag geven: maak ze beiden zoals ik ze je noem. Verwijs in je scriptie naar een bijlage met (een voorbeeld van) beide tests er in. Evt met resultaat als je wilt, maar volgens mij gaat het gewoon om dat je het principe snapt. De inhoud boeit niet zo. Kans dat men naar die appendix kijkt is aanwezig, dus moet ergens op lijken. Kans dat men inhoudelijk gaat checken is heel klein, en het uiteindelijke inhoudelijke resultaat van de test boeit al helemaal niet. Inhoudelijk is de docent namelijk niet betrokken bij het traject. Die wil alleen zien dat het gedaan is cq er uberhaupt aan gedacht is.

Qua acctest: je hebt ongetwijfeld een aantal use cases of userstories uit moeten werken vor je begon. Dat is wat business wil en waar ze op zouden testen. "Ik wil dit en dat, het moet dit en dat doen als ik x en y invoer" en dan weer testresultaat, voldoet ja/nee en comments.
Unittest wat simpeler houden, die kan onderhand op variabele niveau, maar zelfde principe.
Moet je met een paar uurtjes typen wel klaar hebben.

Nogmaals: hoeft inhoudelijk niet 100% te kloppen met de werkelijkheid, gaat om het principe.

En voor de mensen die commenten dat het zo in het bedrijfsleven niet gaat: klopt, moet daar gewoon goed zijn en dan laat je hem ook door een collega reviewen enzo. Maar dit is school en om te leren, en hij trekt hier twee lessen uit: hoe het niet moet, en dat ie eerder moet plannen en om hulp vragen. Dus prima, daar is een afstudeeropdracht OOK voor :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)

Alle reacties


Acties:
  • +5 Henk 'm!

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 15:05

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Waarom moet jij de acceptatietest uitvoeren? Normaliter is dat de verantwoording van de afnemer cq eindgebruiker, niet van de programmeur. Anders krijg je het "wij van WC eend" principe: de programmeur test zijn eigen werk. Laat de afnemer dus fijn zelf de acceptatiecriteria en de daarbij behorende test cases opschrijven en uitvoeren.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


Acties:
  • +2 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Je steelt een nogal brede vraag, maar ik kan niet echt opmaken wat jou niveau is. Ik ga er semi vanuit dat beide soorten tests nieuw voor je zijn.

Unittests zijn tests waarmee je laat zien dat de code werkt zoals verwacht, op zeer laag niveau. Een test per functie is niet raar om te zien op unit test niveau. Je kunt unit tests op veel verschillende manieren uitvoeren. Er zijn verschillende frameworks, soms bedoeld voor een specifieke taal, soms een stukje breeder. Ik vind pytest bijvoorbeeld erg lekker werken, maar als je gelimiteerd word door programmeertaalervaring kun je beter een framework vinden wat in de taal werkt waarin je werkt.

Ik neem aan dat mediawiki wel unittests heeft voor hun code, en als die er niet is, is het onbegonnen werk om dat te doen. Daarnaast moet jij waarschijnlijk laten zien dat jou nieuwe code structureel werkt, niet mediawiki. Houd die tests dan ook lekker bij je eigen script.

En een acceptatietest is meer een test van de afnemer om te bepalen of het werk goed genoeg is om in gebruik genomen te worden. Zoals Microkid al schetst zou de afnemende partij dat moeten doen hoewel het erg handig is om te overleggen met hun op welke manier en waarvoor ze het gaan gebruiken, want anders blijf je maar bezig met vragen of ze het kunnen testen.

Acties:
  • 0 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Bedankt voor jullie reacties! Beide test zijn indd nieuw voor mij en mijn programmeer ervaring is heel minimaal.

Ik ben bezig met schrijven van een afstudeerscriptie welke ik a.s. maandag moet inleveren en deze tests zijn het laatste wat ik nog moet doen. Een acceptatietest door de eindgebruiker laten afnemen is nu te kortdag dus ik zal het moeten "faken" op een of andere manier..ben er nog niet helemaal over uit hoe ik dan ga doen. Zou ik een aantal test cases kunnen maken voor de belangrijkste (must-have) requirements, deze uitvoeren en dan erbij schrijven deze test cases door de eindgebruiker zijn uitgevoerd?

Unittest voorbeeld, stel ik heb een de meeste simpele basis script waarin ik het volgende heb:

$test = "Hello world";
echo $test;

en

function writeMsg() {
echo "Hello world!";
}

writeMsg();

Moet ik dan bijv. de functie writeMsg apart testen in bijv. test.php en laten zien dat het werkt? En het gedeelte van echo $test; ook in een aparte pagina testen? Als ik het goed begrijp is dat dus een beetje de bedoeling van een unittest of begrijp ik het verkeerd?

Of in plaats van aparte pagina's te maken, de stukken code plakken in bijv psytest en dan een run uitvoeren?

Acties:
  • +2 Henk 'm!

  • xFeverr
  • Registratie: Juni 2011
  • Laatst online: 09:17
@Microkid De slager die zijn eigen vlees keurt zal je bedoelen denk ik.

Hoe dan ook... Over twee dagen je boeltje inleveren en dat niet op orde hebben? Ai ai ai... Mag ik vragen voor welke opleiding? Voor software engineering mag ik toch wel hopen dat je dit in je opleiding zit.

Hoe dan ook: een unit-test (let op het woord 'unit') is het liefst een test die het kleinste wat mogelijk is test. Elk testpad, elke.uitkomst apart. Zit er dus een if-statement in je functie, dan zorg er ten minste voor twee testen: eentje die het pad bewandeld van het if-statement bewandeld en eentje die deze niet bewandeld. Wat is het verwachte resultaat van beide paden? Komt het verwachte resultaat overeen met het echte resultaat? Zie daar, je unit-testen.

Gooi je nog een exception? Zorg dat je test dat die ook getriggerd wordt. Switch? Zorg dat alle cases getest zijn. Etc, etc.

MediaWiki hoef je dus niet te testen.

Acties:
  • +2 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 00:11
Je hoeft MediaWiki gelukkig niet te testen, alleen je eigen code :). Bij de unit test toon je aan dat je script goed omgaat met verkeerde invoer, maar ook met correcte invoer etc. Dit doe je apart voor iedere functionaliteit van je script. Je test het script dus niet in zijn geheel, maar in stukjes.

Bij de acceptatietest − normaal doe je dat niet zelf − kijk je of het script als geheel voldoet aan de vereisten van de klant, doet het wat er verwacht wordt qua functionaliteit. In een schoolsituatie is het soms een beetje gesimuleerd, vaak is er geen echte klant.

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Wederom bedankt voor jullie reacties!

Ik doe de opleiding "informatica" trouwens en ik weet dat ik er laat mee ben indd...achja niks aan te doen nu helaas behalve te proberen het beste ervan te maken.

Ik denk dat de unittest duidelijk is nu.

De acceptatietest is bijna helemaal duidelijk...het is dus een test waarbij wordt gekeken of de script als geheel voldoet, alleen op welke manier test je dit? Zijn hier programma's voor? Hoe doe je dit precies? Wat ik zelf dus voor ogen heb is: test cases maken voor alle functionele requirements en deze uitvoeren. Als de test cases het verwachte resultaat geven dan is het script getest en "geaccepteerd".

Acties:
  • +2 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 00:11
Bij de acceptatietest gaat het erom dat het voldoet aan de vereisten en wensen van de klant. Waarschijnlijk is er in dit geval geen klant, maar ligt er wel een opdrachtomschrijving waarin staat waaraan je script moet voldoen. Daar zijn geen kant en klare testen voor. Je moet aantoonbaar maken dat je script de gewenste output geeft, alle functionaliteiten goed werken, dat het niet crasht, liefst ook nog een beetje efficiënt is en dat de gebruikers ermee kunnen werken (usability).

My favorite programming language is solder.


Acties:
  • +1 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Ahaaa, dus in feite als ik in het systeem waar het script in is geimplementeerd alle requirements naloop en ik bewijs dat aan de requirements (per requirement een test uitvoer) is voldaan dan volstaat dit als "acceptatietest"?

Acties:
  • +2 Henk 'm!

  • Louw Post
  • Registratie: Februari 2006
  • Nu online

Louw Post

Cerenas

sytrusze schreef op zondag 30 juni 2019 @ 05:29:
Ahaaa, dus in feite als ik in het systeem waar het script in is geimplementeerd alle requirements naloop en ik bewijs dat aan de requirements (per requirement een test uitvoer) is voldaan dan volstaat dit als "acceptatietest"?
Klopt. :)

Acties:
  • 0 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Duidelijk, danku :)

Dan rest mij nog 1 vraag over unittest: kan ik mijn script zelf opdelen in stukjes en deze apart testen of moet je per se een programma/framework hiervoor gebruiken?

[ Voor 81% gewijzigd door sytrusze op 30-06-2019 10:29 ]


Acties:
  • +4 Henk 'm!

  • Freakertje
  • Registratie: Januari 2002
  • Laatst online: 28-04 10:22

Freakertje

PC schopt kont, ik nog niet...

Informatica op MBO niveau neem ik aan? Om het even in perspectief te krijgen. Ik word wat gekieteld door het woord afstudeerscriptie, dat ken ik alleen van HBO niveau en hoger, dus misschien is de wereld weer veranderd sinds ik de opleiding verlaten heb.
Want op HBO niveau krijg je uiterlijk in het tweede jaar hopelijk toch wel het testvak gedoceerd. Als je toch HBO doet, zou ik erover gaan denken je geld terug te vragen, dan is er daar echt iets goed mis op die opleiding...

Je hebt er voor nu niks meer aan, maar als je hierin wilt verdiepen, overweeg dan eens om het boek TMAP Next te bestellen. Het boek geeft heel veel inzicht in welke testen er bestaan, waarom je ze doet en praktische voorbeelden, helder uitgewerkt. Het helpt je ook in de toekomst om tijdens het programmeren al fouten te voorkomen of ze heel snel te herkennen.
Let wel, qua dikte is de bijbel er niks bij, maar over het algemeen leest het wel vlot weg. Dus als je er meer van wilt weten, zou mijns inziens dit een goed startpunt kunnen zijn.

Succes met schrijven, enneh… probeer niet teveel te faken, maar zo dicht mogelijk bij de waarheid te blijven. Als er niet in je opdracht staat dat er een eindklant / gebruiker dit moest testen, dan zou je kunnen overwegen er eerlijk bij te zitten dat de testresultaten gesimuleerd zijn: je laat zien dat je de materie beheerst, je hebt de casussen uitgeschreven als ware het wel in het echt getest is, maar je vermeld erbij dat er geen echte gebruiker bij betrokken is geweest, al dan niet omkleedt met de redenen waarom en hoe het de volgende keer beter kan (zelfreflectie).

[ Voor 3% gewijzigd door Freakertje op 30-06-2019 10:45 ]

Ik ga een aantal zaken even helemaal anders doen!
Totale Modjesgekte


Acties:
  • +1 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 06-05 17:53

Matis

Rubber Rocket

Wij laten de klant de acceptatie-criteria opstellen, welke we middels behat scripts aftesten.

Unit tests bedenken en schrijven we zelf.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • +2 Henk 'm!

  • Travelan
  • Registratie: Februari 2002
  • Laatst online: 14:35
Freakertje schreef op zondag 30 juni 2019 @ 10:44:
Informatica op MBO niveau neem ik aan? Om het even in perspectief te krijgen. Ik word wat gekieteld door het woord afstudeerscriptie, dat ken ik alleen van HBO niveau en hoger, dus misschien is de wereld weer veranderd sinds ik de opleiding verlaten heb.
Want op HBO niveau krijg je uiterlijk in het tweede jaar hopelijk toch wel het testvak gedoceerd. Als je toch HBO doet, zou ik erover gaan denken je geld terug te vragen, dan is er daar echt iets goed mis op die opleiding...
Het is maar net een kwestie van perspectief. Als het gaat om beroepsonderwijs, dan ben ik het met je eens. Maar als je Informatica/Computer Science studeert aan een universiteit, is dit ook geen onderdeel van het standaard curriculum. Daar gaat het enkel om het academische aspect van de stof, dus gericht op onderzoek en de wetenschap. Daar wordt je niet klaargestoomd voor het bedrijfsleven. Op universitaire opleidingen worden dus vaak geen unit/integratie/etc testen gedoceerd. Iets wat dan het meest in de buurt komt is het analyseren en bewijzen van algoritmes, maar dat is een hele andere tak van sport.
Dit is vaak een enorme valkuil bij bedrijven die vers geslaagde universitaire studenten aannemen. Vaak hebben zij zelfs nog nooit van SCRUM gehoord. En nee, dat is geen fout van 'school'. De opleiding heeft gewoon een hele andere doel dan mensen klaarstomen voor het bedrijfsleven.

Acties:
  • +1 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

Travelan schreef op zondag 30 juni 2019 @ 12:35:
[...]

Het is maar net een kwestie van perspectief. Als het gaat om beroepsonderwijs, dan ben ik het met je eens. Maar als je Informatica/Computer Science studeert aan een universiteit, is dit ook geen onderdeel van het standaard curriculum. Daar gaat het enkel om het academische aspect van de stof, dus gericht op onderzoek en de wetenschap. Daar wordt je niet klaargestoomd voor het bedrijfsleven. Op universitaire opleidingen worden dus vaak geen unit/integratie/etc testen gedoceerd. Iets wat dan het meest in de buurt komt is het analyseren en bewijzen van algoritmes, maar dat is een hele andere tak van sport.
Dit is vaak een enorme valkuil bij bedrijven die vers geslaagde universitaire studenten aannemen. Vaak hebben zij zelfs nog nooit van SCRUM gehoord. En nee, dat is geen fout van 'school'. De opleiding heeft gewoon een hele andere doel dan mensen klaarstomen voor het bedrijfsleven.
Sorry, maar wat?

Goed, persoonlijke ervaring hier van mijn studie, dus ik weet niet hoe het op andere universiteiten gaat, maar:

ik heb genoeg vakken gehad over projectmatig werken, hoe je dat doet, verschillende methode en hoe je dingen oplevert aan klanten. Scrum word genoeg benoemd en er zijn een specifiek vak over testen en softwarekwaliteitscontrole, waarbij we dus ook units en acceptatietesten krijgen. Je krijgt inderdaad niet alles en het word ook niet allemaal in de praktijk gebracht, maar wat je hier stelt gaat niet op elke universiteit op en ik mag eigenlijk hopen dat ik niet op die ene universiteit zit waarbij dit wel word gegeven.

edit: en juist vanuit deze hoek vind ik het ook raar dat TS dus schijnbaar nooit van unit testing heeft gehoord. Ik vind het thuis horen in elke studie en met een scriptie moet je laten zien wat je hebt geleerd. Dat hij nu voor het eerst een unit/acceptatie test tegen komt vind ik dan ook erg raar.

[ Voor 8% gewijzigd door Gropah op 30-06-2019 12:46 ]


Acties:
  • +1 Henk 'm!

  • Travelan
  • Registratie: Februari 2002
  • Laatst online: 14:35
Gropah schreef op zondag 30 juni 2019 @ 12:43:
[...]


Sorry, maar wat?

Goed, persoonlijke ervaring hier van mijn studie, dus ik weet niet hoe het op andere universiteiten gaat, maar:

ik heb genoeg vakken gehad over projectmatig werken, hoe je dat doet, verschillende methode en hoe je dingen oplevert aan klanten. Scrum word genoeg benoemd en er zijn een specifiek vak over testen en softwarekwaliteitscontrole, waarbij we dus ook units en acceptatietesten krijgen. Je krijgt inderdaad niet alles en het word ook niet allemaal in de praktijk gebracht, maar wat je hier stelt gaat niet op elke universiteit op en ik mag eigenlijk hopen dat ik niet op die ene universiteit zit waarbij dit wel word gegeven.

edit: en juist vanuit deze hoek vind ik het ook raar dat TS dus schijnbaar nooit van unit testing heeft gehoord. Ik vind het thuis horen in elke studie en met een scriptie moet je laten zien wat je hebt geleerd. Dat hij nu voor het eerst een unit/acceptatie test tegen komt vind ik dan ook erg raar.
Welke studie bij welke uni volg jij?

Meerdere mensen aangenomen de laatste 20 jaar van meerdere universiteiten waarbij dit probleem naar voren komt. Wat ik wel zie dat met name SCRUM tegenwoordig op zijn minst voorbij is gekomen. Maar nog steeds is de focus niet op het afleveren van kids die het bedrijfsleven in kunnen. En terecht, dat is ook niet een doel van een universiteit.

Acties:
  • Beste antwoord
  • +4 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 09:30

The Eagle

I wear my sunglasses at night

sytrusze schreef op zondag 30 juni 2019 @ 10:20:
Duidelijk, danku :)

Dan rest mij nog 1 vraag over unittest: kan ik mijn script zelf opdelen in stukjes en deze apart testen of moet je per se een programma/framework hiervoor gebruiken?
Beiden kan en mag. Persoonlijk gebruikte ik gewoon excel. Test ummer, testomschrijving, verwachte uitkomst, uitkomst test, voldoet ja/nee, opmerkingen.

Als ik je een paar tips mag geven: maak ze beiden zoals ik ze je noem. Verwijs in je scriptie naar een bijlage met (een voorbeeld van) beide tests er in. Evt met resultaat als je wilt, maar volgens mij gaat het gewoon om dat je het principe snapt. De inhoud boeit niet zo. Kans dat men naar die appendix kijkt is aanwezig, dus moet ergens op lijken. Kans dat men inhoudelijk gaat checken is heel klein, en het uiteindelijke inhoudelijke resultaat van de test boeit al helemaal niet. Inhoudelijk is de docent namelijk niet betrokken bij het traject. Die wil alleen zien dat het gedaan is cq er uberhaupt aan gedacht is.

Qua acctest: je hebt ongetwijfeld een aantal use cases of userstories uit moeten werken vor je begon. Dat is wat business wil en waar ze op zouden testen. "Ik wil dit en dat, het moet dit en dat doen als ik x en y invoer" en dan weer testresultaat, voldoet ja/nee en comments.
Unittest wat simpeler houden, die kan onderhand op variabele niveau, maar zelfde principe.
Moet je met een paar uurtjes typen wel klaar hebben.

Nogmaals: hoeft inhoudelijk niet 100% te kloppen met de werkelijkheid, gaat om het principe.

En voor de mensen die commenten dat het zo in het bedrijfsleven niet gaat: klopt, moet daar gewoon goed zijn en dan laat je hem ook door een collega reviewen enzo. Maar dit is school en om te leren, en hij trekt hier twee lessen uit: hoe het niet moet, en dat ie eerder moet plannen en om hulp vragen. Dus prima, daar is een afstudeeropdracht OOK voor :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • +1 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 01-05 10:36

NMe

Quia Ego Sic Dico.

Modbreak:@sytrusze: Het wordt bepaald niet gewaardeerd dat je mensen via DM gaat lopen benaderen om je werk voor je te doen. Je hebt jezelf in de nesten gewerkt en we willen prima helpen om je probleem op te lossen maar dat zul je uiteindelijk toch écht zelf moeten doen. Je zit op je opleiding om iets te leren en op het allerlaatste moment je werk afschuiven is niet een skill die in het echte leven gewaardeerd wordt. Op GoT ook niet.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • sytrusze
  • Registratie: Mei 2010
  • Laatst online: 23-04 14:20
Duidelijk, bedankt allemaal voor jullie input!

Acties:
  • +1 Henk 'm!

  • bluewater
  • Registratie: Juni 2013
  • Laatst online: 05-05 19:43
Freakertje schreef op zondag 30 juni 2019 @ 10:44:
Je hebt er voor nu niks meer aan, maar als je hierin wilt verdiepen, overweeg dan eens om het boek TMAP Next te bestellen. Het boek geeft heel veel inzicht in welke testen er bestaan, waarom je ze doet en praktische voorbeelden, helder uitgewerkt. Het helpt je ook in de toekomst om tijdens het programmeren al fouten te voorkomen of ze heel snel te herkennen.
Let wel, qua dikte is de bijbel er niks bij, maar over het algemeen leest het wel vlot weg. Dus als je er meer van wilt weten, zou mijns inziens dit een goed startpunt kunnen zijn.
Kleine aanvulling: je kunt ook gebruik maken van het TMap Suite workbook wat gratis te downloaden is via http://www.tmap.net/certification dit workbook is een combinatie van de building blocks, het TMap HD en TMap next boek.

Acties:
  • 0 Henk 'm!

  • Koffie32
  • Registratie: Juni 2017
  • Laatst online: 24-12-2021
Freakertje schreef op zondag 30 juni 2019 @ 10:44:
Informatica op MBO niveau neem ik aan? Om het even in perspectief te krijgen. Ik word wat gekieteld door het woord afstudeerscriptie, dat ken ik alleen van HBO niveau en hoger, dus misschien is de wereld weer veranderd sinds ik de opleiding verlaten heb.
Want op HBO niveau krijg je uiterlijk in het tweede jaar hopelijk toch wel het testvak gedoceerd. Als je toch HBO doet, zou ik erover gaan denken je geld terug te vragen, dan is er daar echt iets goed mis op die opleiding...

Je hebt er voor nu niks meer aan, maar als je hierin wilt verdiepen, overweeg dan eens om het boek TMAP Next te bestellen. Het boek geeft heel veel inzicht in welke testen er bestaan, waarom je ze doet en praktische voorbeelden, helder uitgewerkt. Het helpt je ook in de toekomst om tijdens het programmeren al fouten te voorkomen of ze heel snel te herkennen.
Let wel, qua dikte is de bijbel er niks bij, maar over het algemeen leest het wel vlot weg. Dus als je er meer van wilt weten, zou mijns inziens dit een goed startpunt kunnen zijn.

Succes met schrijven, enneh… probeer niet teveel te faken, maar zo dicht mogelijk bij de waarheid te blijven. Als er niet in je opdracht staat dat er een eindklant / gebruiker dit moest testen, dan zou je kunnen overwegen er eerlijk bij te zitten dat de testresultaten gesimuleerd zijn: je laat zien dat je de materie beheerst, je hebt de casussen uitgeschreven als ware het wel in het echt getest is, maar je vermeld erbij dat er geen echte gebruiker bij betrokken is geweest, al dan niet omkleedt met de redenen waarom en hoe het de volgende keer beter kan (zelfreflectie).
toon volledige bericht
Toch even hier op reageren hoor.

Ik vindt het een erg botte opmerking. Zeker wanneer je je iets verder gaat verdiepen in testen kom je er achter dat dat wat jij hebt geleerd op het HBO ook maar beperkt is. Er wordt over het algemeen niet behandeld hoe je je tests kunt testen (mutatietesten).

Hoewel je op het HBO dus meestal leert hoe je een test moet schrijven weet ik uit ervaring dat er voldoende mensen op het HBO rondlopen die niet weten hoe ze een goede test moeten schrijven.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Nu online
Koffie32 schreef op woensdag 7 augustus 2019 @ 12:56:
[...]

Toch even hier op reageren hoor.

Ik vindt het een erg botte opmerking. Zeker wanneer je je iets verder gaat verdiepen in testen kom je er achter dat dat wat jij hebt geleerd op het HBO ook maar beperkt is. Er wordt over het algemeen niet behandeld hoe je je tests kunt testen (mutatietesten).

Hoewel je op het HBO dus meestal leert hoe je een test moet schrijven weet ik uit ervaring dat er voldoende mensen op het HBO rondlopen die niet weten hoe ze een goede test moeten schrijven.
Deductive reasoning is lastig voor mensen, en daardoor is het testen (en schrijven daarvan) lastig.

Ter illustratie:

Ik heb een bak met kaarten. Aan de ene kant van de kaart staat een letter, en aan de andere kant van de kaart een cijfer.

Ik beweer: als de op de kaart een D staat, staat er een 3 op.

Nu heb ik 4 kaarten waarbij een kant zichtbaar is:
A
D
3
7

Welke kaarten moeten er minimaal omgedraaid worden om te kijken of de bewering kloptstand houdt?

spoiler:
Het goede antwoord is: de D en de 7

[ Voor 0% gewijzigd door ThomasG op 07-08-2019 13:29 . Reden: correctie ]


Acties:
  • 0 Henk 'm!

  • Koffie32
  • Registratie: Juni 2017
  • Laatst online: 24-12-2021
@ThomasG variant op de Wason selection test (al hoort aan een van de zijden volgens mij een verzameling van mogelijkheden te staan).

Als de op de kaart een D staat, staat er een 3 op.

A - De bewering beweert niet over de letter A. Controle is dus niet nodig.
D - Als op de andere zijde geen 3 staat klopt de bewering niet. Controle is dus nodig.
3 - Als op de andere zijde geen D staat klopt de bewering niet. Controle is dus nodig.
7 - De bewering beweert niets over het cijfer 7. Controle is dus niet nodig.

Dit gaat alleen niet op bij unit tests omdat hier het succes scenario ook moet worden getest.

Ik zie net dat jij zegt dat dit fout is en je de D en 7 moet controleren. Kun je hier uitleg bij geven?

[ Voor 6% gewijzigd door Koffie32 op 07-08-2019 14:05 ]


Acties:
  • +1 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Nu online
Koffie32 schreef op woensdag 7 augustus 2019 @ 13:59:
@ThomasG variant op de Wason selection test.

Als de op de kaart een D staat, staat er een 3 op.

A - De bewering beweert niet over de letter A. Controle is dus niet nodig.
D - Als op de andere zijde geen 3 staat klopt de bewering niet. Controle is dus nodig.
3 - Als op de andere zijde geen D staat klopt de bewering niet. Controle is dus nodig.
7 - De bewering beweert niets over het cijfer 7. Controle is dus niet nodig.

Dit gaat alleen niet op bij unit tests omdat hier het succes scenario ook moet worden getest.

Ik zie net dat jij zegt dat dit fout is en je de D en 7 moet controleren. Kun je hier uitleg bij geven?
De bewering is dat als er een D op staat, er een 3 op staat. Dus: als D, dan 3. Het zegt verder niets over de 3. Het is dus fout om te denken: dus als 3, dan D; want dat wordt niet beweert. Wat er dus aan de andere kant van de 3 staat, maakt niet uit; het heeft geen invloed op de bewering. De 7 moeten we wel omdraaien, als er aan de andere kant namelijk een D staat ontkracht dat de bewering: als D, dan 3.

Acties:
  • 0 Henk 'm!

  • Koffie32
  • Registratie: Juni 2017
  • Laatst online: 24-12-2021
ThomasG schreef op woensdag 7 augustus 2019 @ 14:05:
[...]
De bewering is dat als er een D op staat, er een 3 op staat. Dus: als D, dan 3. Het zegt verder niets over de 3. Het is dus fout om te denken: dus als 3, dan D; want dat wordt niet beweert. Wat er dus aan de andere kant van de 3 staat, maakt niet uit; het heeft geen invloed op de bewering. De 7 moeten we wel omdraaien, als er aan de andere kant namelijk een D staat ontkracht dat de bewering: als D, dan 3.
Bedankt. Duidelijke uitleg. Leesvaardigheid is niet altijd mijn sterkste kant blijkt maar weer.

Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Nu online
Koffie32 schreef op woensdag 7 augustus 2019 @ 14:13:
[...]

Bedankt. Duidelijke uitleg. Leesvaardigheid is niet altijd mijn sterkste kant blijkt maar weer.
Dat komt niet zozeer door leesvaardigheid. De eerste reactie van de meeste mensen is namelijk de D en de 3. Terwijl als je er dieper over na denkt uiteindelijk bij de D en de 7 uitkomt.

Dit zelfde gebeurt bij het schrijven van software, het schrijven van (unit) tests, e.d. Het is lastig voor mensen, en onze eigen intuïtie zet ons op het verkeerde been. Het resultaat is incorrecte software, en/of incorrecte tests.

Nu was dit een redelijk eenvoudig voorbeeld, maar je ziet hoe makkelijk het fout kan gaan. Als je je vervolgens realiseert dat het testen voor veel mensen een bijzaak waar ze niet veel aandacht aan besteden (als het al gedaan wordt)...

Acties:
  • 0 Henk 'm!

  • Koffie32
  • Registratie: Juni 2017
  • Laatst online: 24-12-2021
ThomasG schreef op woensdag 7 augustus 2019 @ 14:34:
[...]
Dat komt niet zozeer door leesvaardigheid. De eerste reactie van de meeste mensen is namelijk de D en de 3. Terwijl als je er dieper over na denkt uiteindelijk bij de D en de 7 uitkomt.

Dit zelfde gebeurt bij het schrijven van software, het schrijven van (unit) tests, e.d. Het is lastig voor mensen, en onze eigen intuïtie zet ons op het verkeerde been. Het resultaat is incorrecte software, en/of incorrecte tests.

Nu was dit een redelijk eenvoudig voorbeeld, maar je ziet hoe makkelijk het fout kan gaan. Als je je vervolgens realiseert dat het testen voor veel mensen een bijzaak waar ze niet veel aandacht aan besteden (als het al gedaan wordt)...
Vandaar gewoon mutatietesten en op basis van de mutanten die overleven bepalen of dat een valide test betreft.

Acties:
  • 0 Henk 'm!

  • Freakertje
  • Registratie: Januari 2002
  • Laatst online: 28-04 10:22

Freakertje

PC schopt kont, ik nog niet...

Koffie32 schreef op woensdag 7 augustus 2019 @ 12:56:
[...]

Toch even hier op reageren hoor.

Ik vindt het een erg botte opmerking. Zeker wanneer je je iets verder gaat verdiepen in testen kom je er achter dat dat wat jij hebt geleerd op het HBO ook maar beperkt is. Er wordt over het algemeen niet behandeld hoe je je tests kunt testen (mutatietesten).

Hoewel je op het HBO dus meestal leert hoe je een test moet schrijven weet ik uit ervaring dat er voldoende mensen op het HBO rondlopen die niet weten hoe ze een goede test moeten schrijven.
Verklaar eens wat er bot aan is?
Ik leg mijn aanname in de week dat het op MBO niveau is en geef aan dat op het HBO deze termen bekend en uitlegbaar verondersteld worden. Je kunt er een denigrerende toon in lezen als je dat wilt, het is maar net of je dat brilletje op hebt staan of niet.

Als we het over staartdelingen hebben, en de TS geeft aan deze term niet te kennen, dan neem ik ook aan dat hij in groep 3 zit, en niet in groep 5, omdat je het daar verondersteld wordt te kennen en kunnen doen. Dat je het in groep 7/8 dan pas echt goed in de vingers hebt, heeft daar dan toch niks mee van doen?

We zijn hier toch niet op de tenen getrapt, omdat er mogelijk een denigrerende toon was van een HBO'er richting het MBO? Dat is zooooo… de 'racisme'kaart spelen ;)
Wederom, aanname van wat er hier mogelijk aan de hand is. Maar ik heb werkelijk geen idee wat er bot aan is. Misschien omdat ik sowieso geen zachte heelmeester ben. Iets met stinkende wonden ;)

En ter geruststelling, die casus van ThomasG had ik ook gewoon fout. De A, D en 3 had ik goed, de 7 niet. Maar ik doe dan ook al jaren niks meer met testen, dus allang blij dat ik die 3 wel goed had uitgelegd :)

[ Voor 6% gewijzigd door Freakertje op 07-08-2019 20:18 ]

Ik ga een aantal zaken even helemaal anders doen!
Totale Modjesgekte


Acties:
  • 0 Henk 'm!

  • ThomasG
  • Registratie: Juni 2006
  • Nu online
Freakertje schreef op woensdag 7 augustus 2019 @ 20:13:
[...]

En ter geruststelling, die casus van ThomasG had ik ook gewoon fout. De A, D en 3 had ik goed, de 7 niet. Maar ik doe dan ook al jaren niks meer met testen, dus allang blij dat ik die 3 wel goed had uitgelegd :)
Als je het aan mensen voorlegt is de eerste reactie bijna altijd: de D en de 3. Of nog erger: allemaal. Alles testen is onrealistisch, en ook onnodig. Dat de D getest moet worden ziet vrijwel iedereen wel. Maar dat vervolgens de de 7 getest moet worden, daar moet je toch even over na denken.

Als er business logic getest moet worden, of geïmplementeerd moet worden, krijg je ook met zulke cases te maken hetzij dat de context anders is.

De valkuil is vooral als het abstracter wordt. Als je iets stelt als: als D, dan 3, denkt met al snel: dus als 3, dan D terwijl dat onjuist is.

[ Voor 97% gewijzigd door ThomasG op 08-08-2019 09:52 . Reden: Ik moet beter lezen ]

Pagina: 1