Da Softwareentwicklungsunternehmen darum wetteifern, allgemein verfügbare (Generally Available, GA) Funktionen bereitzustellen, wird die Betonung der Qualitätssicherung (QA) immer wichtiger. Über traditionelle Testmethoden hinaus ist die Diversifizierung der Testarten von grösster Bedeutung, um den Erfolg von GA-Funktionen sicherzustellen.

Bei Okta ist das Produktteam für die Aufrechterhaltung der Qualität und die Sicherstellung eines reibungslosen Rollouts verantwortlich. In diesem Blog werden wir die Bedeutung der Diversifizierung beim Testen untersuchen, um die Qualität von GA-Funktionen zu gewährleisten, und uns mit der Notwendigkeit kontinuierlicher Überwachung und Validierung nach der Bereitstellung für nachhaltige Exzellenz befassen.

Die sich ständig weiterentwickelnde Landschaft des Softwaretestens

QA hat sich weit über traditionelle Testmethoden hinaus entwickelt. Die Komplexität moderner Anwendungen und die steigenden Erwartungen der Endbenutzer erfordern jedoch einen umfassenderen Testansatz. 

Methoden zur Diversifizierung von Testansätzen für GA-Funktionen umfassen:

1. Funktionale Validierungssuite:

  • Unit-Tests sind eine Softwaretestmethode, bei der einzelne Einheiten oder Komponenten einer Softwareanwendung isoliert getestet werden, um zu validieren, dass jede Einheit wie vorgesehen funktioniert.
    • Umfang: Einzelne Funktionen oder Methoden.
    • Zweck: Überprüfen Sie die Korrektheit kleiner, isolierter Codeeinheiten.
    • Vorteile: Früherkennung von Fehlern, einfacheres Debugging und verbesserte Wartbarkeit des Codes.
    • Tools: Frameworks wie JUnit für Java, pytest für Python, NUnit für .NET usw.
       
  • Integrationstests stellen eine nahtlose Interaktion zwischen verschiedenen Komponenten sicher und schützen vor Integrationsproblemen, die in einer realen Umgebung auftreten können.
    • Umfang: Interaktion zwischen mehreren Einheiten/Modulen.
    • Zweck: Überprüfen, ob die Komponenten wie erwartet zusammenarbeiten.
    • Vorteile: Identifizieren Sie Probleme im Zusammenhang mit der Integration von Komponenten.
    • Tools: Je nach Technologie-Stack können Integrationstests mit Frameworks wie TestNG, Jasmine oder Tools wie Postman geschrieben werden.
       
  • Ende-zu-Ende-Tests überprüfen in erster Linie, ob alle Komponenten und Systeme wie vorgesehen zusammenarbeiten, simulieren reale Benutzerszenarien und gewährleisten die reibungslose Integration verschiedener Module oder Schichten innerhalb der Anwendung.
    • Umfang: Gesamte Anwendung oder ein wesentlicher Teil davon.
    • Zweck: Überprüfung des Gesamtverhaltens des Systems aus der Perspektive des Benutzers.
    • Vorteile: Sicherstellen, dass alle Komponenten zusammenarbeiten, um die Benutzeranforderungen zu erfüllen.
    • Tools: Selenium für Webanwendungen, Appium für mobile Anwendungen, Cypress für moderne Webanwendungen usw.
       
  • Cross-Browser- und Gerätekompatibilitätstests stellen eine konsistente Funktionalität über verschiedene Webbrowser und Geräte hinweg sicher, um den Benutzern ein nahtloses Erlebnis zu bieten, unabhängig von ihren Browser- und Geräteeinstellungen.
    • Umfang: Sicherstellung einer konsistenten Leistung über verschiedene Webbrowser und Geräte hinweg.
    • Zweck: Identifizieren und Beheben von Problemen im Zusammenhang mit Rendering, Funktionalität und Benutzererfahrung auf verschiedenen Browsern und Geräten.
    • Beispiele: Testen auf gängigen Browsern (Chrome, Firefox, Safari, Edge usw.) und verschiedenen Geräten (Desktops, Laptops, Tablets und Mobiltelefone)
    • Tools: Cross-Browser-Testtools (z. B. BrowserStack, CrossBrowserTesting, Sauce Labs) und Geräteprüflabore

