Commit dc0e67b6 by Werner Westerkamp
parents d0344c09 1efb126e
\chapter{Testing / Code-Qualität }
\chapter{Code-Qualität }
\label{chapter:testing}
In diesem Kapitel befassen wir uns mit der Qualität und der Absturzsicherheit der implementierten Features.
\section{Find Bugs}
Um in der Benutzung keine Programmabstürze durch Programmierfehler zu erhalten wurde der Code mit Findbugs überprüft. % Kurze Erklärung, was Findbugs ist, welche Fehler es finden kann und am besten eine Quellenangabe für das Literaturverzeichnis
Alle Fehlerquellen die Findbugs untersucht, sind in dem Code beseitigt worden.
Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben. % Du solltest erklären warum dieses nicht gemacht wurde.
Das Parsen der XML Dokumente im ResultHandler ist hier insbesondere überprüft worden. %``Hier'' im JHotDraw GUI oder wo?
Viele Felder sind optional und werden im CSDAdapter und im SBA ausgelesen.
Um in der Benutzung keine Programmabstürze durch Programmierfehler zu erhalten wurde der Code mit Findbugs \cite{FB} überprüft.
Findbugs untersucht den Java bytecode nach Bug Patterns.
Vermutliche Fehler z.B. Nullpointer oder auch schlechter Stil wie == Operator anstelle der equels Methode wird von der Bibliothek erkannt und dem Nutzer zur Verbesserung vorgeschlagen.
In der Implementierung wurden alle Anmerkungen von Findbugs behoben.
Lediglich die Fehler in der JHotDraw GUI Bibliothek, auf dem der SBA aufbaut, wurden nicht behoben.
Es ist ein exaktes Verständnis vom gesamten JHotDraw Frameworks von Notwendigkeit um z.B. die gefundenen Bitmaskenfehler zu beheben.
Das Parsen der XML Dokumente im ResultHandler der CSDCommons Bibliothek ist insbesondere überprüft worden.
Viele Felder des XML Dokuments der CSD sind optional und werden im CSDAdapter und im SBA ausgelesen.
Es muss also immer darauf geachtet werden, ob die Informationen vorhanden sind und auch verwendet werden können.
Bei der Nutzereingabe zum Schreiben in die CSD wird die Richtigkeit und Notwendigkeit der einzelnen Felder direkt bei der Eingabe überprüft.
Übergibt man ein unvollständiges XML Dokument an die Isaac.lib, so wirft diese Fehler.
Um das zu vermeiden, kann der Nutzer die Anfrage nicht absenden, bevor alle Eingaben korrekt erfolgt sind.
\section{Testing}
Die Testcases das CSDAdapters sind erhalten geblieben. % Es waren also schon vorher welche vorhanden. Mussten dies angepasst werden, damit man sie weiternutzen kann? Wieviele Testcases sind im Testset?
Das Parsen des XML Dokuments im SBA und im CSDAdapter unterscheidet sich nur unwesentlich % stimmt es noch nach meiner Änderung?
Die Testcases die im CSDAdapters vorhanden waren sind in die aktuelle Implementierung übertragen worden.
Zum testen werden einige XML Dokumente vom Dateisystem geladen und an den ResultHandler übergeben.
\todo{testcases überprüfen}
Das Parsen des XML Dokuments im SBA und im CSDAdapter wird fast komplett durch dir abstrakte Implementierung in der CSDCommons Bibliothek übernommen.
Dieser Teil des Codes wird dementsprechend in den Testcases des CSDADapters
und ist hauptsächlich im allgemeinen ResultHandler der CSDCommons Bibliothek enthalten.
Dieser Test ist also durch den Test des CSDAdapters abgedeckt. Deshalb wurden für den SBA keine eigenen Testcases erstellt.
\todo{überhaupt testing?}
\todo{überhaupt testing als Kapittel}
......@@ -26,6 +26,10 @@
note = {Stand: 2015-03-03}
}
@misc{FB, title = {FindBugs,
howpublished = {\url{http://findbugs.sourceforge.net/}}, note = {Stand: 2015-03-03} }
@Mastersthesis{Tim,
type = {Bachelor Thesis},
author = {Tim Reiter},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment