zurück
Avatar of Max Melzer
Autor: Max Melzer
02. Februar 2022

Arbeiten im Team mit QF-Test - Dos and Don'ts

"Teamwork: Ein paar harmlose Flocken können, wenn sie zusammen arbeiten, gemeinsam eine Lawine der Vernichtung entfesseln." — Justin Sewell

Gewiss, ein Team von Testerinnen und Testern kann gerade umfangreiche Testprojekte schneller und besser bewältigen als eine einzelne Person. Aber manche auf den ersten Blick einfach scheinende Dinge werden im Team tatsächlich deutlich schwieriger.

Wahrscheinlich jedes Team kennt den gefürchteten Merge-Konflikt, der entsteht, wenn mehrere Personen gleichzeitig Änderungen an einer Datei vorgenommen haben, die sich widersprechen.

Solche Konflikte aufzulösen ist zeitintensiv und fehleranfällig, weshalb es sich lohnt, zu tun was man kann, um sie überhaupt erst zu vermeiden.

Und selbst wenn es nicht zum Konflikt kommt, kann es doch sein, dass zwei Commits trotzdem das gleiche Problem auf unterschiedlichen Wegen lösen. Auch so wird Ihr Projekt unnötig verkompliziert.

Bei der Entwicklung von QF-Test haben auch wir uns den Kopf darüber zerbrochen, wie wir solche Konflikte vermeiden können und auch einige nützliche Hilfsmittel direkt in QF-Test eingebaut. Deshalb kommen hier einige der Dos and Dont's der Teamarbeit mit QF-Test.

1. Das Rad nicht neu erfinden

Wenn Sie beginnen, Ihre Tests zu implementieren, werden Sie auf viele kleine Aufgaben stoßen, die erledigt werden müssen. Aber nicht alle diese Dinge müssen Sie neu erfinden! QF-Test wird mit der Prozeduren-Standardbibliothek qfs.qft ausgeliefert, die zahlreiche häufig benötigte Funktionen bündelt. Sie müssen zwei Zahlen vergleichen? qfs.check.compareTwoNumbers ist Ihr Freund! Sie müssen mit einer externen Datenbank interagieren? qfs.database.executeStatement nimmt Ihnen den Boilerplate-Code ab! Eine Email verschicken? qfs.utils.email.sendEmail! Browser-Cookies zurücksetzen? qfs.browser.settings.deleteCookies! Wir könnten noch viele Beispiele aufzählen, aber Sie sollten einfach selbst durch unsere Bibliothek stöbern.

Und falls Sie doch mal eine generische Prozedur neu erfinden müssen: Fangen Sie Ihre eigene Standardbibliothek an! Sammeln Sie Ihre Basisprozeduren in einer gemeinsamen Datei und halten Sie Ihr Team über neue Entwicklungen auf dem Laufenden.

2. Nicht alles in eine Datei packen

Die wichtigste Ursache für das Auftreten von haarigen Merge-Konflikten ist das gleichzeitige Bearbeiten einer Datei durch verschiedene Personen. Auch bei der Test-Entwicklung mit QF-Test werden Sie dies erleben, wenn Sie im Team an einer großen .qft-Datei arbeiten.

Unsere Empfehlung ist deshalb, größere Testsuiten aufzuteilen. In unserer jahrelangen Arbeit mit Kunden mit unterschiedlich großen Testprojekten hat sich die folgende grundlegende Aufteilung bewährt:

  1. Eine Datei mit allen Basisprozeduren
  2. Eine Datei mit allen Fenstern und Komponenten
  3. Einzelne Dateien mit Testfällen und Prozeduren nach Bedarf

Damit eine Testsuite auf Komponenten oder Prozeduren aus einer anderen Datei zugreifen kann, muss diese in den Details des "Testsuite"-Knotens unter "Include Dateien" (am besten als relativer Pfad) aufgelistet sein.

3. Importieren statt kopieren

Wenn Sie Ihre Testsuiten auseinanderdividieren, sind Sie vielleicht versucht, ihre Prozeduren und Komponenten einfach per Drag & Drop oder "Ctrl-X, Ctrl-V" von einer Suite in eine andere auszulagern. Besser ist es, Sie benutzen aus der Zielsuite die Importieren-Funktion unter "Datei › Importieren…". Dann kümmert sich QF-Test darum, das alle Referenzen korrekt aktualisiert werden.

Idealerweise gehen Sie auch beim Erstellen neuer Tests so vor: Sie entwickeln den neuen Test in einer komplett eigenständigen temporären Testsuite. Nach Fertigstellung des Tests importieren Sie die einzelnen Bestandteile (Testfälle, Komponenten und Prozeduren) in entsprechende bestehende Testsuites. So können Sie zum Beispiel bequem die Aufnahmefunktionen von QF-Test nutzen, ohne sich Sorgen um die Ordnung in Ihrem globalen Komponentenbaum zu machen.

4. QF-Test-Projekte benutzen

Wenn Sie damit beginnen, Ihre Suiten aufzuteilen, werden Sie feststellen, dass QF-Test stets versucht, Referenzen zu Komponenten oder Prozeduren in Ihren Suiten aktuell zu halten, auch wenn das referenzierte Objekt verschoben wurde. Damit dies reibungslos funktioniert, sollten Sie Ihre Dateien in einem QF-Test-Projekt organisieren.

Wählen Sie dafür "Datei" › "Neues Projekt" an und navigieren Sie zum Wurzelverzeichnis Ihres Projekts. Die dadurch angelegte .qpj-Datei repräsentiert Ihr Projekt, zu dem alle Dateien im gleichen Verzeichnis und in Unterverzeichnissen gehören. QF-Test wird die Referenzen in allen Dateien überwachen und bei Bedarf automatisch aktualisieren.

Außerdem bekommen Sie in QF-Test eine praktische Übersicht über die Dateien Ihres Projektes in einer zusätzlichen Seitenleiste angezeigt, wenn Sie die dazugehörige .qpj-Datei öffnen.

5. Miteinander reden

Trotz aller Mühen kann keine Projektmanagement-Methode oder technische Lösung die wichtigste Komponente von Teamwork ersetzen: Kommunikation. Damit die gemeinsame Arbeit gelingt, müssen Sie regelmäßig mit ihren Teammitgliedern im Gespräch sein, sei es bei einem regelmäßigen Standup oder einfach zwischendurch an der Kaffeemaschine.

Klären Sie Zuständigkeiten und planen Sie Aufgaben so, dass sich niemand in die Quere kommt.

Nur wenn alle ungefähr wissen, was die anderen Mitglieder des Teams gerade tun und vorhaben, können sie sich aufeinander einstellen und zum Beispiel dafür sorgen, dass nicht gerade zwei Leute am gleichen Testfall arbeiten oder gar ein Teammitglied einen Teil Ihrer Testarchitektur überarbeitet während andere aktiv mit dieser Architektur arbeiten. Denn vor solchen Problemen kann auch die ausgeklügelste Projektstrategie nicht schützen.

 


Bereitet Ihnen die Arbeit im Team immer noch Kopfzerbrechen? Wir haben ein Video-Webinar zum Thema Teamwork abgehalten. Sie finden die Videoaufzeichnung dazu in voller Länge hier:

Jan. 2022 - Dos and Don’ts beim Arbeiten mit QF-Test im Team z.B. Versionsverwaltung (GIT, SVN), Import, Projekte

Präsentation und Testsuite

Neuer Kommentar
( wird auf der Seite/Blog erscheinen )
( wird nicht auf der Seite/Blog erscheinen )

0 Kommentare