Wir zeigen dir, wie du einen Pull Request findest und den Patch testen kannst. Wir haben ein Youtube-Video erstellt, in dem gezeigt wird, wie man einen Patch testet: Live-Präsentation "Patch testen in 3 Minuten"

Was brauche ich um einen Patch zu testen?

Und so funktioniert es:

1. Pull Request zum testen finden:

Am Morgen des PBF-Events wird ein Google-Dokument veröffentlicht, in dem alle Patches stehen, die zu testen sind. Auf dieser Liste können alle Teilnehmer zeitgleich Informationen eintragen, so dass alle wissen, wer woran arbeitet, was bereits erledigt ist und was eventuell zu beachten ist.
Die Liste wird etwa so aussehen:
Fehler finden beim PBF-Event

• Spalte A: Link zu einem Patch (ID = letzte Zahl).
Grün bedeutet einfaches Testen mit Testbeschreibung.
Gelb bedeutet erweitertes Testen; wenige oder keine Testbeschreibung / einfacher Code.
Rot bedeutet keine Testbeschreibung und umfangreicherer Code oder selber Code schreiben.

• Spalte B: Tester 1 trägt seinen Namen ein, sobald er sich für einen Patch entschieden hat. Nachdem man fertig ist, wird “erledigt” oder “nicht erfolgreich getestet” eingetragen.

• Spalte C: Tester 2 kann zeitgleich zum Tester 1 arbeiten.

• Spalte D: Diese Spalte bearbeitet ein “Produktverantwortlicher”. Das ist jemand, der die Schreibrechte für den Quelltext hat.

• Hinweise / Probleme: Raum für Zusatzinformationen, hier kann jeder etwas dazuschreiben

2. Aufbau des Issue Tracker

Aufbau des Issue Tracker
zu Punkt 1: Für die Nutzung des Issue Trackers ist ein GitHub Konto erforderlich. Du kannst dir auf der Seite https://github.com/ ein GitHub Konto registrieren. Bei der Anmeldung musst du Joomla! autorisieren. Hinweis: Wenn du die Zwei-Faktor-Authentifizierung für dein GitHub-Konto aktiviert hast, musst du ein persönliches Token für den Zugriff unter https://github.com/settings/applications generieren und dieses in das Feld GitHub Token einfügen. Mehr Informationen findest Du in der Anleitung zum Patch Tester.

 Github-Authentifizierung

zu Punkt 2: Sprache wählen. Du kannst die deutsche Sprache auswählen, es werden dann aber nur die Menüpunkte in deutscher Sprache angezeigt. Bitte nur in englischer Sprache kommentieren, weil an der Fehlerbehebung Menschen aller Nationen arbeiten und die meisten kein deutsch sprechen.

zu Punkt 3: Das Suchwerkzeug (Filter). Über den Button „Suchwerkzeuge“ kann man im Patch Tester
• nach einer bestimmten ID
• nach dem Typ „issue“ (Eintrag) oder „pull request“ (Fehlerbehebung)
• nach leichten oder dringenden Tests suchen.

zu Punkt 4: Der Status ist wichtig und wird hier erklärt:

Neu („new“): Der Bug ist gemeldet, es wurde noch nichts gemacht. Vielleicht willst du ihn nachstellen und bestätigen?

Bestätigt („confirmed“): Der Bug wurde bestätigt, aber es gibt noch keinen Patch dazu. Entwickler werden nun nach einer Lösung suchen (oder vielleicht findest du sie).

Wartend („pending“): Es gibt einen Patch um den Bug zu beheben. Ein Patch wurde erstellt und kann getestet werden. Achte auf das Label neben dem Titel, da es verrät, für welche Joomla! Version der Patch erstellt wurde. Wir testen nur Version 4.0

Einfach („easy“): Der Patch hat ausreichende Testbeschreibung um ihn ohne großes Vorwissen zu testen.

Fertig zum Anwenden („ready for commit“ = „RTC“): Hier gibt es nichts mehr für uns zu tun, auch wenn der Patch auf unserer Liste steht. Der Patch wurde erfolgreich getestet und wird in den Joomla Core aufgenommen.

