Show Menu

Testarten Cheat Sheet by

Kurze Beschreibung von Testarten der Softwareentwicklung
test     softwaretest     qs

Property based Testing

Grundk­onzept

Beim Property (im Sinne von Eigens­chaft des zu prüfenden Algori­thmus oder Moduls) basierten Testen wird der Testge­gen­stand (Modul, Klasse, Methode, Funktion, ...) mit zufälligen Eingan­gsw­erten oder Parametern aufgerufen und geprüft ob die result­ier­enden Ausgab­ewerte oder Rückga­bewerte den Eigens­chaften des Testge­gen­standes entspr­echen.

Beispiel.
Eine Methode zur Zerlegung einer Zahl in Primfa­ktoren wird mit zufälligen Werten aufger­ufen. In der Assertion wird die Gegeno­per­ation genutzt um die Korrek­theit zu prüfen. Es werden also alle ermitt­elten Primfa­ktoren nachei­nander multip­liziert und dann geschaut ob die ursprü­ngliche Zahl wieder heraus­kommt.

Die meisten Tools bieten Möglic­hkeiten die Menge der Testwerte einzus­chr­änken. Beispi­els­weise nur ganze Zahlen als Eingab­ewerte für die Primfa­kto­ren­zer­legung zu nutzen.

Die Werteb­ereiche welche bei der Einsch­ränkung der Testwerte ausgeg­renzt wurde muss durch andere Testve­rfahren abgesi­chert werden. Beispi­els­weise könnte ein Floating Parameter zu einer Exception führen, deren Werfen durch einen EBT (Example based Test) abgeprüft wird.
 

Mutati­onstest - Wie gut sind meine Unittests?

Grundk­onzept

Generell lassen sich viele Unittests schreiben. Die Erfahrung zeigt, dass einige davon immer grün sind, manche am Monatsende oder an speziellen Tagen im Jahr rot werden, manche bei Infras­tru­ktu­rpr­oblemen den build brechen.

Auch zeigt sich im Laufe der Zeit, dass die Anwendung erfolg­reich betrieben wird und dennoch kleinere Fehler enthält und das obwohl die Kodeco­verage bei über 95% lag.

Der Grund ist, dass der Kode trotz hoher Kodeab­deckung nicht vollst­ändig vor Fehlern beim Refact­oring oder bei der Einarb­eitung neuer Fachli­chkeit, geschützt ist.

Hier kommen die Mutati­ons­tests ins Spiel. Sie führen die normale Testsuite aus und merken sich deren Ergebn­isse. Dann modifi­zieren sie den produk­tiven Kode und schauen ob ein Test rot geworden ist und diese Mutation entdeckt hat. Falls nicht ist eine Lücke in der Testab­deckung gefunden wurden.

Vorteil:

* Bestimmung der Testqu­alität möglich

Nachteil:

* Die Laufzeit der Tests verdoppelt sich mindes­tens, da jetzt die Suite mindestens zwei mal, wenn nicht noch mehrmals durchl­aufen werden lassen muss.

Download the Testarten Cheat Sheet

1 Page
//media.cheatography.com/storage/thumb/funthomas424242_testarten.750.jpg

PDF (recommended)

Alternative Downloads

Share This Cheat Sheet!

 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          More Cheat Sheets by FunThomas424242

          TV Empfang Cheat Sheet