Herzlichen Dank an José Campos, dass er QF-Test für seinen Kurs "Verifikation und Validierung" ausgesucht hat und außerdem freuen wir uns, dass wir das Feedback der Student:innen hier veröffentlichen dürfen.
Wir stellen gerne kostenfreie Testlizenzen für Forschung, Lehre, open-source & gemeinnützige Projekte zur Verfügung
Mit der Durchführung einfacher Tests haben wir leicht den Einstieg in QF-Test gefunden.
Das Tool war für das modellbasierte Testen sehr nützlich, aber es gab auf dem Weg dorthin einige Probleme, die hauptsächlich auf Fehler zurückzuführen waren. Die Anwendung, die wir testeten, hatte einige Funktionen, die das Tray-Menü betrafen. Aufgezeichnete Aktionen, die eine Interaktion mit dem Tray-Symbol beinhalteten, waren nicht zuverlässig, da sie nur manchmal funktionierten.
Der Hauptkritikpunkt bei der Verwendung von QF-Test ist die Schwierigkeit, den Test mit einem Teamkollegen zu teilen. Der Speicherort der jar-Datei ist als absoluter Pfad fest kodiert und wir haben keine Möglichkeit gefunden, diesen Pfad zwischen verschiedenen Systemen/Computern dynamisch zu machen. Wenn wir also auf einem anderen Rechner programmierten, mussten wir diese Pfade neu konfigurieren. Im Großen und Ganzen war die Erfahrung positiv, mit Ausnahme des Problems mit dem JAR-Dateipfad der Anwendung.
Das QF-Test-Tool erwies sich als vielversprechend für die Automatisierung von Tests von Benutzeroberflächen. Ein Problem, das nicht direkt mit der Testerstellung zusammenhängt, aber auf das wir gestoßen sind, war, dass bei Monitoren mit hohem DPI-Wert einige Workarounds erforderlich waren, um die Anwendung vernünftig auszuführen.
Wir sind der Meinung, dass das QF-Test-Tool ziemlich gut ist und der Installationsprozess unkompliziert war. Wir haben es nicht geschafft, das Tool mit dem Setup-Tool zum path hinzuzufügen, also mussten wir die ausführbare Datei in den Projektdateien finden und sie über das Terminal ausführen. Wir sind der Meinung, dass dieser Teil der Benutzerfreundlichkeit noch verbessert werden könnte.
Das Tool war sehr intuitiv zu bedienen. Allerdings konnten wir nicht herausfinden, wie wir überprüfen konnten, ob die Suchleiste unsichtbar war, da die Variable visible immer noch als true angezeigt wurde, auch wenn keine Leiste auf dem Bildschirm zu sehen war.
Tatsächlich hat uns die Funktionsweise des Tools sehr gut gefallen: Wir können Übergänge und Zustände sowie jedes einzelne Detail dessen, was wir während der Aufzeichnung tun (Klicks, Kontrollen, Eingaben usw.), problemlos testen. Unsere Gruppe hat nicht alle Funktionen des Tools genutzt, aber die, die wir verwendet haben, waren perfekt für unsere Zwecke.
Wir möchten einen Vorschlag zum Tool machen: Wir glauben, dass es eine symbiotische Verbesserung ist, wenn Ihr QF-Test-Tool in eine IDE integriert werden kann. Wir wollen damit nicht sagen, dass das Tool schwer zu verstehen oder zu bedienen ist (es ist zum Beispiel super intuitiv), aber wir denken, dass dies die Nutzung für viele andere Leute, die vielleicht nicht einmal von der Existenz des Tools wissen, erleichtern und fördern könnte.
Nachdem wir QF-Test zur Erstellung von Testsuiten für das Projekt verwendet haben, halten wir es für sehr gut vorbereitet und nützlich. Trotz anfänglicher Verwirrung bei der Einrichtung ist es uns mit Hilfe des Schnellstart-Assistenten gelungen, das volle Potenzial des Tools im Rahmen unseres Projekts zu nutzen. Das einzige Problem, auf das wir gestoßen sind, war, dass wir den Pfad der ausführbaren Datei jedes Mal ändern mussten, wenn wir zwischen verschiedenen Geräten wechselten. Wir verwendeten den vollständigen Pfad, da wir nicht wussten, wie man einen relativen Pfad richtig einbindet.
Die Ersteinrichtung und die Integration in unser Projekt waren einfach und der Assistent funktionierte wie vorgesehen. Wir konnten keine Möglichkeit finden, einen relativen Pfad für den jar-Pfad zu verwenden. Das bedeutete, dass wir auf den verschiedenen PCs den Assistenten jedes Mal ausführen mussten, wenn jemand die Tests änderte. Danach war die Schrittaufzeichnung intuitiv, und wir hatten keine Probleme mehr. Wir stellten fest, dass das Ziehen und Ablegen von Testschritten im linken Menü wie vorgesehen funktionierte, ebenso wie das Kopieren, Ausschneiden und Einfügen von Schritten.
Insgesamt erwies sich QF-Test als sehr nützlich bei der Erstellung von Testfällen, die eine Interaktion mit der Benutzeroberfläche erfordern. Ein Problem, das wir festgestellt haben, ist jedoch, dass die verwendete Konfigurationsdatei die Zusammenarbeit mit anderen Personen bei der Verwendung des Tools erschwert. Die Konfigurationsdatei enthält Informationen, die für den Rechner des jeweiligen Entwicklers spezifisch sind. Wir haben diese Datei bearbeitet, um sie auf einem anderen Rechner zu verwenden. Leider signiert QF-Test_ die Konfigurationsdatei und prüft ihre Integrität beim Laden, so dass es unmöglich ist, eine Datei zu verwenden, die bearbeitet wurde. Wenn die Daten der Testsuite in einer separaten Datei gespeichert wären, könnten sie vielleicht mit VCS verwendet werden, während die Datei mit den benutzerspezifischen Informationen ignoriert wird.
Im Allgemeinen ist das Tool sehr intuitiv, jedoch haben wir Verbesserungsvorschläge:
Unsere Erfahrungen mit dem QF-Tool waren im Allgemeinen positiv. Folgende Funktionen wären unserer Meinung nach ausgezeichnete Ergänzungen für das Tool, da sie das Leben des Benutzers in einigen Fällen, auf die wir während dieser Arbeit gestoßen sind, einfacher machen würden:
Die Portabilität von Tests ist ein Problem. Da der QF-Test Setup Wizard eine Abhängigkeit vom lokalen Dateisystem erzeugt, waren wir gezwungen, diese Abhängigkeit jedes Mal zu ändern, wenn wir Informationen an Github übermittelten, da ein anderes Teammitglied in einem anderen Dateisystem arbeitete.
Das Tool scheint zwar für die Entwicklung von UI-Tests interessant zu sein, bringt aber auch einige Schwierigkeiten für Entwickler mit sich, wie z. B.:
Wir haben in der Vergangenheit mit ähnlichen Tools (wie cypress) gearbeitet, und es gibt ein paar Unterschiede. Zunächst einmal hat cypress eine sauberere, modernere Benutzeroberfläche, und wir hatten den Eindruck, dass es eine bessere Benutzererfahrung bietet. Die Lernkurve für QF-Test scheint viel steiler zu sein als bei anderen Tools, aber es sieht sehr leistungsfähig aus. Die Handbücher & Tutorials scheinen sehr hilfreich und vollständig zu sein, was notwendig ist, wenn es nicht viel Online-Community gibt, von der man Unterstützung bekommen kann.
Eine Funktion, die wir vermisst haben, ist eine Umschalttaste zum schnellen De-/ und Aktivieren von Testfallschritten. Manchmal implementieren wir bei der Entwicklung eines Tests Überprüfungen, die noch nicht abgeschlossen sind, als Platzhalter, und es ist etwas ärgerlich, wenn wir bei jedem Testlauf Fehler für diese erhalten.
Ansonsten scheint es ein cleveres Tool zu sein. Ein Muss für Desktop-Java-Anwendungen!
Das QF-Test Tool ermöglichte es uns, einfache GUI-Tests für eine Java-Anwendung zu schreiben. Mit Hilfe der Einsteiger-Tutorials des QF-Test-Tools konnten wir in ein paar Stunden verstehen, wie wir es in unserer Basisanwendung verwenden können. Allerdings fanden wir die Bedienelemente nicht so intuitiv und die Benutzeroberfläche veraltet und verwirrend. Eine bessere Benutzeroberfläche und Tooltips würden die Benutzererfahrung für Anfänger erheblich verbessern.
In den Tutorials erfuhren wir, dass dieses Tool viel leistungsfähigere Tests mit Integration in CI/CD-Pipelines, Multiplattformtests (nicht spezifisch für Java-Anwendungen), Videoaufzeichnung usw. ermöglicht. Wir haben diese Funktionen nicht getestet (das würde den Rahmen des Auftrags sprengen). Außerdem scheint die Plattform unserer Erfahrung nach wirklich stabil und bereit für professionelle/produktive Umgebungen zu sein. Wir haben sie unter Windows und MacOS getestet, ohne dass es Probleme gab. Wir sind wirklich gespannt, wie der QF-Test-Runner auf Docker/Linux-Maschinen für die CI/CD-Integration funktionieren würde (nicht getestet).
Für dieses Projekt wurde das QF-Tool für die Windows-Plattform in der Desktop-Version verwendet.