Veröffentlicht am 27-02-2019
Foto von Fabien Wl auf Unsplash

Beharrlichkeit in der Automatisierung

Ich mag Automatisierung. Ich musste es am Anfang so angeben, dass Sie nicht meinen, dass es die Absicht dieses Artikels ist, es zu beschimpfen. Die langfristigen Vorteile der Automatisierung liegen für mich auf der Hand und ich bin mir mehr als bewusst, dass sie die Möglichkeit haben, Dinge mit Automatisierung schnell und effizient zu testen. Was mir nicht gefällt, ist die ständige Pflege der Plattform selbst. In einem Moment ist alles gut, aber einen Moment später scheitert alles. Was schief gelaufen ist, kann niemand erraten, und es muss eine Untersuchung eingeleitet werden. Manchmal wird der Täter schnell gefunden und ist wahrscheinlich auf menschliches Versagen zurückzuführen. Zu anderen Zeiten vergehen Tage ohne scheinbaren Fortschritt. Du wirst frustriert. Ihr Feature wird zurückgestellt und manchmal kann der gesamte Entwicklungszyklus des Teams zum Erliegen kommen. Anstatt sich immer mehr zu bewegen und Ihr Vertrauen in Ihre Automatisierung zu verlieren, sollten Sie lieber Zeit investieren, um die Mängel der Automatisierung als Ganzes zu verstehen. Lesen Sie unten, wie Sie mehr Wert auf Ihre Automatisierung legen können.

Auseinander brechen

Um zu verstehen, wo die Frustrationen von Ihrer Plattform herrühren, müssen Sie zunächst wissen, aus welchen Teilen Ihre Automatisierungsplattform besteht. Jede Plattform kann stark variieren und mehrere Komponenten enthalten. Verwenden Sie nur Unit-Tests? Haben Sie eine Jenkins-Maschine, die Ihre Tests ausführt? Auf welchen Plattformen führt Ihre Automatisierung Tests durch? Ist immer eine Internetverbindung erforderlich?

Nachdem Sie die Grundkomponenten beschrieben haben, können Sie sich tiefer in die einzelnen Komponenten einarbeiten und sich mit den inneren Abläufen vertraut machen. Einige Komponenten können Einschränkungen aufgrund der Speichernutzung aufweisen. Einige können Probleme haben, mit dem Internet verbunden zu bleiben. Erkundigen Sie sich und finden Sie heraus, ob diese Komponenten ausgetauscht werden oder aktualisiert werden können. Wägen Sie die Vor- und Nachteile jeder Komponente ab und entscheiden Sie, was losgelassen werden kann und was beibehalten werden muss.

Eine Automatisierungsplattform ähnelt einem Fahrzeug. So wie wir unsere Autos jährlich überprüfen, sollten wir dies auch für die Automatisierung tun. Denn wie Ihr Auto, wenn Sie nicht auf die Schilder achten, werden Sie bald auf einen Abschleppwagen am Straßenrand warten.

Foto von Dietmar Becker auf Unsplash

Instandhaltung

Um Ihr System in bester Form zu erhalten, müssen Sie es regelmäßig überprüfen. Eine Automatisierungsumgebung ist komplex und um mit der Auto-Analogie fortzufahren, hat jedes Teil seine eigenen Besonderheiten. Und wie bei einem Auto gibt es physische Systeme und solche, die Code betreffen. Wenn Sie beispielsweise mobile Geräte verwenden, stellen Sie sicher, dass sie ständig über die Kabel aufgeladen werden, mit denen sie verbunden sind. Sie möchten nicht, dass die Automatisierung fehlschlägt, nur weil ein Gerät keinen Strom hat. Wenn das Kabel nicht in Ordnung ist, ersetzen Sie es. Wenn Sie Maschinen verwenden, auf denen Jenkins installiert ist, stellen Sie sicher, dass ihnen nicht genügend Platz zur Verfügung steht. Eine Maschine kann sich verklemmen und die Leistung verlieren, wenn nicht genügend physischer Speicherplatz auf der Festplatte vorhanden ist. Ermitteln Sie die Bereiche, in denen Ihre Automatisierungsplattform Schwachstellen aufweist, die in Bezug auf Hardware behoben werden können. Die Hardware ist jedoch nicht der einzige Teil der Automatisierungsplattform. Die von Ihnen durchgeführten Tests machen die andere Hälfte Ihres Systems aus.

