Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.

testing

maSchoeller edited this page Mar 27, 2020 · 1 revision

Testing Richtlinien

  1. Wer testet?

    Jeder testet seinen eigenen Code. Hierfür bietet sich das Behavior-Driven-Development an. Hier werden vor der Entwicklung für jede Klasse oder Methode in abstrakten Sätzen Verhaltensbeschreibungen anhand von Beispielen definiert. Aus diesen können später dann Testfälle abgeleitet und implementiert werden.

  2. Wie wird getestet?

    Aufgrund von Punkt 1 ist es sinnvoll die Unit-Testing Methode zu verwenden. Es soll für möglichst jede geschriebene Methode oder Klasse ausreichend Tests geschrieben werden, die diese auf ihre Funktionen überprüfen. Hierbei sollen auch verschiedene Fälle beachtet werden. Ist eine Methode beispielsweise dafür zuständig ein JSON Objekt auszulesen, soll auch überprüft werden wie sich die Methode verhält, wenn ein Syntax Fehler oder ähnliches auftritt. So sollen in den Tests nicht nur if/else Bedingungen, sondern auch Exception Handling überprüft werden.

  3. In welchem Umfang wird getestet?

    Als Maß für den Umfang des Testings bietet sich die Code Coverage an. So soll das gesamte Projekt und auch die einzelnen Features nie unter eine Code Coverage von 75% kommen.

  4. Verantwortlichkeit der Reviewer

    Soll ein neues Feature in den Master Branch gemerged werden, so ist vom entsprechenden Reviewer im Pull Request zu überprüfen, ob die einzelnen Klassen ausreichend getestet sind und das gesamte Feature eine Coverage von 75% nicht unterschreitet. Anschließend soll bei zu wenig Tests eine Rückmeldung und anschließende Nacharbeit durch den Programmierer erfolgen.

  5. Verantwortlichkeit des Programmierers

    Der Programmierer, der die Tests zu seinem Feature schreibt ist dafür verantwortlich, das jeder geschriebene Test fehlerfrei durchläuft und ausreichend Testmethoden geschrieben sind.

  6. Benennung der Testfälle

    Der Name eines Tests soll aus drei Teilen bestehen, um möglichst explizit die Absicht des Tests auszudrücken:

    • Name der getesteten Methode
    • Bedingungen unter denen getestet wird
    • Erwartetes Verhalten bei Aufrufung des Szenarios

    Quelle: Microsoft Docs

  7. Inhalt der Testfälle

    Der Inhalt der Tests soll möglichst einfach und übersichtlich aufgebaut sein. So sind mehrere Assert Anweisungen und Verschachtelungen möglichst zu vermeiden. Auch die verwendeten Eingaben der Komponententests sollen so einfach wie möglich gehalten werden. So soll beispielsweise beim Testen einer Rechenmethode eine niedrige Zahl und keine mehrstellige Zahl verrechnet werden.

Clone this wiki locally