Stellen Sie sich vor, die wichtigste Software Ihres Unternehmens bricht plötzlich ab – was würde geschehen? Bestellungen könnten verloren gehen, Fristen könnten verpasst werden, aber die Kundschaft würde sich definitiv beschweren.
Dieses Albtraum-Szenario ist vermeidbar: Durch die Implementierung eines kontinuierlichen und strengen Testprozesses, der Probleme erkennt, bevor sie Chaos verursachen. Die Implementierung eines solchen Prozesses in Ihrem Unternehmen ist jedoch einfacher gesagt als getan.
In diesem Artikel erfahren Sie, was Sie bei den ersten Schritten mit Tests in Ihrem Unternehmen berücksichtigen müssen und wie Sie langfristig von Tests profitieren können.
Best Practices für Produktteams testen
Im ersten Teil dieses Artikels wird beschrieben, wie Sie mit der Implementierung von Tests in Ihrem Workflow beginnen.
Eine Testkultur in Ihrem Team implementieren
Damit Sie das Testen in Ihrem Team erfolgreich einführen können, müssen alle eine gemeinsame Denkweise haben und Qualität nicht als Belastung, sondern als Investition sehen. Dies ist ein Prozess, der wie jeder andere kulturelle Wandel Zeit und Einheitlichkeit erfordert.
Regelmäßige Meetings können diese Kultur mitgestalten, um über Fehler, ihre Auswirkungen, ihren Ursprung und ihre Behebung zu sprechen. Dies trägt dazu bei, ein Bewusstsein dafür zu schaffen, warum es gut ist, solche Mängel von vornherein zu vermeiden.
Eine engagierte Person im Team zu haben, die die Bemühungen überwacht und vorantreibt, kann die Erfolgschancen erheblich erhöhen. Eine Person, die Richtlinien für das Team oder sogar das gesamte Unternehmen definiert, Best Practices sammelt und teilt und sich für den Einsatz über mehrere Ebenen einsetzt.
Ein weiteres nützliches Instrument besteht darin, die Support-Rolle Ihres Produkts zu rotieren. Ungefilterte Erkenntnisse aus erster Hand von Ihren Kunden zu erhalten und mehr über alltägliche Probleme zu erfahren, mit denen sie sich im Zusammenhang mit Ihrem Produkt konfrontiert sehen, kann für Produktmanager, Designer und Entwickelnde eine wertvolle Erfahrung sein.
Ziel ist es, dass alle in Ihrem Team verstehen, dass Qualität ein Merkmal ist, ebenso wichtig wie jede andere Funktionalität, die Sie für Ihr Produkt erstellen. Sobald alle diese Denkweise übernommen haben, ist es eine natürliche Weiterentwicklung zu verstehen, dass auch Tests eine Funktion sind. Denn Tests stellen die Versandqualität sicher.
Ein Schritt-für-Schritt-Testprozess
Sobald sich die verschiedenen Teams, die an der Produktentwicklung beteiligt sind, aufeinander abstimmen, können Sie das Vorhandensein und die Verwendung von Tests weiter formalisieren.
Binden Sie Tests in die „Definition of Done“ ein.
Durch das Hinzufügen von Tests als Featureanforderung geben Sie an, dass ein Feature erst dann ausgeliefert werden kann, wenn es ordnungsgemäß und automatisch getestet wurde.
Regelmäßig Tests durchführen
Nach der Implementierung können Sie automatisierte Tests in jedem Schritt des Entwicklungsprozesses absichern. Sie erfordern keinen menschlichen Eingriff und können bei jedem kritischen Schritt der Entwicklungspipeline ausgeführt werden. Beispiel:
- Bei jedem Commit.
- Bei jeder Pull-Anfrage.
- Nach jeder vollständigen Veröffentlichung oder Änderung der Umgebung.
Wenn Sie in Ihrer Produktionsumgebung auf Dienste von Drittanbietern angewiesen sind, kann es sogar sinnvoll sein, Tests mit der Produktionsumgebung durchzuführen, um sicherzustellen, dass Drittanbieter-APIs sich wie erwartet verhalten.
Metriken definieren und sammeln
Das Definieren einer Reihe von Messwerten ist wichtig, um die Effektivität Ihrer Tests und die Auswirkungen von Testworkflows auf Ihr Unternehmen zu messen. Hier sind einige Beispiele für Messwerte, die Sie verwenden können:
- Releases pro Monat: Eine höhere Anzahl von Releases pro Monat kann auf einen agileren Entwicklungsprozess hindeuten. Automatisierte Tests spielen hier eine wichtige Rolle, da sie dafür sorgen, dass Releases zuverlässig ausgeführt werden können.
- Fehlerberichte: Ein abnehmender Trend in Fehlerberichten kann ein positives Zeichen dafür sein, dass Ihre Test- und Entwicklungsprozesse effektiv sind.
- Testabdeckung: Die Abdeckung ist kein exakter Messwert, aber sie kann ein guter Indikator dafür sein, wie intensiv Sie kritische Anwendungsfälle testen.
Beachten Sie, dass diese Messwerte auch von anderen Faktoren beeinflusst werden, die sie verfälschen könnten. Beispielsweise kann die Anzahl der Versionen in der Festtagssaison sinken und Fehlerberichte steigen. Verlassen Sie sich also nicht nur auf wenige, sondern ordnen Sie sie auch anderen Daten zu, die Ihrem Team zur Verfügung stehen.
Wenn Sie diese Schritte mit Ihrem Team erfolgreich umsetzen, wird der Zustand Ihrer Produkte auf lange Sicht auf jeden Fall von Vorteil sein. Aber Sie können noch mehr tun!
Best Practices für Systemadministratoren testen
Produktteams können nicht allein arbeiten. Sie stützen sich auf Hardware, Tools und Infrastruktur, die von Systemadministratoren verwaltet werden. Obwohl Systemadministratoren in der Regel nicht direkt zur Produktentwicklung beitragen, können sie den Entwicklungsworkflow für immer beeinflussen. Zum Beispiel durch das aktive Verwalten der Browserversion, die von bestimmten Nutzergruppen im Unternehmen verwendet wird.
Im zweiten Teil des Artikels wird die Funktionsweise anhand der Kanäle und Unternehmensrichtlinien von Chrome erläutert.
Chrome-Release-Versionen
Standardmäßig wird Chrome automatisch aktualisiert, um sicherzustellen, dass jeder Nutzer die neueste, stabilste und sicherste Version von Chrome verwendet. Dies gilt auch für die neueste Chrome-Version, die als stabile Version veröffentlicht wurde.
Als Unternehmen, das ein webbasiertes Produkt entwickelt, sollten Sie einen Browser vor der stabilen Version verwenden, um Ihren Produktteams Zeit zu geben, Ihr Produkt an Änderungen der Webplattform anzupassen.
Für diesen Anwendungsfall bietet Chrome insgesamt vier Release-Versionen, die für verschiedene Nutzergruppen bestimmt sind.
Für Chrome gibt es verschiedene Release-Versionen, mit denen Sie auf zukünftige Browseränderungen vorbereitet und die neuesten Funktionen testen können, bevor sie allgemein verfügbar sind:
- Stabile Version: Dies ist die Phase, in der sich die meisten Nutzer befinden. Die stabile Version wird automatisch aktualisiert, wenn eine neue Chrome-Version verfügbar ist. Diese wird monatlich veröffentlicht.
- Betaversion: Diese Version wird in vier bis sechs Wochen auf den neuesten Stand gebracht. So haben Sie die Möglichkeit, eine anstehende stabile Version als Vorschau anzusehen, zu testen und sich darauf vorzubereiten.
- Entwicklerversion: Diese Version erhält einmal pro Woche eine neue Version von Chrome mit allen aktuellen Fehlerkorrekturen, die in der Betaversion veröffentlicht werden. Wie der Name des Kanals schon sagt, befindet er sich in der Entwicklung und könnte daher unerwartet kaputt gehen. Allerdings enthält er auch die neuesten Funktionen, manchmal lange bevor sie in den stabilen Zustand aufgenommen wurden. Das macht den Entwicklerkanal zu einem großartigen Tool für Prototyping und bahnbrechende Entwicklung.
- Canary-Kanal: Der experimentelle Kanal mit allen neuesten Funktionen, jedoch ohne viele Tests. Mindestens täglich veröffentlicht.
Wenn Sie mehr über die Chrome-Kanäle erfahren möchten, sehen Sie sich die entsprechende Folge von Chrome Concepts an.
Kanäle in einer beispielhaften Organisation verwenden
Die Struktur der Produktteams variiert je nach Unternehmen, da es bei der Softwareentwicklung keinen universellen Ansatz gibt. Als Beispiel nehmen wir ein Team mit den folgenden Rollen an: Produktmanagement, UX und UI, Engineering, Betrieb und Support.
Für ein Unternehmen wie dieses könnte man sich die folgende Aufteilung der Kanäle vorstellen:
- Produktmanagement: PMs können sich in der Regel auf die Version stable konzentrieren, damit sie dieselbe Version wie die meisten Nutzer verwenden. Gelegentlich können sie den Beta- oder Entwicklerkanal verwenden, wenn sie an einer Funktion arbeiten, für die eine noch nicht veröffentlichte API erforderlich ist.
- Entwicklung und UX: Einige dieser Teams können sich auf dem dev-Kanal befinden, um Zugriff auf die neuesten Funktionen wie View Transitions zu erhalten, bevor sie instabil sind.
- Vorgänge: Könnte sich in der Betaphase befinden, um zu prognostizieren, welche Ausfälle sich auf die Nutzer auswirken werden.
- Support: Kann die Release-Version stable nutzen, um sicherzustellen, dass Kunden mit dem Produkt über denselben Browser interagieren wie die meisten Ihrer Kunden.
Kanäle mithilfe von Unternehmensrichtlinien verwalten
Statt Richtlinien zu geben und die Entscheidung über den zu verwendenden Kanal überlassen zu werden, bietet Chrome auch Unternehmens- und Verwaltungstools, mit denen Sie aktiv verwalten können, welchen Kanal die einzelnen Nutzer verwenden. Dies ist nützlich, da die Testoberfläche sofort von einer wenigen Person auf eine deterministische Gruppe von Nutzern erweitert wird. Dadurch können Fehler so früh wie möglich und nachvollziehbar identifiziert werden.
Wenn Sie diese Kontrolle nutzen möchten, empfehlen wir folgende Konfiguration:
- Mitarbeiter (App-Nutzer): Um das Risiko von Unterbrechungen zu minimieren, sollten die meisten Mitarbeiter die Version stable verwenden, die vollständig vom Chrome-Testteam getestet wurde. Darüber hinaus kann ein kleiner Prozentsatz von Nutzern (zwischen 5 und 10%) den Beta-Kanal verwenden. Dieser Kanal bietet eine vier bis sechswöchige Vorschau der stabilen Version. Damit haben Administratoren die Möglichkeit, mögliche Probleme mit einem Release zu erkennen. So bleibt mehr Zeit, diese Probleme zu beheben, bevor der Release für alle anderen eingeführt wird.
- IT-Abteilung: Mitglieder der IT-Abteilung, einschließlich der Systemadministratoren selbst, können die Beta- oder Dev-Version nutzen, um eine Vorschau von 4–6 oder 9–12 Wochen auf zukünftige Entwicklungen in der stabilen Chrome-Version zu erhalten.
Langfristige Veröffentlichungskanäle
Die Produktentwicklung verläuft möglicherweise nicht so schnell wie geplant und der Rhythmus für die Veröffentlichung von Chrome von einem Monat könnte zu hoch sein. Für diesen Anwendungsfall bietet Chrome eine erweiterte stabile Version, mit der Funktionsupdates seltener, aber weiterhin Sicherheitsupdates installiert werden können. Dieser Kanal wird alle acht Wochen aktualisiert.
Das folgende Diagramm zeigt, wie verschiedene Meilensteine über die verschiedenen Release-Versionen von Chrome laufen:
- Die stabile und die erweiterte stabile Version stellen in den ersten vier Wochen die gleichen Versionen bereit, danach weichen die beiden aus.
- Es gibt keinen erweiterten Betakanal. Stattdessen wird der standardmäßige vierwöchige Betazyklus verwendet, um sowohl die stabile als auch die erweiterte stabile Version zu stabilisieren. Unternehmen, die sich für die erweiterte stabile Version von acht Wochen entscheiden, sollten die Betaversion weiterhin wie gewohnt ausführen, um proaktiv Probleme zu identifizieren, die sich auf ihre Umgebungen auswirken könnten.
Fazit
Tests sind ein wichtiger Bestandteil von Softwareentwicklungsunternehmen, um die Qualität ihrer Produkte sicherzustellen. Außerdem sind Tests ein wichtiger Schritt für Systemadministratoren, um Mitarbeitern einer Organisation Zugriff auf qualitativ hochwertige Software zu geben und zu vermeiden, dass Geschäftsprozesse unterbrochen werden.
Damit Sie bei der Implementierung eines Testworkflows in Ihrer Organisation erfolgreich sein können, müssen alle Mitarbeiter die gleiche Denkweise haben: Qualität und Tests sind daher eine Funktion.
In diesem Artikel werden verschiedene Möglichkeiten zur Integration von Best Practices für Tests in Ihrer Organisation beschrieben. Eine ausführliche Beschreibung der vorhandenen Testtools finden Sie im Artikel Chrome-Tools für reibungslose, automatisierte Tests.
Praktische Anleitungen zum Testen von Anfang bis Ende finden Sie in unserem aktuellen Learn Testing-Kurs und den Best Practices für die Testautomatisierung auf web.dev.