\section{Automatisiertes Testen}

Um Flutter-Anwendungen automatisiert testen zu können, bestehen in Flutter die drei Testkategorien \textcquote[21]{testingThesis}{unit testing, widget testing [...][und] integration
testing}.

Unit-Tests werden zum automatisierten Testen einzelner Funktionen oder Klassen eingesetzt. Tests werden dabei als Lambda-Funktion konstruiert. Mit mitgelieferten Werkzeugen, lassen sich Werte darauf überprüfen, ob sie den erwarteten Wert entsprechen.

Widget-Tests testen einzelne oder mehrere Widgets darauf, ob sie dem gewünschten Verhalten entsprechen. Die Widget-Tests können dabei ohne die Verwendung eines iOS- oder Android-Simulator innerhalb von Flutter getestet werden. \autocite{flutterTesting} Dafür existieren diverse Werkzeuge in der Flutter-Testing-Bibliothek, womit sich Widgets erstellt werden können oder bestimmte Eigenschaften von Widgets überprüft werden können.

Integration-Tests testen die Anwendung als ganzes und prüfen somit, ob die jeweiligen Komponenten auch korrekt untereinander funktionieren. \autocite[21]{testingThesis} Diese Art von Tests sind allerdings für die Evaluation nicht relevant und werden daher nicht näher behandelt.