2. Nicht-funktionale Dimensionen:

  • Leistungstests umfassen die Bewertung der Leistung von GA-Funktionen unter verschiedenen Bedingungen, einschliesslich Stresstests und Lasttests. Dies gewährleistet eine optimale Leistung, auch bei Spitzenauslastung.
    • Umfang: Bewertung der Systemleistung unter verschiedenen Bedingungen.
    • Zweck: Bewertung der Systemleistung in Bezug auf Geschwindigkeit, Reaktionsfähigkeit und Stabilität.
    • Beispiele: Lasttests, Stresstests und Skalierbarkeitstests
    • Tools: JMeter, Apache Benchmark, Gatling für Lasttests; Apache JMeter, Locust für Stresstests; und Tools, die spezifisch für den Technologie-Stack sind
       
  • Security Testing sollte gründlich sein, um Schwachstellen zu identifizieren und zu beheben, sensible Daten zu schützen und die Widerstandsfähigkeit der Funktion gegen potenzielle Sicherheitsbedrohungen zu gewährleisten.
    • Umfang: Identifizieren Sie Schwachstellen und stellen Sie sicher, dass das System sicher ist.
    • Zweck: Beurteilung der Sicherheitsmerkmale der Anwendung, einschliesslich Datenschutz und Zugriffskontrollen.
    • Beispiele: Penetrationstests, Schwachstellenscans und Codeanalysen
    • Tools: OWASP ZAP, Burp Suite, Nessus und verschiedene Code-Analysetools
       
  • Skalierbarkeitstest bewertet die Fähigkeit des Features, wachsende Benutzerzahlen aufzunehmen. Skalierbarkeitstests sind entscheidend, um die Leistung bei steigender Benutzerzahl aufrechtzuerhalten.
    • Umfang: Stellen Sie die Zuverlässigkeit und Stabilität des Systems unter normalen und extremen Bedingungen sicher.
    • Zweck: Bewerten Sie, wie gut sich das System von Ausfällen erholt und Fehler behandelt.
    • Beispiele: Fehlertoleranztests, Wiederherstellungstests und Zuverlässigkeitstests.
    • Tools: Benutzerdefinierte Skripte, Chaos Monkey für verteilte Systeme.

3. Benutzerzentrierte Validierung:

  • Usability-Tests messen die Benutzerfreundlichkeit von GA-Funktionen und beziehen das Feedback echter Benutzer ein, um die Benutzererfahrung zu verbessern.
    • Umfang: Bewertung der Benutzeroberfläche und des gesamten Benutzererlebnisses.
    • Zweck: Beurteilung, wie benutzerfreundlich und intuitiv die Anwendung ist.
    • Beispiele: User Interface Testing, User Experience Testing und Accessibility Testing.
    • Tools: Usability-Tests können automatisierte und manuelle Prozesse umfassen, einschliesslich Tools wie UserTesting für Remote-Usability-Tests.
  • Barrierefreiheitstests (Accessibility Testing) stellen sicher, dass Personen mit unterschiedlichen Fähigkeiten GA-Funktionen problemlos nutzen können.
    • Umfang: Bewertung der Barrierefreiheit der Anwendung für Benutzer mit Behinderungen.
    • Zweck: Sicherstellen, dass die Anwendung die Standards und Richtlinien für Barrierefreiheit einhält (z. B. WCAG - Web Content Accessibility Guidelines).
    • Beispiele: Tastaturnavigationstests, Screenreader-Tests, Farbkontrasttests
    • Tools: Automatisierte Accessibility Testing Tools (z. B. Axe, Google Lighthouse, WAVE) und manuelle Tests mit assistiven Technologien

