QA/Testing/Regressions-Tests
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Spende
Entwickler sind auch nur Menschen. Ihre Entwicklungen erzeugen manchmal unerwünschte Seiteneffekte, welche neue Fehler oder Performanzeinbussen mit sich bringen. Regressionstests helfen, solche Probleme aufzuspüren. Sie überprüfen, ob eine bestimmte Funktionalität wie erwartet arbeitet und der Enduser sie zufrieden in seiner täglichen Arbeit verwenden kann.
Natürlich werden die Regressionstests in jedem ausführbarem Build ausgeführt. Auf der anderen Seite ist es praktisch unmöglich, jeden Winkel einer großen Software wie LibreOffice in jedem Release auszutesten. So werden die Regressionstests selektiv für oft genutzte Szenarien oder Funktionalitäten, die in der beta oder RC-Phase getestet werden.
Existierende Tests
LibreOffice hat wohldefinierte Release Zyklen und Release-Kriterien. So gibt es major releases X.Y.0 mit ihren Daily, beta and release candidate Builds. Außerdem gibt es bugfix releases X.Y.Z mit ihren release candidate builds. Folgende Tests werden gebraucht:
- Ein Belastungstest muss vor jedem angekündigten beta oder RC Build durchgeführt werden.
- Ein kompletter Regressionstest muss vor jedem major release durchgeführt werden.
- Ein Basis-Regressionstest sollte vor jedem bugfix release durchgeführt werden.
Belastungstest
Alle Builds sind 1 - 2 Tage vor Veröffentlichung verfügbar. Wir müssen sie für soviele Plattformen wie möglich irgendwie lauffähig machen. Bitte helft uns bei folgendem:
- Beobachtet die Vorankündigungen auf der libreoffice@lists.freedesktop.org Mailing List.
- Ladet das Build für Eure Plattform von der dev-builds pre-releases site herunter.
- Installiert ihn und versucht einige Basis-Operationen, z. Bsp. Öffnet/Speichert Dokumente in Writer, Calc, Impress und Draw.
- Wenn Ihr einen Fehler findet, der den build fast unbrauchbar macht, lasst es uns in einer Antwort auf die Ankündigungs-Mail wissen. Haltet bitte alle Empfänger und Mailing Lists auf CC.
- Berichtet die Fehler auf Bugzilla.
FIXME: Es gibt einige Ansätze, diese Aufgabe zu automatisieren.
Kompletter Regressionstest
Die automatischen Tests laufen aktuell während des builds:
- Tretet den Entwicklern bei und helft ihnen, mehr Tests zu implementieren. Das erlaubt uns, die Tests öfters laufen zu lassen.
- FIXME: Macht es Sinn, Anschlusstests aus dem build-Prozess zu extrahieren und sie auf dem Nutzer-System laufen zu lassen?
- WICHTIG: Es gibt sogar Aufgaben für Nicht-Entwickler
grundlegender Regressionstest
Reine bugfix-Releases kommen jeden Monat nach jedem major release. Da ist keine Zeit für einen kompletten Regressionstest. Entwickler versuchen, Regressionen in reinen bugfix-Releases durch Kontrolle der Änderungen zu vermeiden. Aber sie sind auch nur Menschen und daher macht es Sinn, die wichtigsten Regressionstests laufen zu lassen. Üblicherweise werden die Testfälle mit Priorität 1 und Priorität 2 in dieser Phase getestet.