In der Übersicht
Funktionale Software Bugs verhindern die korrekte Ausführung einer Anwendung: Entweder tritt ein Fehler auf oder eine erforderliche Funktion der Anwendung wird nicht ordnungsgemäss ausgeführt. Diese Art von Fehler kann mit Unit-Tests erkannt werden. Nicht-funktionale Bugs, mit denen wir uns in diesem Projekt beschäftigen, sind Fehler, die die korrekte Ausführung nicht verhindern, sondern ungewollte Auswirkungen haben. Beispielsweise verhindert ein von einem anderen UI-Element verdeckter Button nicht die Ausführung von Testcode, da der Testcode die ID des Buttons kennt und ihn daher noch anklicken kann. Der Test läuft durch und der Fehler wird nicht erkannt. In diesem Projekt evaluieren wir neuartige Methoden, die auf Unsupervised Machine Learning basieren, um solche Nicht-funktionalen Bugs in Benutzeroberflächen automatisch und ohne spezifischen Testcode zu erkennen.