Aus der Feder von Bernhard Wiedemann bei Suse stammt Open QA, ein Tool, das das automatisierte Testen von Distributionen, Images und Appliances erlaubt.
Beim automatisierten Testen vergleicht die Software meist nur die Ausgabe eines Prozesses mit einem vorher definierten Ergebnis, ähnlich dem Bäcker, der seinen Kuchen probiert und dabei eine Erwartungshaltung im Kopf hat. Es gibt viele Testtools, die diesen Vorgang automatisieren, doch bisher fehlte eines, das eine ganze Distribution zu testen vermag. In diese Lücke dringt Open QA vor.
Software testet Distributionen
Die Software kann einzelne GUI-Applikationen testen, ebenso aber auch den korrekten Ablauf eines Bootprozesses und soll damit dem Tester lange, bisweilen frustrierend langweilige Arbeit abnehmen. Gleichzeitig ermöglicht es den Entwicklern, die Qualität der Software in deutlich kürzerer Zeit sicherzustellen. QA steht für Quality Assurance, Qualtiätssicherung. Open QA braucht nur ein System mit einer Virtualisierung (KVM oder Virtualbox), seine Ergebnisse gibt es in Videos, Logs oder Bilddateien, je nachdem welchen Detaillevel der Benutzer einstellt.
Neben Open Suse, für das das System entwickelt wurde, kann Open QA auch Debian, Windows, Fedora und Arch Linux überprüfen. Im Nürnberger Hausgebrauch kommt meist die Development Preview unter die Lupe, mit erweiterten Tests für diverse Updates von Factory, die den Erfolg von Bugfixes nachweisen sollen. Auch die Ergebnisse stehen im Web zur Verfügung, wo die Web-Gui von Open QA zu einem ersten Überblick einlädt.
Online-Demo im Suse-Entwicklersystem
Die linke Spalte zeigt die jüngsten Bug Fixes aus Factory, die ausgerollt werden sollen, direkt verlinkt mit den Reports in Bugzilla. Ein Klick auf Testüberblick (Overview) führt direkt zu den laufenden Tests und deren Stati. Natürlich fehlen auch die detaillierten Ergebnisse samt Video nicht.
Wer sich das selbst einrichten will, braucht nicht viel: Perl und eine Virtualisierung (Qemu, KVM oder Virtualbox). Dann zieht er sich die aktuellste Version aus dem Git Repository, prüft unter “distri”, ob seine Distribution unterstützt wird und passt die Konfiguration an seine Bedürfnisse an, meist reicht es die Standard-Konfiguration aus der Vorlagedatei “env.sh.sample” nach “env.sh” zu kopieren. Jetzt noch ein zu testendes ISO-Image finden, und los gehts. Der Befehl “os-autoinst/tools/isotovideo PATHTO/openSUSE-KDE-LiveCD-i686-Build0625-Media.iso” erzeugt beispielsweise ein Video vom Bootprozess.
Videos, Bilder und Logs – bald auch OCR, Ton und Referenzen!
Wie erwähnt, gliedern sich die Ergebnisse in drei Teile: Video, Bilder und Logs. Bilder findet der Admin im Verzeichnis “os-autoinst/testresults”, Videos dort unter “videos” und das Protokoll des letzten Testlaufs in der Datei “currentautoinst-log.txt”. Meist reicht es, das Video anzusehen, doch in seltenen Fällen braucht es auch die vielen Details aus dem Log, um einen Fehler ausfindig zu machen.In seinen jüngsten Erweiterungen hat der Entwickler Bernhard Wiedemann auch OCR, Audio und Referenzbilder hinzugefügt.
Das hier:
verlinkte englischsprachige Original dieses Artikels zeigt, wie sich diese einbinden lassen, wie Anwender eigene Testszenarien bauen (anhand eines einfachen SSHD-Moduls) und was die Entwickler für die Zukunft planen.
Was Open QA nicht kann, nämlich Hardware-Probleme ausfindig zu machen, macht laut Entwickler Wiedemann “nur 10 Prozent der typischen Fehler aus. 90 Prozent sind nicht Hardware-spezifisch.” Als vergleichbares Tool nennt er Hydra aus dem NixOS-Projekt.