Geschlossen - („closed“): Der Patch oder Bug Eintrag wurde geschlossen, es ist nichts mehr zu tun.

5. Die Fehlerbeschreibung; Mit einem Klick auf die Überschrift erhält man die detaillierte Problembeschreibung.

3. Fehler nachstellen und Patch testen

Eine Liste mit allen Fehlern, die wir beim PBF bearbeiten wollen, wird vor dem PBF verteilt. Wähle aus der Liste einen Eintrag, der noch nicht von zwei anderen Testern bearbeitet wird.
Die Fehler sind mit dem “Issue Tracker” (http://issues.joomla.org) verlinkt und führen direkt zur Fehlerbeschreibung.

Alternativ kann man im Joomla Backend in die Komponente “Patch Tester” gehen und  den Patch suchen. Die ID des Patches ist als Nummer in dem Link in der Liste enthalten. Beispiel:  https://issues.joomla.org/tracker/joomla-cms/21240

.

Patch reservieren

Zuerst liest man sich die Fehlerbeschreibung durch und entscheidet, ob man diesen Patch testen kann/will. Wenn du diesen Patch testen möchtest, trage dich als Tester1 oder Tester2 in das Google doc ein. So stellen wir sicher, dass nicht alle denselben Patch testen.

Testbeschreibung durchführen, Bug nachstellen

Nun loggt man sich in sein Joomla Backend ein und stellt den Fehler in der eigenen Joomla-Installation nach. Das ist ein wichtiger Schritt, denn durch das nachstellen des Fehlers prüft man, ob es den Bug tatsächlich (noch) gibt.

4. Patch anwenden mit dem Patchtester

Den Patch wendet man an, indem man auf die blaue Schaltfläche "Patch anwenden" bzw. “Apply Patch” klickt. Die Schaltfläche wird grün. Die Fehlerkorrektur oder neue Funktion wird automatisch in deine Joomla! - Installation eingespielt.

Wenn der Button “Apply Patch” überdeckt ist, musst du in der Liste nach der ID suchen.

Apply Patch

Der Patch wurde angewendet.

  • Führe nun alle Schritte genau so aus wie es in der Testanweisung beschrieben ist. Ist das Problem nun behoben?
  • Code angucken! Auch wenn man den Code nicht wirklich komplett versteht, sollte man sich einen Überblick veschaffen welche Dateien geändert wurden.
  • Teste auch, ob sich das Verhalten auf andere Teile von Joomla auswirkt. Treten unerwartete Effekte auf?

5. Patch zurücknahmen (Revert Patch)

Du kannst einen Patch wieder zurücknehmen.

Apply Patch


Klick auf den Button "revert", der Patchtester stellt den Zustand von vor dem Patch wieder her.
Patch reverted

6. Kommentieren (Issue Tracker)

Ob der Test erfolgreich oder nicht erfolgreich war muss man im “Issue Tracker” (http://issues.joomla.org) eintragen.
Man gelangt entweder über die Seite (http://issues.joomla.org) zum “Issue Tracker” oder über den Patchtester durch anklicken der gelben Schaltfläche “Issue Tracker”.

Ob der Test erfolgreich oder nicht erfolgreich war muss man im Issue Tracker eintragen.

Kommentare sind englisch zu schreiben.

Das Testergebnis markieren: Klick auf den Button "Test this". Markiere, ob der Test erfolgreich war oder nicht. Damit generiert der Issue tracker automatisch eine Erfolgs- (oder Misserfolgs-) meldung.

Erfolgreich getestet

Du kannst das Testergebnis kommentieren wenn du möchtest. Wenn z. B. der Code nicht überprüft werden kann, z. B. “I don´t understand the Code, but it works”. Falls du Hemmungen hast, einen Kommentar zu schreiben: Hier findest Du Beispiele für Kommentartexte (englisch)

Mit dem Submit Button veröffentlichst du dein Testergebnis.