Zusammenfassung des Buches Praktischer Leitfaden zum Testen in DevOps, Katrina Clokie

Das Buch erklärt, wie man Tests erstellt, um Fehler nicht nur zu erkennen, sondern auch zu vermeiden. Es hat uns sehr gut gefallen, deshalb haben wir uns als Oldtimer entschlossen, die Tradition der Abstracts auf Habré zu unterstützen und die interessantesten Thesen aufzustellen.



Wie sich die Ansätze zum Testen der Organisation geändert haben:


Wasserfall
Alles begann mit Tests mit der Wasserfallmethode. Diese Phase ist durch die Tatsache gekennzeichnet, dass das Testen die Aktivität nur eines Teammitglieds ist (raten Sie mal, wer). Niemand außer dem Tester weiß etwas über die Teststrategie und hat keinen Zugriff auf Testfälle und Checklisten. Aufgaben fliegen auf Befehl wie ein Ball in einer Tischtennisplatte. Diese Periode ist durch lange Veröffentlichungen gekennzeichnet.

Agil
Bei der Arbeit an der agilen Methodik liegt das Testen in der Verantwortung des gesamten Teams. Dies bedeutet, dass nicht nur Tester, sondern auch Entwickler Probleme finden und lösen. Diese Phase ist gekennzeichnet durch häufige Veröffentlichungen und schnelles Feedback.

Devops
Jetzt wird das Testen durch Support, Analyse, Infrastruktur und Überwachung beeinflusst. Die Grenzen und die Art des Testens ändern sich. Das Team erhält nun Informationen aus verschiedenen Kanälen: Überwachung, Anfragen von Supportdiensten, Analyseberichte. Gleichzeitig sollten die Tests zuverlässig sein, aber die Schnellspanner nicht beeinträchtigen.

Testen im Zeitalter von DevOps und CI


Der Autor behauptet, dass DevOps viel größer als CI ist. CI konzentriert sich auf technische Praktiken, die das Schreiben von Code beschleunigen (z. B. Versionskontrollsystem, Komponententests, häufige Festschreibungen) und DevOps - auf organisatorische Änderungen (insbesondere Unterstützung für eine engere Zusammenarbeit zwischen verschiedenen Arten von Softwarebereitstellungsmitarbeitern: Analysten, Support, Entwicklungsteam).

Ohne Agile hätte es keine DevOps-Kultur gegeben. Die Leute müssen flexibel denken, um zu DevOps zu gelangen, dessen Hauptziel die Zuverlässigkeit und Häufigkeit von Veröffentlichungen ist. Gleichzeitig wird das Thema Testen in Berichten über DevOps häufig übersehen.

Die Hauptthese von Katrina ist, dass Sie immer und in jeder Phase testen müssen - vom Beginn der Arbeit an der Aufgabe bis zum letzten Release-Commit.

Das Arbeitsvolumen ist sehr groß. Es stellt sich die Frage, wie man alle Tests organisiert und nicht verrückt wird.

Wo soll ich mit dem Testen beginnen?


  • Verstehen Sie, wie der Testprozess für das Projekt jetzt angeordnet ist.
  • Organisieren Sie eine Retrospektive von Teststrategien für das gesamte Team und beantworten Sie die Frage, was wir jetzt testen und warum. Es kann sich herausstellen, dass die Teilnehmer eines Teams Fragen zum Prozess unterschiedlich beantworten, was falsch ist.

DevOps ist mehr als nur flexibles Testen. Die Ideologie von DevOps impliziert einen perfekt debuggten Prozess, bei dem nicht nur schnell eine neue Version in der Produktion bereitgestellt oder auf die vorherige zurückgesetzt wird, sondern auch die Kommunikation zwischen den Befehlen dev und operation gleichermaßen debuggt wird.

10 Kriterien, anhand derer Sie überprüfen können, ob Agile in Ihren Tests enthalten ist:


  1. Das gesamte Team weiß genau, was bei der Arbeit an einer bestimmten User Story getestet werden muss.
  2. Jeder hat ein gemeinsames Verständnis der Geschäftsanforderungen.
  3. Wenn Sie über User Story sprechen, haben Sie die Antwort auf die Frage "Wie werden wir das testen?".
  4. Jeder im Team weiß, wie man Autotests durchführt und wo man das Ergebnis sieht.
  5. Sie besprechen im Voraus, was Sie automatisieren und auf welcher Ebene, um Tests auf verschiedenen Ebenen nicht zu duplizieren. (Dieser Artikel schien uns der wichtigste).
  6. Ihre Testskripte werden versioniert und mit dem Quellcode gespeichert, da Tests Teil der Software sind.
  7. Sie haben keine Fehler im Backlog, da Sie Fehler beheben, sobald Sie sie finden, und sie nicht nur registrieren.
  8. Keine Ausfallzeiten bei der Arbeit des CI-Servers.
  9. Während der Rallye ist nicht klar, wer der Entwickler und wer der Tester ist.
  10. Ihr Team kann die Qualität des Produkts bewerten. Jeder versteht, wie der Testprozess im Projekt funktioniert.

Sie können sich über den Link selbst überprüfen - hier erklärt der Autor, warum diese Punkte hervorgehoben werden und warum sie wichtig sind.

Kollaborationspraktiken bei DevOps


Je öfter Menschen kommunizieren, desto besser verstehen sie, was Kollegen tun und wie ihnen geholfen werden kann. Deshalb bietet Katrina ihnen an, häufiger über Tests zu diskutieren. Es gibt verschiedene Möglichkeiten, dies zu tun:

  • Überprüfung der Checkliste durch Analysten und Support. Frühzeitige Tests können die Release-Qualität verbessern.
  • Testen zu zweit: Tester und Analyst, Support und Entwickler.
  • Mitarbeiterrotation zwischen Entwicklerteams und Support.
  • Dojo (als Teil der Softwareentwicklung) ist eine Umgebung, in der Menschen ihre Entwicklungsfähigkeiten gemeinsam lernen und üben können: Meisterkurse, Wissensaustausch.

Produktionstests


Die folgenden Tools erleichtern das Testen in der Produktion:

  • Überwachung so konfiguriert, dass Sie das Problem leicht finden und identifizieren können.
  • Warnungen über verschiedene Kommunikationskanäle: Zum Beispiel eine Nachricht an den Messenger, wenn der Server abstürzt, oder eine E-Mail, wenn der Speicher knapp wird.
  • Analytics (z. B. Google Analytics) zeigt an, wie viele Benutzer die Funktionalität nutzen.
  • Protokollierung lesbar gemacht.
  • Feedback von Kunden - Bewertungen im Geschäft, Feedback-Formulare in Webanwendungen.

PS


Diese Zusammenfassung enthielt nicht viele interessante Dinge. Das Buch ist gut geschrieben, wir empfehlen es Testern, die über das Testen in DevOps-Projekten nachdenken.

Zum Schluss noch ein paar nützliche Links:

  • Das Buch kann hier gekauft werden .
  • Link zu Katrinas Performance- Video von den Agile Testing Days 2017.
  • Link zu Katrina Klokis Blog .

Source: https://habr.com/ru/post/de414631/


All Articles