ubuntuusers.de

Präzise Qualität, nicht nur für das präzise Schuppentier

ubuntu_old.png

Mark Shuttleworth, der Ubuntu-Gründer, hat mal wieder einen Blogpost veröffentlicht. Dieses Mal liegt der Schwerpunkt auf dem Qualitätssicherungsprozess und den Methoden, die angewandt werden, um mit Ubuntu Precise Pangolin (12.04 LTS) ein möglichst stabiles Betriebssystem zu schaffen.

Zunächst erzählt Mark Shuttleworth, dass er seinen Hauptlaptop auf Precise Pangolin aktualisiert habe und zeigt sich begeistert davon, wie reibungslos der Prozess vonstatten ging. Er lobt dazu alle, die für den Entwicklungsprozess verantwortlich sind. Ihr Engagement, Precise Pangolin von Beginn an zu einem stabilen Release zu machen, sei deutlich spürbar.

Die drei Standbeine des Entwicklungsprozesses von Ubuntu seien die Regelmäßigkeit, die Qualität und das Design. Für die Entwicklerteams, die selber ihren Code verwalten können (wie zum Beispiel bei Unity, juju, bzr, lp und anderen der Fall), wäre die Qualitätssicherung recht einfach durchführbar. Für sie sei es leichter, Tests durchzuführen. Schwieriger dagegen hätten es das Plattformteam und die Ubuntu Community: Sie müssten tausende von Paketen zu einem Gesamtprodukt vereinen: Ubuntu.

Mark Shuttleworth äußert sich anerkennend über die in den letzten Jahren erzielten Fortschritte bei der Qualitätssicherung. Dies sei zu großen Teilen ein Ergebnis des Engagements von Rick Spencer und Pete Graner. Außerdem dankt er den Entwicklern von Tools wie Jenkins oder LAVA, welche die automatische Durchführung von Tests erlauben und aus deren Ergebnissen sich Hinweise auf mögliche Probleme erschließen lassen.

So gibt es nun einen sogenannten „täglichen Wetterbericht“ für Precise Pangolin, der ein ungefähres Gefühl vom aktuellen Entwicklungsstand vermitteln kann. Außerdem würden Testsuites nun enger in den Qualitätssicherungsprozess für Upstream bei Ubuntu eingebunden. Dieses Test-Harnisch soll zu einer höheren Qualität der Ubuntu-Releases beitragen. Dazu zitiert Mark einige Aussagen Ricks zu diesem Thema:

  • Es solle immer einen Trunk mit Code geben, der an Ubuntu gebunden ist.

  • Dieser Trunk solle immer automatisch gebaut werden und automatische Tests beinhalten.

  • Bevor ein Branch mit dem Trunk verbunden wird, müsse dieser ausgiebig getestet werden. Sobald im Trunk ein Fehler durch einen neuen Branch auftrete, müsse dieser Branch sofort wieder entfernt werden.

  • Es sollen keine Trunks zu Ubuntu hochgeladen werden, bei deren Tests ernsthafte Fehler gefunden wurden, da es keinen Grund gäbe, den aktuellen Trunk in Ubuntu zu haben, wenn dieser kaputt ist. Das verlangsame nur die Arbeit aller Beteiligten.

Diese Tests sollen mit der Zeit immer mehr verfeinert und erweitert werden. Dies sei in nächster Zeit das vorrangige Ziel.

Als weitere Qualitätssicherungsmaßnahme seien tägliche Tests für geänderte Programme aus dem Software-Center geplant. Zudem seien ergänzend auch Maßnahmen für den Test verschiedener Hardware geplant: So würde zum Beispiel die für 12.04 LTS geplante Unterstützung mehrerer Bildschirme unter Unity mit verschiedenen, teils exotischen Testaufbauten geprüft. Dazu kämen Dinge wie Tests der täglichen ISO-Images sowie das Rückgängigmachen von Änderungen, die zu Stabilitätsproblemen bei einigen Benutzern führen könnten.

Alle beschriebenen Prozesse seien dabei nicht nur auf Canonical-Mitarbeiter beschränkt; auch die Entwicklercommunity ist aufgerufen, Testprozesse zu implementieren.

Wenn bei Upstream-Projekten bereits Test Suites vorhanden sind, würden diese direkt in den Qualitätssicherungsprozess bei Ubuntu integriert. Im Idealfall sollten so bei jeder Änderung eines Paketes auch daraus resultierende Fehler bei davon abhängigen Paketen entdeckt werden. Gerade der letzte Schritt sei für Upstream-Projekte nur sehr schwer durchführbar.

Canonical ist erfreut zu sehen, dass auch immer mehr Upstream-Projekte die Wichtigkeit des Testens erkennen: So werde immer mehr Wert auch auf Unittests, Funktionsprüfungen sowie das TDD (test-driven development - testgetriebene Entwicklung) gelegt. Open-Source-Projekte sprächen gerne von Überlegenheit durch Qualität – allerdings sei es ebenfalls notwendig dies durch solche Maßnahmen auch zu belegen.

Es gäbe allerdings auch weitere Dinge, die zur Qualität von Ubuntu beitragen sollen: Als Beispiel nennt Mark Shuttleworth hier eine bessere Integration von Apport. Es erkennt Abstürze und erstellt automatisch Fehlerberichte. Diese werden dann durch ein großes Datensieb weitergeleitet. Hierdurch solle es möglich werden, die Probleme zu erkennen, welche die größten Auswirkungen auf die meisten Nutzer hätten.

Der Originalbeitrag Mark Shuttleworths findet sich in seinem Blog.


Achtung!

Bei Ubuntu Precise Pangolin handelt es sich noch um eine Entwicklungsversion! Sie ist bisher nur für Tester und Entwickler gedacht und sollte noch nicht zum produktiven Einsatz verwendet werden!