Was ist kontinuierliche Testung?

Was ist kontinuierliche Testung?

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Mar 26, 2019

Auf einen Blick: Kontinuierliches Testen integriert automatisierte Tests in die Softwarelieferpipeline, verbessert die Softwarequalität und hält die Bereitstellungsgeschwindigkeit aufrecht. Es ermöglicht kontinuierliches Feedback für das Risikomanagement und die Bewertung der Benutzererfahrung während der gesamten Entwicklung.

  • Unterstützt fundierte Einsatzentscheidungen.
  • Ermöglicht eine schnellere Servicebereitstellung durch Bewertung der Geschäftsrisikoabdeckung.

DevOps-Praktiken und agile Methoden haben die IT-Branche im Sturm erobert. Dieser Anstieg der Einführung dieser neueren Praktiken überrascht nicht diejenigen, die ihre Auswirkungen auf Softwareunternehmen erlebt haben. Die heutigen Kunden haben die Erwartungen durch die gestiegene Produktivität moderner Tech-Kolosse wie Google und Amazon erhöht. Der Erfolg dieser Unternehmen beruhte auf DevOps-Strukturierung und agilen Methoden. Die meisten IT-Unternehmen, groß und klein, nutzen heute irgendeine Form von DevOps-Systemen. Der Schlüssel zu DevOps liegt teilweise in den Werkzeugen, aber vor allem in der Umarmung einer Kultur transparenter Zusammenarbeit. DevOps nutzt interdisziplinäre Teams aus Mitgliedern aus verschiedenen IT-Hintergründen, darunter Entwicklung, Betrieb und QA. Das Ziel der meisten DevOps-Teams ist es, kontinuierliche Integration und kontinuierliche Lieferung (CI/CD) zu erreichen. Um dieses Ziel zu erreichen, nutzen DevOps-Unternehmen leistungsstarke Werkzeuge, die die Kommunikation und den Durchsatz ihrer Teams stärken. Automatisierung ist ein Schlüsselaspekt eines richtig umgesetzten DevOps-Systems. Die Bereitstellungsrate in einem erfolgreichen DevOps-Unternehmen ist unglaublich schnell, und Automatisierung ist ein entscheidender Bestandteil, um Schritt zu halten. Eines der Probleme, die bei der Verkürzung des Softwareentwicklungslebenszyklus (SDLC) entstehen, ist die unmittelbare Notwendigkeit, den Testprozess zu beschleunigen, um mit den Bereitstellungsplänen Schritt zu halten. Ein Testtempo mit der erhöhten Entwicklungsrate kann bedeuten, beim Testen Abkürzungen zu machen oder den Bereitstellungsprozess absichtlich zu verlangsamen, sodass das Testen Zeit hat, aufzuholen. Abkürzungen sind für Unternehmen, die die Qualität ihrer Dienstleistungen und das Kundenerlebnis schätzen, keine Option, aber auch Verlangsamen ist keine Option. Es widerspricht dem Zweck von DevOps. Der einzige Weg, CI/CD zu erreichen und gleichzeitig gesunde und stabile Dienste bereitzustellen, ist der Einsatz von kontinuierlichem Testing.

Laufende Tests erklärt

Kontinuierliches Testen nutzt automatisierte Tests als Kernelement der Software-Lieferpipeline, um Feedback im gesamten SDLC zu erhalten. Kontinuierliches Testen ist eine automatisierte End-to-End-Testlösung, die in Ihre bestehenden Entwicklungsprozesse integriert wird. Moderne Anwendungsentwicklungs- und Lieferpipelines haben zu Bereitstellungszyklen mit kürzerer Zeit zwischen den Lieferungen sowie zu komplexeren Softwareveröffentlichungen geführt. Kontinuierliches Testen wird in den Entwicklungsprozess integriert, sodass QA in jedem Schritt durchgeführt wird, um sicherzustellen, dass Risiken kontinuierlich gemessen und gemindert werden. Das Hauptziel von kontinuierlichem Testen ist die Bewertung der Geschäftsrisikoabdeckung, indem sofortige Einblicke in die Gesamtgesundheit jedes Release-Kandidaten gegeben werden. Die Integration von Tests in den Softwareentwicklungsprozess von Anfang bis Ende stellt sicher, dass Probleme früher gefunden und leichter handhabbar sind. Kontinuierliches Testen ist nahtlos in die Software-Delivery-Pipeline und die DevOps-Toolchain integriert. Das Ziel des kontinuierlichen Tests ist es, Engpässe vollständig zu beseitigen, indem die richtigen Tests in den richtigen Entwicklungsphasen durchgeführt werden. Dies wird durch kontinuierliches Testen erreicht, das für jeden Schritt des Entwicklungsprozesses handlungsfähiges Feedback liefert. Die realistische Bewertung der Endnutzererfahrung liefert wertvolles Feedback, das DevOps-Teams hilft, sicherzustellen, dass die Benutzererfahrung geschützt bleibt, ohne das SDLC zu verlangsamen. All dies erfordert die Implementierung automatisierter Tests, die mit DevOps-Entwicklungstools zusammenarbeiten, um direkt in jede Phase des Prozesses integriert zu werden. Kontinuierliches Testen ist ein kultureller Wandel vom Testen am Ende hin zu frühem, häufigem Testen und in allen Entwicklungsphasen mit dem Einsatz von Automatisierung, wo immer möglich. Der Testansatz sollte systematisch sein und, wie alle DevOps-Prozesse, in einem ständigen Zustand der Verbesserung sein. Das Schöne an der Beschleunigung des SDLC besteht darin, dass DevOps-Teams mehr Erfahrung im Umgang mit jeder Phase des Prozesses erhalten, was ihnen einen tieferen Einblick in Verbesserungsmöglichkeiten gibt. Das Ziel von DevOps-Teams und kontinuierlichem Testen ist es, sich ständig zu verbessern und gleichzeitig nach Möglichkeiten zu suchen, jeden Schritt des Prozesses zu optimieren.

Ziele der kontinuierlichen Tests

Wir haben kurz erwähnt, dass das Hauptziel kontinuierlicher Tests die Bewertung der Geschäftsrisikoabdeckung ist, aber was bedeutet das in der Praxis? Die Informationen, die Sie aus Ihren automatisierten Tests gewinnen, müssen umsetzbare Daten sein, die zudem genügend sinnvolle Daten liefern, um Bereitstellungsentscheidungen zu unterstützen. Risikobewertung erfordert sowohl niedrigstufige Details als auch hochrangige Informationen, die als Daten zur Unterstützung von Bereitstellungsentscheidungen verwendet werden können. Wenn Ihre Tests die Geschäftsentscheidungen nicht beeinflussen, sagen Ihre Tests Ihnen nicht genug. Kontinuierliches Testen sollte sich auf die Benutzererfahrung konzentrieren und darauf, ob Änderungen nicht nur die Leistung, sondern auch die Funktionalität beeinflusst haben. Der Schutz der Endnutzererfahrung ist bei DevOps-Bereitstellungsplänen von größter Bedeutung, da Änderungen so schnell freigegeben werden sollten. Die schnelle Bereitstellungsrate kann dazu führen, dass Ihre Dienste schnell kaputtgehen, wenn Sie nicht kontinuierliches Testen während des gesamten Prozesses von Anfang bis Ende implementieren. Tests sollten breit genug sein, um die Auswirkungen der Änderungen auf die Benutzererfahrung und die Funktionalität der Anwendung zu erkennen. Die durch kontinuierliche Testpraktiken durchgeführte Risikobewertung sollte Risikominderungsaufgaben, technische Schulden, Qualitätsbewertung und Testabdeckungsoptimierung abdecken. Dies stellt sicher, dass Builds für den nächsten Schritt bereit sind, bevor sie weitergehen. Kontinuierliches Testen sollte auch auf die Einhaltung von Richtlinien prüfen. Die durch kontinuierliches Testen bereitgestellten Informationen müssen umsetzbar und relevant für die aktuelle Phase des Prozesses im SDLC sein. Dadurch können Korrekturen sofort durchgeführt werden, ohne dass Probleme weiter unten im Prozess Schritte stören und zusätzliches Backtracking erfordern. Es gibt verschiedene Tools für DevOps-Praktiker, die unschätzbare Bereiche für Ihren Technologiestack sein können. Das gilt auch für kontinuierliche Testsysteme. Tools wie GitHub und Selenium sind Open-Source-Optionen, die bei der Überprüfung der Code-Funktionalität in jedem Schritt helfen. DevOps-Teams können dieselben automatisierten Tests unabhängig vom Entwicklungszyklus nutzen. Kontinuierliches Testen bietet unvergleichlichen Zugang zu umsetzbaren Daten, die verhindern, dass sich das Kundenerlebnis verschlechtert, und gleichzeitig detaillierte Informationen für Geschäftsentscheidungen liefern.

DevOps: Lösungen für Sie