4. Kontinuierliche Überwachung und Überwachung nach der Bereitstellung 

  • Proaktive Überwachung mit Health Checks: Implementieren Sie Echtzeitüberwachung in Test-, Vorproduktions- und Produktionsumgebungen, um Probleme zu erkennen, sobald sie auftreten. Die proaktive Überwachung hilft, potenzielle Probleme umgehend zu erkennen und zu beheben, bevor sie sich auf die Endbenutzer auswirken.
    • Zweck: Regelmäßige Systemzustandsprüfungen umfassen regelmäßige Beurteilungen des allgemeinen Systemzustands und der Leistung in vorab festgelegten Intervallen.
    • Timing: Diese Überprüfungen werden zu festgelegten Zeiten durchgeführt, oft im Rahmen der routinemäßigen Wartung oder Systemverwaltung.
    • Umfang: Sie sind umfassender und zielen darauf ab, potenzielle Probleme, Engpässe oder Leistungsverschlechterungen im Laufe der Zeit zu identifizieren.
      • Überwachung nach der Bereitstellung:
        • Zweck: Die Überwachung nach der Bereitstellung konzentriert sich auf die Beobachtung des Systemverhaltens und der Systemleistung unmittelbar nach einer neuen Version oder der Bereitstellung eines Updates.
        • Zeitpunkt: Sie beginnt unmittelbar nach der Bereitstellung und wird für einen bestimmten Zeitraum fortgesetzt, um Echtzeit-Einblicke in die Stabilität und Leistung des Systems zu erhalten.
        • Umfang: Der Fokus liegt auf der Erkennung von Problemen, die sich aus der kürzlichen Bereitstellung ergeben, wie z. B. Bugs, Fehler oder unerwartetes Verhalten.
    • Anwendungsfälle: Die Überwachung nach der Bereitstellung ist entscheidend, um sicherzustellen, dass die neuesten Änderungen, die in einem neuen Release eingeführt wurden, die Systemleistung oder die Benutzererfahrung nicht beeinträchtigen.

​​​​​​​5. Verifizierung nach der Bereitstellung

  • Zweck: Die Überprüfung nach der Bereitstellung stellt sicher, dass der Bereitstellungsprozess erfolgreich ist und die neu veröffentlichte Version wie erwartet funktioniert.
  • Timing: Dies geschieht unmittelbar nach der Bereitstellung und umfasst eine Reihe vordefinierter Tests, um zu bestätigen, dass die Anwendung zugänglich ist, Funktionen korrekt funktionieren und keine kritischen Fehler vorhanden sind.
  • Umfang: Der Umfang ist enger und konzentriert sich auf die Bestätigung der grundlegenden Funktionalität und Stabilität der neu bereitgestellten Version.

​​​​​​​Um mehr über die Überprüfung nach der Bereitstellung zu erfahren, lesen Sie keys-to-high-quality-service-releases-at-okta.

Über die Bereitstellung hinaus

Der Prozess der Bereitstellung robuster GA-Funktionen geht über die Bereitstellung hinaus; er erfordert ein kontinuierliches Engagement für Qualität. Durch die Diversifizierung der Testarten in der Entwicklung und die Integration von kontinuierlicher Überwachung und Validierung nach der Bereitstellung können Entwicklungsteams ein robustes QA-Ökosystem aufbauen. Dies schützt die anfängliche Qualität von GA-Funktionen und garantiert ihre dauerhafte Exzellenz im sich ständig weiterentwickelnden Bereich der Softwarenutzung.

Haben Sie Fragen zu diesem Blogbeitrag? Kontaktieren Sie uns unter eng_blogs@okta.com.

Entdecken Sie weitere aufschlussreiche Engineering Blogs von Okta, um Ihr Wissen zu erweitern.

Sind Sie bereit, unserem leidenschaftlichen Team aussergewöhnlicher Ingenieure beizutreten? Besuchen Sie unsere Karriereseite.

Erschließen Sie das Potenzial eines modernen und anspruchsvollen Identitätsmanagements für Ihr Unternehmen. Kontakt Vertrieb für weitere Informationen.

Setzen Sie Ihre Identity Journey fort