Haben Sie schon Tests, die manchmal bestehen, aber andere Male versagen? Vielleicht ist es nach ein paar Wiederholungen nicht das erste Mal? Es ist wichtig zu unterscheiden, wann ein Testfehler tatsächlich ein durch eine Funktion verursachtes Problem kennzeichnet und wann Fehlalarme entstehen. Zu verstehen, was den Test zum Scheitern gebracht hat, kann große Folgen haben. Wir alle haben die Frustration mit laufender Automatisierung erlebt und einen zufälligen Test ohne bestimmten Grund fehlgeschlagen. Es macht keinen Sinn, mit Tests zu experimentieren, die nicht stabil sind. Sie erhalten glanzlose Ergebnisse, und die Zeit, die Sie in sie investieren, sollte aufgewendet werden, indem Sie versuchen, sie stabil zu machen, und nicht, indem Sie sie für den Moment vergehen lassen. Wenn Sie diese fehlerhaften Tests aus dem regulären Kontext der Automatisierung heraus verschieben, gewinnen Sie ein paar wichtige Dinge:

  • Sie machen Ihre Automatisierungsumgebung stabiler und zuverlässiger
  • Wenn Sie sie beiseite stellen, haben Sie die nötige Zeit und Mühe, um herauszufinden, was mit dem Test tatsächlich nicht stimmt

In der Automatisierung gibt es immer einen Kampf um die Testsuite. Was ist wichtiger, Abdeckung oder Stabilität? Diese Frage hat keine endgültige Antwort und hängt von verschiedenen Faktoren Ihres Entwicklungsteams ab. Wenn eine große Version in Arbeit ist, können Sie die Tests entfernen, die fehlschlagen, um Stabilität zu gewähren. Gleichzeitig verlieren Sie jedoch die Abdeckung. Wenn Sie jedoch die problematischen Tests untersuchen, wird die Stabilität Ihres Automatisierungssystems direkt beeinträchtigt.

Foto von Manan Chhabra auf Unsplash

Gewohnheit machen

Es gibt einige Dinge, die Sie ständig tun können, um die Wartung Ihrer Automatisierungsumgebung zu minimieren und die Wartung so einfach wie möglich zu gestalten.

  • Versionen - Stellen Sie sicher, dass alle Komponenten auf dem neuesten Stand sind. Wenn Sie dies nicht tun, setzen Sie Ihre Plattform Bugs aus, die möglicherweise ausgebessert wurden, und Sie werden auch beim Aktualisieren am falschen Ende sein.
  • Häufige Automatisierungsläufe - Falls möglich, führen Sie Ihre Automatisierung aus, wenn sie am wenigsten verwendet wird. Machen Sie es beispielsweise zur Regel, um nachts Automatisierung auszuführen. Wenn Sie also am nächsten Morgen im Büro ankommen, können Sie feststellen, ob etwas beschädigt wurde, ob es sich dabei um die Automatisierung selbst oder um die Funktion eines anderen handelt.
  • Hinzufügen eines Tests - Verstehen Sie, nach welchen Kriterien Sie einen Test zu Ihrer Automatisierungsplattform hinzufügen können. Wie viele Zyklen muss es durchlaufen, bevor es stabil definiert wird? Wie viele Plattformen sind beteiligt? Sobald Sie die Grundregeln festgelegt haben, wird der Prozess, dem ein neuer Test unterzogen wird, erzwingen, dass er nur dann in die Automatisierung eintritt, wenn er vollständig überprüft wurde.

Haben Sie Rückmeldungen zu Ihren Automatisierungskämpfen? Ich würde es sehr gerne hören.

Diese Story wird in The Startup veröffentlicht, der größten Veröffentlichung zum Thema Entrepreneurship von Medium, gefolgt von +436.678 Personen.

Abonnieren Sie unsere Top Stories hier.

Siehe auch

TripActions Account Executive Christine Vittorio über eine bessere Erfahrung für Geschäftsreisende