Wenn DevOps gut zu Ihren Bedürfnissen passt, Sie aber sicherstellen möchten, dass Sie es beim ersten Mal richtig machen, ist BMC der IT-Lösungspartner, den Sie brauchen. Lesen Sie mehr darüber, wie Automatisierung und DevOps-Systeme dazu beitragen können, die Bereitstellung von Produkten zu erhöhen, mit BMCs kostenlosem eBook: Automate Cloud and DevOps Initiatives. BMC-Experten stehen Ihnen zur Verfügung, um ihr Wissen und ihre Expertise in Ihre Organisation einzubringen. BMC bietet maßgeschneiderte Deployment-Services für Ihre Organisation, um die einzigartigen Herausforderungen anzugehen, denen Sie gegenüberstehen. Wenn Sie mit BMC zusammenarbeiten, erhalten Sie:

  • Schnellere Servicebereitstellung: Agile Releases, die mit der schnellen Nachfrage Schritt halten
  • Transparenz über die Daten hinweg: Gewährleisten Sie Compliance und Datengenauigkeit
  • Kosteneffizienter Service: Erhöhte Produktivität und Leistung
  • Erfahrene DevOps-Profis: Statten Sie mit den Werkzeugen aus, die Sie für den Erfolg benötigen
  • Umbau oder Aufrüstung: Nahtlose Modernisierung oder vollständiger Austausch
  • Alle auf die spezifischen Bedürfnisse Ihrer Organisation zugeschnitten.

Laden Sie die Lösungsimplementierungsübersicht online herunter oder sehen Sie sie an, um mehr darüber zu erfahren, wie BMC Consulting Services Ihnen helfen können. Sehen Sie sich an, wie BMCs Truesight Ihrem Unternehmen helfen kann, die Verfügbarkeit aufrechtzuerhalten und Schwachstellen zu beheben, und kontaktieren Sie anschließend die Experten von BMC, um mehr darüber zu erfahren, wie Sie DevOps-Praktiken für einen verbesserten Erfolg im Bau, Testen und Bereitstellen nutzen können.

DevOps-Leitfaden

  1. Was ist DevOps? Eine umfassende Einführung
  2. Eine kurze Geschichte von DevOps
  3. Einführung in die DevOps-Architektur
  4. Automatisierung in DevOps: Warum und wie man DevOps-Praktiken automatisiert
  5. Was ist CI/CD? Kontinuierliche Integration und kontinuierliche Lieferung erklärt
  6. Wie man eine CI/CD-Pipeline mit Jenkins aufbaut
  7. DevOps-Metriken zur Optimierung von CI/CD-Pipelines
  8. Kontinuierliche Liefermetriken
  9. Ist Continuous Integration in Continuous Deployment ein Fortschritt – oder nicht?
  10. Unterschiede zwischen Continuous Integration (CI), Delivery (CD) und Deployment
  11. Quellcode und Versionskontrolle in DevOps
  12. Was ist kontinuierliche Testung?
  13. Testautomatisierungs-Frameworks: Der ultimative Leitfaden
  14. Release Management in DevOps
  15. Erklärt: Monitoring & Telemetrie in DevOps
  16. Anwendungs-Leistungsmanagement in DevOps
  17. DevOps-Orchestrierung im SDLC
  18. Einführung in Datenbank-DevOps
  19. Die Rolle der Microservices in DevOps
  20. Die Rolle der Virtualisierung in DevOps
  21. Container & DevOps: Wie Container in DevOps-Lieferpipelines passen
  22. Was ist eine Containerpipeline?
  23. Was ist eine DevOps-Toolchain?
  24. Verwaltung von Containern und Code für DevOps
  25. Die Rolle von Agile in DevOps
  26. Die Rolle der Cloud in DevOps
  27. Was ist FinDevOps?
  28. Top-DevOps-Trends im Jahr 2022
  29. DevOps-Werte & Prinzipien
  30. DevOps-Kennzahlen und KPIs
  31. DevOps-Ratschläge für kleine, mittlere und große Organisationen
  32. DevOps-Teamstruktur
  33. Top-DevOps-Bücher, die man heute lesen sollte
  34. Buchrezension von The Phoenix Project: DevOps For Everyone
  35. DevOps-Influencer: 11 DevOps-Experten, denen Sie auf Twitter folgen können
  36. GitHub, GitLab, Bitbucket & Azure DevOps: Was ist der Unterschied?
  37. Best Practices: Wie man Anwendungen für Kubernetes architekt
  38. Konfigurationsmanagement in DevOps
  39. DevOps-Verzweigungsstrategien erklärt
  40. DevOps-Jobbezeichnungen, Rollen und Verantwortlichkeiten
  41. Testen in DevOps: Konzepte, Best Practices und mehr
  42. Der vollständige DevOps-Zertifizierungsleitfaden für 2022
  43. Was ist das Kubernetes-Operator-Muster?

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Abonnieren Sie The Brief

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Danke

Sie haben The Brief abonniert
Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.