Results 1 to 13 of 13

Thread: Ik heb geen unit-tests nodig

  1. #1

    Ik heb geen unit-tests nodig

    Tja. Ik maak gewoon nooit fouten, dus ik heb al die tests niet nodig. Gewoon code tikken, compilen en live zetten.

    Deze opmerking is afkomstig uit de thread Service stopt wanneer het hem uitkomt.
    Last edited by GolezTrol; 12-Jun-14 at 16:10.
    1+1=b

  2. #2
    Senior Member
    Join Date
    Dec 2006
    Location
    Kruishoutem, Vlaamse Ardennen
    Posts
    1,134
    Ah? Zo zoeken we er nog enen. Zin om naar België te verhuizen?

  3. #3
    Senior Member ErikB's Avatar
    Join Date
    Aug 2010
    Location
    Biddinghuizen
    Posts
    466
    Tja. Ik maak gewoon nooit fouten, dus ik heb al die tests niet nodig. Gewoon code tikken, compilen en live zetten.
    helemaal goed !
    wij hadden vroeger in het team ook zo'n uitspraak:
    "komt het door de compiler dan kun je gewoon uitleveren"
    Erik

  4. #4
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,555
    Jos heeft ook bovenin al zijn units staan:
    Delphi Code:
    1. {$HINTS OFF}
    2. {$WARNINGS OFF}
    TMemoryLeak.Create(Nil);

  5. #5
    Quote Originally Posted by VideoRipper View Post
    Jos heeft ook bovenin al zijn units staan:
    Delphi Code:
    1. {$HINTS OFF}
    2. {$WARNINGS OFF}
    Nee hoor. Dat hoeft niet, want ik krijg toch nooit warnings.

    Ons motto: "Het compileert! Shippen!" Dat was overigens de primaire reden om het boek Ship It! te kopen: de titel.
    1+1=b

  6. #6
    Wel jammer dat onze favoriete tool maker die filosofie heeft aangenomen, met nu 2 tot 3 betaalde bugfixes per jaar.

  7. #7
    Jan
    Join Date
    Oct 2007
    Location
    Mijdrecht
    Posts
    906
    Unittest is leuk, maar systeem- en regressietesten zijn saai

  8. #8
    Ik ga er toch ff serieus op in

    Ik zie unittesten eigenlijk niet eens als extra werk, in tegendeel. Als ik bijvoorbeeld een XML orderbestand moet gaan inlezen is het wel handig als ik weet wat de uitslag moet zijn. Dus ik schrijf de test waar ik de (nog lege) klasse aanroep en vervolgens controleer of de nieuwe order is aangemaakt, de bedragen kloppen en het mailtje in postvak uit staat, kortom alles wat ik normaal visueel zou controleren. De test faalt, de klasse was immers nog leeg. Daarna ga ik de klasse bouwen en als de test groen is is het inlezen klaar.

    De unittest start ik met één druk op de knop, als ik dan mensen hun hele programma 30x zie doorworstelen om tijdens de bouw te controleren of de order goed is ingelezen dan weet ik wel wat ik fijner vind.

    Als er vervolgens een wijziging komt (we doen voortaan overal 5% toeslag op) pas ik als eerste de test aan. De test faalt, ik moet het immers nog bouwen, en daarna ga ik de klasse aanpassen. Alle zaken die al in de test staan worden ook nog steeds gecontroleerd, dus ik weet zeker dat ik niks heb gewijzigd wat niet de bedoeling was. Dus de nieuwe versie kan zonder zenuwen live worden gezet.

    Als er een fout wordt gemeld dat een bepaald XML bestand niet goed wordt ingelezen (het bedrag is te laag) maak ik een unittest die dat bestand inleest en controleert het op juiste bedrag. De test faalt (of de klant had een onterechte melding gedaan ) en ik pas de klasse aan tot ook deze order goed gaat. Ook hier blijven de originele tests weer draaien, dus weet ik zeker dat ik niks stuk heb gemaakt.

    Ik ben eigenlijk wel benieuwd hoe mensen die geen unit tests gebruiken hiermee omgaan. Houden jullie dan een lijstje bij wat je moet controleren als je iets wijzigt, of test je bij een nieuwe versie altijd de hele software door?
    Marcel

  9. #9
    Even deze thread nieuw leven inblazen...

    Wij maken volop gebruik van DUnitX. Voordeel is m.n. dat je testcases kunt definieren en dat je testclass een overerving kan zijn van je te testen class, wat soms handig is.

    Het allergrootste voordeel van unit testen, is uiteraard de foutcontrole die je hebt na code aanpassingen. De ervaring leert echter ook dat het ook helpt om je code beter gestructureerd en testbaar op te zetten, waardoor het ook beter onderhoudbaar is.

    Het boek van Nick Hodges, Coding in Delphi, is een aanrader (overigens niet alleen voor dit topic!).

  10. #10
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,180
    Wat vinden jullie hiervan:
    Code:
    {$MACRO ON}
    {$DEFINE EXCEPTION :=}
    {$DEFINE ON:E:=}
    Nah, werkt niet.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  11. #11
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,248
    Quote Originally Posted by Marcel View Post
    Ik ben eigenlijk wel benieuwd hoe mensen die geen unit tests gebruiken hiermee omgaan. Houden jullie dan een lijstje bij wat je moet controleren als je iets wijzigt, of test je bij een nieuwe versie altijd de hele software door?
    We zorgen voor een terug migreer mogelijkheid, en laten het een paar uur lopen. De kern functionaliteit is dan redelijk zeker. En altijd zorgen voor een fallback/ migreer terug mogelijkheid.

    Het probleem is altijd dat met klakkeloos ervan uitgaat dat unittests een probleem wel gevonden zouden hebben. Afhankelijk van de situatie kan die kans echter nogal klein zijn, en het onderhoud van de unittests groot (zie originele test).

    Voor sommige delen heb ik wel tests, maar dat zijn meer regressie tests dan unittests. (oftewel tests op basis van dingen die fout gegaan zijn en relatief veel schade (lees lastige, langzame detectie) veroorzaken, niet tests die vooraf met droge ogen bedacht zijn)

    Bronnen die de gevestigde gevoelens bevestigen zijn er te over. Bronnen die er op een praktische manier kritisch op zijn, zijn zeldzaam.

  12. #12
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,180
    Marco, om een unit test te schrijven moet je ook weten wat je test. Jij weet dat meestal, maar de gemiddelde programmeur heeft echt geen clou. Die test op wat hij weet dat al werkt. Maakt ook niet uit hoe ze zijn opgeleid. Zucht.
    Utopia is een mooi land.... Ik ben het van harte met je eens.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

  13. #13
    Senior Member Thaddy's Avatar
    Join Date
    Dec 2004
    Location
    Amsterdam
    Posts
    2,180
    En een leuk dun boekje.. Thomas Mo(o)re schreef goede unit tests
    Last edited by Thaddy; 20-Aug-16 at 18:04.
    Werken aan Ansi support voor Windows is verspilde tijd, behalve voor historici.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •