PortfolioKarriere |

Tooleinsatz im DevOps-Umfeld

Wir Trainees tauchen immer weiter in die DevOps-Welt ein. In diesem Beitrag stellen wir euch vier Tools vor, die uns persönlich besonders gefallen haben.

In diesem Blogbeitrag wollen wir euch einige Tools aus dem DevOps-Umfeld näher bringen. Jede:r Trainee hat sich ein Tool rausgesucht, was ihm oder ihr im Rahmen des Traineeprogramms besonders gefallen hat. Nachfolgend stellen wir euch Octane, Postman, Cypress und Selenium vor.

ALM Octane

Wie heißt dein Tool?

ALM Octane™ (aus der OpenText Familie)

Was macht dein Tool?

ALM Octane™ wird im ALM (= Application Lifecycle Management) eingesetzt. Es umfasst integrierte Planung, kontinuierliche Integration, Testmanagement und Versionsmanagement. Damit hilft es IT-Consultants, die Qualität und Effizienz ihrer Softwareentwicklungsprozesse zu verbessern.

Wann bzw. wo wird es im DevOps-Zyklus eingesetzt?

Es kann die gesamte Zeit, also über den vollständigen Application Lifecycle, eingesetzt werden. Es kann Teams von der Erstellung von Anforderungen (Product Backlog Items) über das Testmanagement bis hin zur Durchführung von Tests und Erstellung von Defects begleiten. Octane ermöglicht zudem ein agiles Arbeiten. Features bzw. Defects können bestimmten Releases bzw. Sprints hinzugefügt werden. Es ist möglich, Octane mit anderen Tools wie Jira zu synchronisieren und dadurch Teamarbeit und Kommunikation im Projekt zu stärken. Die proficom ist in der Anwendung von Octane™ spezialisiert und bietet ihren Kund:innen Schulungen im Einsatz des Tools.

Warum hast du dich für dieses Tool entschieden?

Ich habe mich für Octane entschieden, da ich gerne auf grafischen Oberflächen arbeite und finde, dass Octane viele hilfreiche Funktionen bietet wie z.B. das Verknüpfen von Anforderungen mit Tests oder Defects. Es hat eine intuitive Benutzeroberfläche und erlaubt uns als Team zusammen zu arbeiten (z.B. durch die Kommentarfunktion und Echtzeit-Aktualisierungen).

Postman

Wie heißt dein Tool?   

Postman

Was macht dein Tool? 

Postman ist ein GUI-Tool zum API-Testen. Aber es kann noch mehr. In Collections und Environments können wir unsere HTTP-Requests organisieren. Dabei können wir einfach alle sensiblen Informationen, wie Zugangsdaten, in Umgebungsvariablen auslagern. Dazu kommt die Möglichkeit, Skripte in JavaScript zu schreiben. Sie erleichtern uns komplexe Anfragen und Test Automation. Beispielsweise lässt sich ein Userlogin so sicher und automatisiert ausführen. Zur Authentifizierung und Autorisierung unterstützt Postman verschiedene Methoden, wie OAuth, Basic Auth oder JSON-Web-Token. 

Wann bzw. wo wird es im DevOps-Zyklus eingesetzt? 

Code & Test 

Warum hast du dich für dieses Tool entschieden?  

Postman war mir als Software schon vorher bekannt. Ich habe damit meine Backends oder APIs getestet. Ich hatte nie gesehen, was Postman mehr kann als ein einfaches Curl, bis wir über den Workshop bei proficom zur Möglichkeit des Skriptens gekommen sind. Und Skripte sind toll. Sie machen jeder Entwicklerin das Leben leichter und helfen uns bei der Automatisierung. 

Cypress

Wie heißt dein Tool?

Cypress

Was macht dein Tool?

Cypress ist ein besonders praktisches Tool für Entwickler und Tester zum Testen von Webanwendungen. Es läuft nämlich direkt im Browser und macht es super einfach, automatisierte Tests zu entwerfen. Stellen Sie sich vor, Sie könnten Ihre Website so testen, als ob Sie sie selbst benutzen würden – genau das ist mit Cypress möglich. Cypress sorgt dafür, dass Ihre Tests stabil und zuverlässig sind. Mit Cypress lässt sich ein Großteil der Frustration beim Testen vermeiden, denn es löst viele der typischen Schwierigkeiten, die beim Testen auftauchen, wie z. B. flackernde Tests oder erschwertes Debugging. Man bekommt sogar Rückmeldungen in Echtzeit und kann direkt sehen, was schiefläuft. In Cypress ist nicht nur alles superschnell, sondern auch anwenderfreundlich.

Wann bzw. wo wird es im DevOps-Zyklus eingesetzt?

Cypress wird in der Testautomatisierung eingesetzt. Es wurde für zwei Anwendungsfälle entwickelt: Für End-to-End-Tests (E2E) von Web-Applikationen und für Unit-Tests von JavaScript-Code. Der Aufwand für die Implementierung der Testautomatisierung zahlt sich langfristig aus, wenn dadurch freiwerdende Ressourcen anderweitig genutzt werden können. Cypress eignet sich gut für DevOps Projekte, da es sich nahtlos in gängige CI/CD-Tools integrieren lässt.

Warum hast du dich für dieses Tool entschieden?

Ich war sofort von Cypress fasziniert, weil es die Testautomatisierung so zugänglich macht. Es lässt sich leicht erlernen und es macht richtig Spaß, Tests zu schreiben. Cypress hat mir vermittelt, wie effektiv und benutzerfreundlich Testwerkzeuge tatsächlich sein können.

Selenium

Wie heißt dein Tool?

Selenium

Was macht dein Tool?

Selenium mit Java ist ein fantastisches Tool für die Automatisierung von Webanwendungstests. Ich kann komplexe und robuste Testszenarien erstellen, die mit anderen Testtools, die auf Aufzeichnungs- und Wiedergabefunktionen oder Skriptsprachen beruhen, ggf. umständlicher zu realisieren wären. Die Möglichkeit, Tests programmatisch zu schreiben, erlaubt es mir, fortgeschrittene Programmiertechniken einzusetzen. Außerdem bietet das Schreiben von Testfällen in Code ein hohes Maß an Flexibilität und Leistungsfähigkeit.

Wann bzw. wo wird es im DevOps-Zyklus eingesetzt?

Selenium mit Java ist ein leistungsstarkes und vielseitiges Tool. Es wird häufig verwendet, um automatisierte Tests für Webanwendungen zu erstellen. Diese Tests werden in die CI-Pipeline integriert, um sicherzustellen, dass Änderungen am Code die bestehenden Funktionen nicht beeinträchtigen. Bei jedem Code-Commit werden die Tests automatisch ausgeführt, um sofortiges Feedback über den Zustand der Anwendung zu erhalten. Bei jeder Änderung am Code werden mit Selenium Regressionstests durchgeführt, um sicherzustellen, dass neue Änderungen keine bestehenden Funktionen beeinträchtigen. Außerdem wird Selenium verwendet, um komplexe End-to-End-Testszenarien zu automatisieren, die den gesamten Workflow der Anwendung abdecken und sicherstellen, dass alle Komponenten der Anwendung wie erwartet zusammenarbeiten.

Warum hast du dich für dieses Tool entschieden?

Ein Grund, warum ich Selenium mit Java bevorzuge, ist die Möglichkeit, objektorientierte Programmierprinzipien, insbesondere Polymorphismus, zu nutzen, um sauberen und wartbaren Code zu schreiben.

Die Polymorphie ermöglicht es mir, meinen Testautomatisierungsrahmen modular und wiederverwendbar zu gestalten. So kann ich beispielsweise eine Basisklasse für allgemeine Aktionen erstellen und sie für spezifische Testfälle erweitern, was die Codeduplizierung reduziert, und die Lesbarkeit verbessert. Durch die Definition von Schnittstellen und deren Implementierung in verschiedenen Klassen kann ich sicherstellen, dass mein Testcode die SOLID-Prinzipien einhält, wodurch er robuster und leichter zu warten ist.