Lokalisierte Fehler dokumentieren
Bei der Entwicklung oder Fehleranalyse kommt es vor, dass ein Fehler zwar lokalisiert wird, dafür aber keine Fehlerbehebung vorgenommen wird oder werden kann. Oft ist zu diesem Zeitpunkt bereits ein Unit Test entstanden, der für spätere Analysen/Änderungen hilfreich ist. Hier soll ein Verfahren beschrieben werden, mit dem diese fehlerreproduzierenden Unittests qualifiziert werden können.
Design
Die Implementierung des Musters erfolgt durch Attribute und Benennung der Unittestmethode.
Implementierung
Die fehlerreproduzierende Methode sollte mit dem NUnit Attribut Explicit
versehen werden. Dieses bewirkt, dass der Unittest im NUnit mit einem grauen Punkt dargestellt wird. Zusätzlich sollte dem Testnamen ein Bug vorangestellt werden. Ein Verweis auf den Fehlerreport ist in der Dokumentation zu hinterlegen. Außerdem sollte die Kennung des Reports im beschreibenden Text des Explicit
-Attributs wiederholt werden. Dort sollte auch dokumentiert werden, wann mit einer Behebung zu rechnen ist.
/// <summary> /// Prüft, ob der Eimer voll bleibt. /// </summary> /// <remarks> /// <para>Siehe ABC-1215 'Eimer leert sich ständig'.</para> /// </remarks> [Test] [Category(TestCategory.Bug)] [Explicit("ABC-1215 Neue Eimerversion ist bestellt. Behebung erfolgt nach Update.")] public void BugBucketStaysFull() { // ... }
Nach Korrektur des Fehlers ist dann entsprechend die Testkategorie anzupassen und das Bug im Namen zu entfernen. Damit hat man dann gleich auch einen Regressionstest.