Difference between revisions of "Testing Joomla! patches/de"

From Joomla! Documentation

(Created page with "Nachdem der Patch gefunden wurde, klicken Sie auf die Blaue Schaltfläche "Patch anwenden". Überprüfe dann bitte, ob der Fehler behoben wurde und das keine neuen Bugs auftre...")
m
 
(114 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
In jeder Software gibt es Fehler, die behoben werden müssen. Das ist auch bei der Open-Source-Software wie Joomla! der Fall. Der Quellcode von Joomla ist frei für jedermann im Internet zugänglich. Außerdem gibt es die Möglichkeit, Bugs zu melden. Gemeldete Bugs werden gefixt und schließlich müssen diese dann getestet werden. Diese Seite erklärt, wie Du dazu beitragen kannst, das Joomla! Projekt durch die Prüfung von vorgeschlagenen Lösungen zu unterstützen. Dazu benötigst Du keine Programmierkenntnisse, alles was nötig ist, ist eine Joomla-installation zum testen.  
+
In jeder Software gibt es Fehler, die behoben werden müssen. Das ist auch bei Open-Source-Software wie Joomla! der Fall. Der Quellcode von Joomla ist im Internet frei für jedermann zugänglich. Jeder der einen Fehler oder Problem in Joomla! entdeckt, kann dies melden. Eine Anleitung, wie Fehler und Probleme gemeldet werden können, findest du hier: [[S:MyLanguage/Filing_bugs_and_issues|Fehler und Probleme melden]]</br>
Eine Kurzanleitung für die Tests ist verfügbar unter: [[S:MyLanguage/Testing Joomla! patches QuickReferenceGuide|Schnelleinstieg Joomla! Patches testen]]
+
Gemeldete Fehler werden behoben und müssen anschließend getestet werden. Diese Seite erklärt, wie man zum Joomla-Projekt beitragen kann, indem man vorgeschlagene Verbesserungen testet. Dafür werden keine Programmierkenntnisse gebraucht, allerdings muss eine Joomla-Installation zum Testen vorhanden sein.  
 +
Eine Kurzanleitung für das Testen ist verfügbar unter: [[S:MyLanguage/Testing Joomla! patches QuickReferenceGuide|Joomla! Patches testen - Eine Kurzanleitung]]
  
 
=== Der Joomla! 'Staging' Code ===
 
=== Der Joomla! 'Staging' Code ===
Der Joomla! 'Staging' Code ist der aktuelle Code, an dem gearbeitet wird. Alle Fehlerbereinigungen und neue Features werden diesem Code hinzu gefügt.
+
Der Joomla! 'Staging' Code ist der aktuelle Code, an dem gearbeitet wird. Alle Fehlerbereinigungen und neue Features werden diesem Code hinzugefügt.
  
Zu finden ist der 'Staging' Code unter https://github.com/joomla/joomla-cms, das ist der Code, der installiert werden muss. Wie das zu erfolgen hat ist etwas weiter unten unter [[#Preparing to test|Den Test vorbereiten]] erklärt.
+
Zu finden ist der 'Staging' Code unter https://github.com/joomla/joomla-cms, das ist der Code der installiert werden muss. Wie das geht ist etwas weiter unten unter [[#Preparing to test|Den Test vorbereiten]] erklärt.
  
 
=== Der Issue Tracker ===
 
=== Der Issue Tracker ===
Der Issue Tracker für Joomla! befindet sich hier: http://issues.joomla.org
+
Der Issue Tracker für Joomla! befindet sich hier: https://issues.joomla.org
  
[[File:joomla_issue_tracker-de.png]]
+
[[File:joomla_issue_tracker-de.png|800px]]
  
Die Liste zeigt die Tracker Elemente von neuen Elementen zu alten Elementen geordnet. Die Reihenfolge kann mit Hilfe des Filters in Suchwerkzeuge geändert werden. Alle Elemente im Tracker für die ein Patch existiert, haben eine Versionsnummer neben dem Titel.
+
Die Liste zeigt die Tracker Elemente, geordnet von neu nach alt. Die Reihenfolge kann mit Hilfe des Filters bei den Suchwerkzeugen geändert werden. Alle Elemente im Tracker, für die ein Patch existiert, haben eine Versionsnummer neben dem Titel.
* PR-staging: Das ist Joomla 3.4.x
+
* PR-staging: Das ist Joomla 3.9.x
* PR-3.5.dev: Das ist Joomla 3.5
+
* PR-4.0.dev: Das ist Joomla 4.0
  
Diese Auszeichnung wird sich in Zukunft ändern, wenn neue Versionen kommen und alte gehen.
+
Diese Labels werden sich in Zukunft ändern, wenn neue Versionen kommen und alte verschwinden.
  
Der Status ist wichtig und hier ist eine Erklärung:
+
Der Status ist wichtig und wird hier erklärt:
  
'''Neu''' - Unmittelbar nachdem ein Problem gemeldet wurde, erhält es diesen Status. Wenn Du also einen Bug findest, erstelle eine Beschreibung, wie er reproduziert werden kann. Dann wissen diejenigen, die das Problem testen wollen, wie sie den Patch testen können.
+
'''Neu''' - Unmittelbar nachdem ein Problem gemeldet wurde, erhält es diesen Status. Wenn Du also einen Bug findest, erstelle eine Beschreibung wie er reproduziert werden kann. Dann wissen diejenigen, die das Problem testen wollen, wie sie den Patch testen können.
  
'''Bestätigt''' - Das Tracker-Team war in der Lage das Problem nach zu vollziehen. Das Coding-Team wird nun nach einer Lösung suchen.
+
'''Bestätigt''' - Das Tracker-Team war in der Lage, das Problem nachzuvollziehen. Das Coding-Team wird nun nach einer Lösung suchen.
  
'''Wartend''' - Eine Lösung für das Problem wurde gefunden. Ein Patch wurde erstellt und kann getestet werden. Das Problem muss nun getestet werden. Achte auf das Label neben dem Titel, dieses verrät Dir für welche Joomla! Version der Patch erstellt wurde.
+
'''Wartend''' - Eine Lösung für das Problem wurde gefunden. Ein Patch wurde erstellt und kann getestet werden. Das Problem muss nun getestet werden. Achte auf das Label neben dem Titel. Das verrät dir, für welche Joomla! Version der Patch erstellt wurde.
  
 
'''Fertig zum Anwenden''' - Der Patch wurde erfolgreich getestet und der Code kann übergeben werden.
 
'''Fertig zum Anwenden''' - Der Patch wurde erfolgreich getestet und der Code kann übergeben werden.
  
'''Geschlossen''' - Der Status gilt für alle Probleme, die nicht weiter bearbeitet werden müssen.
+
'''Geschlossen''' - Der Status gilt für alle Probleme die nicht weiter bearbeitet werden müssen.
  
Filtern im Issue Tracker ist nützlich. Die Überwachung kann sinnvoll sein um Meldungen zu erhalten wenn ein Problem aktualisiert wurde.  
+
Die Filterung im Issue Tracker ist nützlich. Eine Überwachung kann sinnvoll sein, um Meldungen zu erhalten, wenn ein Problem aktualisiert wurde.
 +
 
 +
Grundsätzlich beginnt man mit der Prüfung von Issues, die den Status „Pending“ (wartend) haben.
  
Im Grunde kannst Du mit den Problemen beginnen, die den Status ''Wartend'' haben.
 
  
 
=== Den Test vorbereiten ===
 
=== Den Test vorbereiten ===
Als Erstes muss der 'master' Code aus dem Joomla GitHub Repository geholt werden. Obwohl es verschiedene Wege gibt um den Joomla 'master' Code herunterzuladen diskutieren wir hier lediglich die Download-Option.
+
Als Erstes muss der 'master' Code aus dem Joomla GitHub Repository geholt werden. Obwohl es verschiedene Wege gibt um den Joomla 'master' Code herunterzuladen behandeln wir hier lediglich die Download-Option.
  
 
==== Ordner erstellen ====
 
==== Ordner erstellen ====
Zunächst müssen wir einen Ordner entweder auf dem lokalen Webserver oder auf einem Hosting-Account erstellen, auf den man mit Hilfe des Browsers zugreifen kann. Erstelle den Ordner '''bugtesting''' und navigiere zu diesem Ordner mit Hilfe des Explorers oder Finder.
+
Zunächst muss, entweder auf dem lokalen Webserver oder auf dem Hosting-Account, ein Ordner erstellt werden, der über den Browser erreichbar ist. Der Ordner '''bugtesting''' wird erstellt und über einen Dateimanager aufgerufen.
  
==== Joomla herunterladen ====
+
==== Joomla! herunterladen ====
Gehe zum [https://github.com/joomla/joomla-cms Joomla GitHub Repository] und klicke auf '''Download ZIP'''.
+
Gehe zur [https://github.com/joomla/joomla-cms Joomla GitHub Repository] und klicke auf '''Download ZIP'''.
  
 
[[File:joomla_github-en.png]]
 
[[File:joomla_github-en.png]]
  
Du erhältst eine Kopie des Joomla 'master' Codes als ZIP-Datei. Wenn du die Datei an einem temporären Ort entpackst erscheint ein Ordner mit dem Namen joomla-cms-staging. In diesem Ordner befindet sich der Joomla 'master' Code. Geh in den joomla-cms-staging Ordner und kopiere den kompletten Inhalt in das Verzeichnis '''bugtesting''' welches du im vorangegangenen Schritt erstellt hast.
+
Du erhältst eine Kopie des Joomla 'master' Codes als ZIP-Datei. Wenn du die Datei an einem temporären Ort entpackst erscheint ein Ordner mit dem Namen joomla-cms-staging. In diesem Ordner befindet sich der Joomla 'master' Code. Geh in diesen joomla-cms-staging Ordner und kopiere den kompletten Inhalt in das Verzeichnis '''bugtesting''' welches du im vorangegangenen Schritt erstellt hast.
 +
 
 +
After that you have to set up your system. For more information see https://docs.joomla.org/J4.x:Setting_Up_Your_Local_Environment/en.
  
Jetzt kannst du Joomla installieren indem du zu <code><nowiki>http://localhost/bugtesting</nowiki></code> navigierst, falls du einen lokalen Webserver benutzt. Nutzt du einen Webhoster navigiere zur entsprechenden URL des Webhosters. Es folgt die normale Joomla Installations-Routine.
+
Jetzt kannst du Joomla installieren indem du zu <code><nowiki>http://localhost/bugtesting</nowiki></code> navigierst, falls du einen lokalen Webserver benutzt. Nutzt du einen Webhoster, navigiere zur entsprechenden URL des Webhosters. Es folgt die normale Joomla Installations-Routine.
 
Für Beispieldaten wähle: Test English (GB) sample data
 
Für Beispieldaten wähle: Test English (GB) sample data
  
Line 56: Line 60:
  
 
=== Patch Tester herunterladen ===
 
=== Patch Tester herunterladen ===
Um dir mit dem Testen von Patches behilflich zu sein wurde die Joomla Erweiterung "Patch Tester" entwickelt. Der Patch Tester kann von der [https://github.com/joomla-extensions/patchtester/releases Patch Tester Seite] heruntergeladen und anschließend über die Joomla Erweiterungs-Verwaltung installiert werden.
+
Um dir mit dem Testen von Patches behilflich zu sein wurde die Joomla Erweiterung "Patch Tester" entwickelt. Der Patch Tester kann von der [https://github.com/joomla-extensions/patchtester/releases Patch Tester Seite] heruntergeladen werden.
 +
 
 +
Die verlinkte Seite enthält den Patch Tester 3.0.0 Release Candidate für die Verwendung mit Joomla 3 Sites und den Patch Tester 4.0.0 Release Candidate für die Verwendung mit Joomla 4 Sites.
 +
Bitte beachten, dass die herunterzuladenden Dateien im Dropdown-Menü "Assets" versteckt sind. Durch Anklicken werden die verfügbaren Dateiformate und der Quellcode angezeigt.
 +
Nach dem Herunterladen kann er über den Erweiterungsmanager in Joomla installiert werden.
 +
 
 +
Für die Nutzung des Patch Testers ist ein GitHub Konto erforderlich. Der Grund dafür ist, dass es nur eine begrenzte Anzahl anonymer Anfragen, die über den Patch Tester gemacht werden können, gibt. Du kannst dich auf [https://github.com/join dieser Seite] für ein GitHub Konto registrieren.
  
Für die Nutzung des Patch Testers ist ein GitHub Konto erforderlich. Der Grund dafür ist, dass es nur eine streng begrenzte Anzahl anonymer Anfragen, die über den Patch Tester gemacht werden können, gibt. Du kannst dich auf [https://github.com/join dieser Seite] für ein GitHub Konto registrieren.
 
  
 
=== Patch Tester einrichten ===
 
=== Patch Tester einrichten ===
Die GitHub Kontodetails können in den Einstellungen des Patch Testers eingetragen werden. Nach der Installation des Patch Testers klicke unter Komponenten -> Joomla! Patch Tester auf Einstellungen in der Ecke rechts oben. Die Einstellungen-Seite öffnet sich und du kannst deinen GitHub-Benutzernamen und -Passwort eintragen.
+
Die GitHub Logindaten können in den Einstellungen des Patch Testers eingetragen werden. Nach der Installation des Patch Testers klicke unter Komponenten -> Joomla! Patch Tester auf Einstellungen in der Ecke rechts oben. Die Einstellungen-Seite öffnet sich und du hast drei Reiter. Der erste Reiter nennt sich GitHub Quelle. Hier kannst du die Quelle wählen, welche du benutzen möchtest. Standardmäßig ist dies Joomla! CMS.
 +
 
 +
 
 +
[[File:patchtester_repo-en.png]]
 +
 
 +
Im zweiten Reiter, genannt GitHub Authentifizierung, kannst du deinen GitHub Benutzernamen und dein persönliches Zugangs-Token als Passwort hinterlegen.
  
[[File:patchtester_details-en.png]]
+
[[File:Joomla PatchTester Github credentials.png|800px]]
  
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.
 
  
Nach Eingabe Ihrer Kontodaten klicke auf Speichern & Schließen. Einmal zurück in die Patch-Tester klicke auf "Daten abrufen" in der oberen linken Ecke um die aktuellen Daten von Github abzurufen.
+
Nach Eingabe der Kontodaten klicke auf Speichern & Schließen. Zurück im Patch-Tester klicke in der oberen linken Ecke auf "Daten holen".
  
Du kannst jetzt mit dem Testen beginnen.
+
Jetzt kannst Du mit dem Testen beginnen.
  
Nun kannst du nach einem Eintrag im Issue Tracker gucken welchen du testen möchtest oder einen zufälligen mit dem Button "Auf gut Glück" finden. Zuerst sollte dann das Problem nachgestellt werden. Wenn du das Problem reproduzieren konntest, dann kannst du den Patch installieren.
+
Nun kannst du nach einem Eintrag im Issue Tracker suchen, welchen du testen möchtest oder einen zufälligen Patch mit dem Button "Auf gut Glück" finden. Als Erstes sollte das Problem nachgestellt werden. Wenn du das Problem reproduzieren konntest, kannst du den Patch installieren.
  
 
=== Die Installation von Patches ===
 
=== Die Installation von Patches ===
Im Patch Tester kann man einen Patch über die ID oder den Titel suchen. Der Tracker Titel kann z.B. so aussehen:
+
Im Patch Tester kann man einen Patch über die ID oder dem Titel suchen. Der Tracker Titel kann z.B. so aussehen:
  
 
[#4308] - Fixed event dispatching inconsistencies leading to incomplete API
 
[#4308] - Fixed event dispatching inconsistencies leading to incomplete API
  
Neben dem # steht die ID und hinter dem - Zeichen kommt der Titel.
+
Beside the # is the ID and behind the - sign comes the title.
  
Nachdem der Patch gefunden wurde, klicken Sie auf die Blaue Schaltfläche "Patch anwenden". Überprüfe dann bitte, ob der Fehler behoben wurde und das keine neuen Bugs auftreten.
+
Nachdem der Patch gefunden wurde, klicke auf die blaue Schaltfläche "Patch anwenden". Überprüfe dann, ob der Fehler behoben wurde und keine neuen Fehler auftreten.
  
=== Recording test results ===
+
=== Rückmeldung der Testergebnisse ===
After testing, please add your test result in the test overview (''use the button "Test this"''). Now you only need to add a comment if you have extra information or if you test unsuccessful. As the Tracker now automatically add a comment that you test it.
+
Nach dem Test melde bitte das Testergebnis. Verwende dafür den Button "Test this". Nun kannst du noch einen Kommentar hinzufügen wenn du witere Information hast oder wenn der Test nicht erfolgreich war. Der Tracker fügt nun automatisch einen Kommentar hinzu, dass du den Test durchgefphrt hast.
 +
Es muss auch erwähnt werden, dass es viel besser ist, auf mehrsprachigen Seiten (mit mindestens 3 aktiven Sprachen) zu testen, denn manche Fehler treten nur unter diesen Bedingungen auf.
  
It must also be noted that it is much better if you can test patches in a multilingual environment (''with at least 3 content languages published'') as there can be issues triggered only in such environment.
+
[[File:New_testthis_button-de.png|The new Test This button and how to use it]]
  
[[File:New_testthis_button-en.png|The new Test This button and how to use it]]
+
=== Patch zurücksetzen ===
 +
Nachdem der Patch getestet wurde, wird dieser nicht mehr benötigt und kann aus deiner Testinstallation entfernt werden. So hat man immer eine saubere Umgebung (Man kann Patches in Verbindung miteinander testen, um sicherzustellen, dass sie nicht im Konflikt stehen). Gehe zurück zum Patch Tester und klicke auf den grünen Button "Patch zurücknehmen". Dies entfernt den getesteten Patch und du kannst den nächsten Patch testen.
  
=== Revert patch ===
+
== Testing patches using Git ==
After a patch has been tested it is no longer needed and can be removed from your test installation, this way you are always testing with a clean system. Go back to the Patch Tester and click on the green button Revert Patch. This will remove the patch and you can start testing the next issue.
+
Since the Patch Tester cannot be used for all patches to test, sometimes we must use another way. The Patch Tester replaces the complete file and does not only apply the changes of the pull request, so you may not be testing an issue in an isolated state.
 +
To truly test a patch with only the changes made in the patch, we must use Git. The reason is that Git can apply a patch with only the changes in that patch. Git does this using a diff file.
 +
The prerequisites to be able to use the below method are:
 +
* Joomla is installed using Git
 +
* cURL is installed
 +
=== Getting the diff ===
 +
To get a diff from a pull request is rather easy. Let's say the URL to the pull request is
 +
<source lang="bash">
 +
https://github.com/joomla/joomla-cms/pull/1452
 +
</source>
 +
 
 +
To get the diff, all you need to do is add ''.diff'' after the URL, so it becomes
 +
<source lang="bash">
 +
https://github.com/joomla/joomla-cms/pull/1452.diff
 +
</source>
 +
 
 +
=== Testing the diff ===
 +
Before you apply the diff, you can first check if the diff can be applied, a sanity check. Go to the root of your Joomla installation and run the following command:
 +
<source lang="bash">
 +
curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply --check
 +
</source>
 +
=== Applying the diff ===
 +
After the diff has been tested and there are no errors, the diff can be applied by running the following command:
 +
<source lang="bash">
 +
curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply
 +
</source>
 +
 
 +
With the diff applied you can run your tests and record your test results as explained above. If needed, you can apply multiple diffs at once as long as they do not overlap each other. In some cases this is needed when there are multiple pull requests that need to be combined to be tested.
 +
 
 +
=== Reverting the diff ===
 +
Once you are done with testing you can cleanup the system by revering the diff with the following command:
 +
<source lang="bash">
 +
curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply -R
 +
</source>
 +
 
 +
To verify that everything is clean you can run
 +
<source lang="bash">
 +
git status
 +
</source>
 +
 
 +
You should get the notice:<br />
 +
'''nothing to commit, working directory clean'''
 +
 
 +
In case the system is not clean you can get a notice like this: <br />
 +
[[File:Gitwithchanges.png|center|thumb|There are changed files in the working directory]]
 +
 
 +
In case you see changed files but you have not made any changes you can cleanup the system with
 +
<source lang="bash">
 +
git reset --hard HEAD
 +
</source>
 +
 
 +
Now all should be clean
  
 
If you have become enthusiastic to test, give it a try. It takes a bit of effort to set everything up but once that is done, it is fun and easy! In addition you are also contributing to Joomla!.
 
If you have become enthusiastic to test, give it a try. It takes a bit of effort to set everything up but once that is done, it is fun and easy! In addition you are also contributing to Joomla!.
 +
 +
== Prebuild packages ==
 +
For all people who test Pull Requests for J4: At the bottom of each new PR's is now a link to download an update packages containing the changes from this specific PR.
 +
Maybe you have to expand the details for the tests first. For this click on <tt>Show all checks</tt>.
 +
 +
[[File:PrebuildPackages1-en.png||Maybe you have to expand the details for the tests first.]]
 +
Then you see the link to the download. Click on <tt>Details</tt>.
 +
 +
[[File:PrebuildPackages2-en.png||Then you see the link to download.]]
 +
 +
The link leads to a download page for that PR where you can download full install packages and update packages.
 +
 +
[[File:PrebuildPackages3-en.png||Then you see the link to download.]]
 +
This will get you a copy of the Joomla 4.-dev code inclusive the patch in a ZIP file.
 +
Unzip the file in a temporary location, a folder named <tt>Joomla_[Version]+[Number of Path]-Development-Full_Package</tt> will appear.
 +
For Version <tt>4.0.0-beta1-dev</tt> and PR-number <tt>28462</tt> this will be for example <tt>Joomla_4.0.0-beta1-dev+pr.28462-Development-Full_Package</tt>.
 +
Now we need to create a folder on either the local web server or the hosting account that can be accessed via the browser. Create the folder <tt>bugtesting</tt> and go to this folder via Explorer or Finder.
 +
Go into the <tt>Joomla_[Version]+[Number of Path]-Development-Full_Package</tt> folder and copy the complete contents to the folder <tt>bugtesting</tt> that you created in the previous step.
 +
 +
Now you can install Joomla by navigating to <tt>http://localhost/bugtesting</tt> if you are using a local web server, if you use one on a hosting account, navigate to the appropriate URL for the hosting account.
 +
 +
[[File:PrebuildPackages4-en.png||Set up your sytem.]]
 +
For testing a PR, people who don't have a git clone and do not have Composer or Node.js can download and install the full install package. If a PR modifies update SQL scripts or other things related to updating, testers can install a 3.10-dev nightly or 3.10 beta and use the update package of that J4 PR to test updating to J4.
 +
 +
==Videos==
 +
===How to test patch for Joomla 4 ===
 +
{{#widget:YouTube|id=22RXppJjXf8}}
 +
 +
=== Wie einen Patch für Joomla 3 testen ===
 +
*Teil 1: Einführung
 +
{{#widget:YouTube|id=zmnWkMisdJk}}
 +
 +
*Teil 2: Neard-Webserver-Einrichtung
 +
{{#widget:YouTube|id=Tqj-BAmPGLA}}
 +
 +
*Teil 3: Stichprobentest
 +
{{#widget:YouTube|id=s881RLaFO8U}}
 +
 +
===How to test Prebuild packages for Joomla ===
 +
Joomla has instigated a new method of testing pr's that will greatly benefit those on shared hosting.  Or those who simply want a simple pr testing method.
 +
{{#widget:YouTube|id=22RXppJjXf8}}
 +
 +
==Link==
 +
[https://brian.teeman.net/joomla/873-a-dummies-guide-to-joomla-bug-testing Brian Teeman: A Dummies Guide to Joomla Bug Testing]
  
 
<noinclude>
 
<noinclude>
[[Category:Bug Squad]]
+
[[Category:Bug Squad{{#translation:}}]]
[[Category:Bug Tracker]]
+
[[Category:Bug Tracker{{#translation:}}]]
[[Category:Core Contributions]]
+
[[Category:Core Contributions{{#translation:}}]]
 +
[[Category: Tutorials{{#translation:}}]]
 
</noinclude>
 
</noinclude>

Latest revision as of 02:38, 7 November 2022

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português do Brasil • ‎Ελληνικά • ‎русский

In jeder Software gibt es Fehler, die behoben werden müssen. Das ist auch bei Open-Source-Software wie Joomla! der Fall. Der Quellcode von Joomla ist im Internet frei für jedermann zugänglich. Jeder der einen Fehler oder Problem in Joomla! entdeckt, kann dies melden. Eine Anleitung, wie Fehler und Probleme gemeldet werden können, findest du hier: Fehler und Probleme melden
Gemeldete Fehler werden behoben und müssen anschließend getestet werden. Diese Seite erklärt, wie man zum Joomla-Projekt beitragen kann, indem man vorgeschlagene Verbesserungen testet. Dafür werden keine Programmierkenntnisse gebraucht, allerdings muss eine Joomla-Installation zum Testen vorhanden sein. Eine Kurzanleitung für das Testen ist verfügbar unter: Joomla! Patches testen - Eine Kurzanleitung

Der Joomla! 'Staging' Code

Der Joomla! 'Staging' Code ist der aktuelle Code, an dem gearbeitet wird. Alle Fehlerbereinigungen und neue Features werden diesem Code hinzugefügt.

Zu finden ist der 'Staging' Code unter https://github.com/joomla/joomla-cms, das ist der Code der installiert werden muss. Wie das geht ist etwas weiter unten unter Den Test vorbereiten erklärt.

Der Issue Tracker

Der Issue Tracker für Joomla! befindet sich hier: https://issues.joomla.org

Joomla issue tracker-de.png

Die Liste zeigt die Tracker Elemente, geordnet von neu nach alt. Die Reihenfolge kann mit Hilfe des Filters bei den Suchwerkzeugen geändert werden. Alle Elemente im Tracker, für die ein Patch existiert, haben eine Versionsnummer neben dem Titel.

  • PR-staging: Das ist Joomla 3.9.x
  • PR-4.0.dev: Das ist Joomla 4.0

Diese Labels werden sich in Zukunft ändern, wenn neue Versionen kommen und alte verschwinden.

Der Status ist wichtig und wird hier erklärt:

Neu - Unmittelbar nachdem ein Problem gemeldet wurde, erhält es diesen Status. Wenn Du also einen Bug findest, erstelle eine Beschreibung wie er reproduziert werden kann. Dann wissen diejenigen, die das Problem testen wollen, wie sie den Patch testen können.

Bestätigt - Das Tracker-Team war in der Lage, das Problem nachzuvollziehen. Das Coding-Team wird nun nach einer Lösung suchen.

Wartend - Eine Lösung für das Problem wurde gefunden. Ein Patch wurde erstellt und kann getestet werden. Das Problem muss nun getestet werden. Achte auf das Label neben dem Titel. Das verrät dir, für welche Joomla! Version der Patch erstellt wurde.

Fertig zum Anwenden - Der Patch wurde erfolgreich getestet und der Code kann übergeben werden.

Geschlossen - Der Status gilt für alle Probleme die nicht weiter bearbeitet werden müssen.

Die Filterung im Issue Tracker ist nützlich. Eine Überwachung kann sinnvoll sein, um Meldungen zu erhalten, wenn ein Problem aktualisiert wurde.

Grundsätzlich beginnt man mit der Prüfung von Issues, die den Status „Pending“ (wartend) haben.


Den Test vorbereiten

Als Erstes muss der 'master' Code aus dem Joomla GitHub Repository geholt werden. Obwohl es verschiedene Wege gibt um den Joomla 'master' Code herunterzuladen behandeln wir hier lediglich die Download-Option.

Ordner erstellen

Zunächst muss, entweder auf dem lokalen Webserver oder auf dem Hosting-Account, ein Ordner erstellt werden, der über den Browser erreichbar ist. Der Ordner bugtesting wird erstellt und über einen Dateimanager aufgerufen.

Joomla! herunterladen

Gehe zur Joomla GitHub Repository und klicke auf Download ZIP.

Joomla github-en.png

Du erhältst eine Kopie des Joomla 'master' Codes als ZIP-Datei. Wenn du die Datei an einem temporären Ort entpackst erscheint ein Ordner mit dem Namen joomla-cms-staging. In diesem Ordner befindet sich der Joomla 'master' Code. Geh in diesen joomla-cms-staging Ordner und kopiere den kompletten Inhalt in das Verzeichnis bugtesting welches du im vorangegangenen Schritt erstellt hast.

After that you have to set up your system. For more information see https://docs.joomla.org/J4.x:Setting_Up_Your_Local_Environment/en.

Jetzt kannst du Joomla installieren indem du zu http://localhost/bugtesting navigierst, falls du einen lokalen Webserver benutzt. Nutzt du einen Webhoster, navigiere zur entsprechenden URL des Webhosters. Es folgt die normale Joomla Installations-Routine. Für Beispieldaten wähle: Test English (GB) sample data

Das ist wichtig, denn so nutzt jeder die gleichen Daten zum Testen!

Der Ordner installation muss nicht gelöscht werden, denn so kannst du falls nötig einfach alles neu installieren.

Patch Tester herunterladen

Um dir mit dem Testen von Patches behilflich zu sein wurde die Joomla Erweiterung "Patch Tester" entwickelt. Der Patch Tester kann von der Patch Tester Seite heruntergeladen werden.

Die verlinkte Seite enthält den Patch Tester 3.0.0 Release Candidate für die Verwendung mit Joomla 3 Sites und den Patch Tester 4.0.0 Release Candidate für die Verwendung mit Joomla 4 Sites. Bitte beachten, dass die herunterzuladenden Dateien im Dropdown-Menü "Assets" versteckt sind. Durch Anklicken werden die verfügbaren Dateiformate und der Quellcode angezeigt. Nach dem Herunterladen kann er über den Erweiterungsmanager in Joomla installiert werden.

Für die Nutzung des Patch Testers ist ein GitHub Konto erforderlich. Der Grund dafür ist, dass es nur eine begrenzte Anzahl anonymer Anfragen, die über den Patch Tester gemacht werden können, gibt. Du kannst dich auf dieser Seite für ein GitHub Konto registrieren.


Patch Tester einrichten

Die GitHub Logindaten können in den Einstellungen des Patch Testers eingetragen werden. Nach der Installation des Patch Testers klicke unter Komponenten -> Joomla! Patch Tester auf Einstellungen in der Ecke rechts oben. Die Einstellungen-Seite öffnet sich und du hast drei Reiter. Der erste Reiter nennt sich GitHub Quelle. Hier kannst du die Quelle wählen, welche du benutzen möchtest. Standardmäßig ist dies Joomla! CMS.


Patchtester repo-en.png

Im zweiten Reiter, genannt GitHub Authentifizierung, kannst du deinen GitHub Benutzernamen und dein persönliches Zugangs-Token als Passwort hinterlegen.

Joomla PatchTester Github credentials.png


Nach Eingabe der Kontodaten klicke auf Speichern & Schließen. Zurück im Patch-Tester klicke in der oberen linken Ecke auf "Daten holen".

Jetzt kannst Du mit dem Testen beginnen.

Nun kannst du nach einem Eintrag im Issue Tracker suchen, welchen du testen möchtest oder einen zufälligen Patch mit dem Button "Auf gut Glück" finden. Als Erstes sollte das Problem nachgestellt werden. Wenn du das Problem reproduzieren konntest, kannst du den Patch installieren.

Die Installation von Patches

Im Patch Tester kann man einen Patch über die ID oder dem Titel suchen. Der Tracker Titel kann z.B. so aussehen:

[#4308] - Fixed event dispatching inconsistencies leading to incomplete API

Beside the # is the ID and behind the - sign comes the title.

Nachdem der Patch gefunden wurde, klicke auf die blaue Schaltfläche "Patch anwenden". Überprüfe dann, ob der Fehler behoben wurde und keine neuen Fehler auftreten.

Rückmeldung der Testergebnisse

Nach dem Test melde bitte das Testergebnis. Verwende dafür den Button "Test this". Nun kannst du noch einen Kommentar hinzufügen wenn du witere Information hast oder wenn der Test nicht erfolgreich war. Der Tracker fügt nun automatisch einen Kommentar hinzu, dass du den Test durchgefphrt hast. Es muss auch erwähnt werden, dass es viel besser ist, auf mehrsprachigen Seiten (mit mindestens 3 aktiven Sprachen) zu testen, denn manche Fehler treten nur unter diesen Bedingungen auf.

The new Test This button and how to use it

Patch zurücksetzen

Nachdem der Patch getestet wurde, wird dieser nicht mehr benötigt und kann aus deiner Testinstallation entfernt werden. So hat man immer eine saubere Umgebung (Man kann Patches in Verbindung miteinander testen, um sicherzustellen, dass sie nicht im Konflikt stehen). Gehe zurück zum Patch Tester und klicke auf den grünen Button "Patch zurücknehmen". Dies entfernt den getesteten Patch und du kannst den nächsten Patch testen.

Testing patches using Git

Since the Patch Tester cannot be used for all patches to test, sometimes we must use another way. The Patch Tester replaces the complete file and does not only apply the changes of the pull request, so you may not be testing an issue in an isolated state. To truly test a patch with only the changes made in the patch, we must use Git. The reason is that Git can apply a patch with only the changes in that patch. Git does this using a diff file. The prerequisites to be able to use the below method are:

  • Joomla is installed using Git
  • cURL is installed

Getting the diff

To get a diff from a pull request is rather easy. Let's say the URL to the pull request is

https://github.com/joomla/joomla-cms/pull/1452

To get the diff, all you need to do is add .diff after the URL, so it becomes

https://github.com/joomla/joomla-cms/pull/1452.diff

Testing the diff

Before you apply the diff, you can first check if the diff can be applied, a sanity check. Go to the root of your Joomla installation and run the following command:

curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply --check

Applying the diff

After the diff has been tested and there are no errors, the diff can be applied by running the following command:

curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply

With the diff applied you can run your tests and record your test results as explained above. If needed, you can apply multiple diffs at once as long as they do not overlap each other. In some cases this is needed when there are multiple pull requests that need to be combined to be tested.

Reverting the diff

Once you are done with testing you can cleanup the system by revering the diff with the following command:

curl -L https://github.com/joomla/joomla-cms/pull/1452.diff | git apply -R

To verify that everything is clean you can run

git status

You should get the notice:
nothing to commit, working directory clean

In case the system is not clean you can get a notice like this:

There are changed files in the working directory

In case you see changed files but you have not made any changes you can cleanup the system with

git reset --hard HEAD

Now all should be clean

If you have become enthusiastic to test, give it a try. It takes a bit of effort to set everything up but once that is done, it is fun and easy! In addition you are also contributing to Joomla!.

Prebuild packages

For all people who test Pull Requests for J4: At the bottom of each new PR's is now a link to download an update packages containing the changes from this specific PR. Maybe you have to expand the details for the tests first. For this click on Show all checks.

Maybe you have to expand the details for the tests first. Then you see the link to the download. Click on Details.

Then you see the link to download.

The link leads to a download page for that PR where you can download full install packages and update packages.

Then you see the link to download. This will get you a copy of the Joomla 4.-dev code inclusive the patch in a ZIP file. Unzip the file in a temporary location, a folder named Joomla_[Version]+[Number of Path]-Development-Full_Package will appear. For Version 4.0.0-beta1-dev and PR-number 28462 this will be for example Joomla_4.0.0-beta1-dev+pr.28462-Development-Full_Package. Now we need to create a folder on either the local web server or the hosting account that can be accessed via the browser. Create the folder bugtesting and go to this folder via Explorer or Finder. Go into the Joomla_[Version]+[Number of Path]-Development-Full_Package folder and copy the complete contents to the folder bugtesting that you created in the previous step.

Now you can install Joomla by navigating to http://localhost/bugtesting if you are using a local web server, if you use one on a hosting account, navigate to the appropriate URL for the hosting account.

Set up your sytem. For testing a PR, people who don't have a git clone and do not have Composer or Node.js can download and install the full install package. If a PR modifies update SQL scripts or other things related to updating, testers can install a 3.10-dev nightly or 3.10 beta and use the update package of that J4 PR to test updating to J4.

Videos

How to test patch for Joomla 4

Wie einen Patch für Joomla 3 testen

  • Teil 1: Einführung

  • Teil 2: Neard-Webserver-Einrichtung

  • Teil 3: Stichprobentest

How to test Prebuild packages for Joomla

Joomla has instigated a new method of testing pr's that will greatly benefit those on shared hosting. Or those who simply want a simple pr testing method.

Link

Brian Teeman: A Dummies Guide to Joomla Bug Testing