Testdesign: Eine unverzichtbare Fähigkeit in der Qualitätssicherung

Entdecken Sie, wie Sie bessere Software und Systeme in schnell wachsenden Umgebungen bereitstellen. Treten Sie unserer Community bei

Testdesign ist das oft übersehene Fundament erfolgreicher Tests in der Produktion. Während Unternehmen sich auf Automatisierung und Prozesse konzentrieren, vernachlässigen sie diese entscheidende Fähigkeit. Erfahren Sie, warum richtiges Testdesign die Ergebnisse von Produktionstests erheblich verbessert und wie Sie es meistern.

Test design standard editorial post

Eines der zentralen Missverständnisse in der heutigen Testlandschaft besteht darin, dass Tests in der Produktion lediglich drei Kompetenzbereiche erfordern: Prozesskompetenz, Kenntnisse automatisierter Testwerkzeuge und Fähigkeiten im Incident-Management. Diese sind wichtig, doch auffällig fehlt etwas – nicht nur in dieser Liste, sondern auch im Denken von Personalverantwortlichen –, von dem man annehmen würde, dass es grundlegend ist:

Die Fähigkeit, einen praxisnahen Test für Produktionsumgebungen zu entwickeln.

Es wäre komisch, wenn es nicht so alarmierend wäre, dass fast keine Organisation der Expertise im Bereich zentraler QA-Kompetenzen Priorität einräumt, wenn sie Strategien für Tests in der Produktion umsetzt.

Unabhängig davon, ob ein Test manuell oder durch Automatisierung in einem laufenden Produktionssystem ausgeführt wird: Man muss zunächst wissen, wie man einen Test entwickelt, der verwertbare Erkenntnisse liefert, ohne die Benutzererfahrung zu beeinträchtigen, oder?

Es wäre komisch, wenn es nicht so alarmierend wäre, dass fast keine Organisation der Expertise im Bereich Testdesign Priorität einräumt, wenn sie Strategien für Tests in der Produktion umsetzt. Unabhängig davon, ob ein Test manuell in einer kontrollierten Umgebung oder automatisiert in einem laufenden Produktionssystem ausgeführt wird: Man muss zunächst wissen, wie man einen Test entwickelt, der verwertbare Erkenntnisse liefert, ohne die Benutzererfahrung zu beeinträchtigen, oder?

Der Ausschluss von Expertise im Testdesign aus Ihrem Ansatz für Tests in der Produktion birgt ein offensichtliches Problem:

Ist es nicht entscheidend zu wissen, dass die Person, die Tests in Ihrer Produktionsumgebung implementiert, versteht, was einen aussagekräftigen Test ausmacht?

Denn wenn schlecht entwickelte Tests in der Produktion automatisiert werden, erhalten Sie schneller unzuverlässige Daten und schaffen unnötige Risiken. Und während des Testens in der Produktion inkompetent „agil“ zu sein, erscheint mir nicht als echte Verbesserung – außer vielleicht für den Scrum Master.

Die Bedeutung und Disziplin des Testdesigns, insbesondere für Tests in Produktionsszenarien, müssen dringend wiederbelebt werden. Betrachten Sie dies als meinen Beitrag zu diesem Vorhaben.

Was ist für effektive Tests in der Produktion unerlässlich?

Der erste Schritt zur Beherrschung von Tests in der Produktion besteht darin, einige wesentliche Unterscheidungen zu treffen, die den meisten QA-Fachleuten intuitiv zweifellos bereits vertraut sind, die jedoch in Kontexten des Testens in der Produktion nur selten systematisch dargestellt werden.

Sehen wir uns diese grundlegenden Konzepte an, die Ihren Ansatz für Tests in der Produktion grundlegend verändern werden.

Explizite und implizite Funktionalität in Produktionsumgebungen

Beginnen wir mit der entscheidenden Unterscheidung zwischen expliziter und impliziter Funktionalität beim Testen in der Produktion.

Erstere ist das, was die meisten von uns unter „Funktionalität“ verstehen. Sie bezieht sich auf Merkmale und Fähigkeiten, die vom Produkt formal spezifiziert werden und deren formale Spezifikation die Umsetzung in der Entwicklung steuert. Beim Testen in der Produktion stehen diese expliziten Funktionen typischerweise im Mittelpunkt von Überwachungs- und Beobachtbarkeitswerkzeugen.

Deshalb mag das Testen expliziter Funktionalität in der Produktion unkompliziert erscheinen. Doch selbst bei klar definierten Funktionen ist dies nicht der Fall, wie wir später sehen werden. Zumindest erleichtert der Grad an Spezifität, den explizite Funktionalität besitzt, den Aufbau eines Gerüsts aus Produktionstests um sie herum (oder der Illusion eines solchen Gerüsts).

Implizite Funktionalität in einer Produktionsumgebung ist etwas völlig anderes.

Sie besteht aus Verhaltensweisen und Reaktionen auf Eingaben von Benutzern oder aus der Umgebung, die nicht formal definiert oder vorhergesehen wurden. Eine unzureichende Entwicklung von Tests für diese implizite Funktionalität in der Produktion ist mit Abstand die Quelle der meisten kritischen Fehler, die nach der Bereitstellung des Produkts entdeckt werden (die andere Quelle sind unzureichende Tests in Randbereichen von Hardware-, Software- und Geräteumgebungen).

Mit anderen Worten:

Das Testen impliziter Funktionalität in der Produktion erfordert beträchtlichen Einfallsreichtum und Vorstellungskraft. Es ist der wirklich kreative Teil von Strategien für Tests in der Produktion.

Das Testen impliziter Funktionalität in Produktionsumgebungen erfordert ein gewisses Maß an teuflischer Cleverness, um darin gut zu werden. Leider lässt sich das nicht durch standardmäßige QA-Prozesse vermitteln.

Keine agile Methodik und kein automatisiertes Testframework werden Ihnen beibringen, wie man implizite Funktionalität in der Produktion effektiv testet, aber ein angemessenes Testdesign kann dies fördern.

Wie definiert man also eine Testdesignstrategie für implizite Funktionalität in der eigenen Produktionsumgebung? Glücklicherweise ist das möglich. Doch bevor wir direkt in diese Frage einsteigen, wollen wir einige weitere relevante Unterscheidungen betrachten, die für effektive Tests in der Produktion entscheidend sind.

Positives und negatives Testen

Wichtigste Erkenntnis: Beim Testen in der Produktion erfordern sowohl positive als auch negative Tests besondere Überlegungen, die über traditionelle QA-Ansätze hinausgehen.

Die meisten Personen, die im QA-Bereich arbeiten, verstehen den grundlegenden Unterschied zwischen diesen beiden Testarten:

  • Positives Testen in der Produktion: Überprüfen, ob Funktionen in Live-Umgebungen wie vorgesehen funktionieren
  • Negatives Testen in der Produktion: Strategisches Testen, wie Ihr System auf unerwartete Eingaben reagiert, ohne echte Benutzer zu beeinträchtigen

Warum sich Tests in der Produktion unterscheiden

Obwohl diese Unterscheidungen konzeptionell klar sind, bringt das Testen in der Produktion einzigartige Herausforderungen mit sich:

  • Höhere Risiken: Grenzfälle betreffen echte Kunden und Geschäftsabläufe
  • Komplexität der realen Welt: Das Verhalten von Benutzern folgt nur selten vorhersehbaren Mustern
  • Geschäftskontinuität: Tests dürfen den normalen Betrieb nicht beeinträchtigen

Über die Spezifikation hinaus

Spezifikationen enthalten nur selten alles, was für effektive Tests in der Produktion erforderlich ist:

Eine übermäßige Abhängigkeit von der Spezifikation – unabhängig davon, ob sie aus dem Produktbereich oder der Entwicklung stammt – schränkt Ihr Denken ein. Dies ist besonders problematisch beim Testen in der Produktion, da reale Nutzungsmuster häufig von den Spezifikationen abweichen.

Dies veranschaulicht, was ich den „empirischen Trugschluss“ nenne: darauf zu warten, dass etwas Ihnen ausdrücklich sagt, was Sie tun sollen, bevor Sie es verstehen können.

Eine erfolgreiche Testplanung für Produktionsumgebungen erfordert:

  1. Eine angemessene Parametrisierung der Funktionalität
  2. Logisches Nachdenken über das Mögliche
  3. Die Berücksichtigung von Interaktionen mit Benutzern und der Umgebung

Beispiel aus der realen Welt: Unerwartetes Verhalten

Damals in der Software-Kreidezeit (also in den 80er-Jahren) testete ich Software zur Dokumentkonvertierung und entdeckte überraschende Fähigkeiten:

Bild anzeigen

Klassisches Beispiel: In WordPerfect konnte man mitten in einem Absatz einen Befehl für den Zeilenabstand einfügen, der nur die nachfolgenden Zeilen beeinflusste. Dadurch entstanden Absätze mit zwei unterschiedlichen Zeilenabstandswerten.

Moderne Entsprechungen beim Testen in der Produktion:

  • Unerwartete Kombinationen von Benutzerberechtigungen in Cloud-Anwendungen
  • Nicht vorhergesehene Sequenzen von API-Anfragen in Microservice-Architekturen
  • Wettlaufsituationen in Umgebungen mit hoher Nebenläufigkeit

Sehen wir uns nun die drei entscheidenden Parameter an, die Ihren Ansatz für Tests in der Produktion schärfen werden:

1. Testen des Funktionsumfangs

Definition: Ermitteln, wie Benutzer Funktionen in Kontexten oder auf Arten einsetzen könnten, die während des Entwurfs nie bedacht wurden.

Warum dies für Tests wichtig ist

Nicht alle Einschränkungen werden während der Entwicklung vorhergesehen. In Produktionsumgebungen kann dieses Versäumnis schwerwiegende Folgen haben.

Über die einfache Validierung hinaus

Berücksichtigen Sie beim Testen in der Produktion diese Grenzen:

Denken Sie daran: Eine Funktion in der Produktion zu validieren bedeutet nicht nur zu bestätigen, dass sie wie vorgesehen funktioniert, sondern auch zu überprüfen, dass sie nicht auf unbeabsichtigte Weise verwendet werden kann, die die Stabilität oder Sicherheit des Systems beeinträchtigen könnte.

WERDE TEIL DER COMMUNITY
Bereichern Sie Ihren Posteingang mit mehr Führungserkenntnissen aus der Tech-Welt für bessere Software und Systeme.
Get Free Access

Have an account? Log In

2. Testen von Workflow-Unterbrechungen in Live-Systemen

Warnung: Dieser Ansatz setzt voraus, dass Sie bereits definierte Workflows in der Produktion testen. Falls nicht, sollten Sie zunächst diese Grundlagen schaffen!

Über den „Idealpfad“ hinaus

Untersuchen Sie beim Testen in der Produktion diese kritischen Workflow-Unterbrechungen:

✅ Unterbrochene Workflows: Prozess gestartet, aber nie abgeschlossen
✅ Abgebrochene Vorgänge: Der Benutzer bricht den Vorgang während des Prozesses ausdrücklich ab
✅ Neugestartete Prozesse: Der Benutzer versucht mehrmals, dieselbe Aktion auszuführen
✅ Zurückgehen: Der Benutzer kehrt mit anderen Eingaben zu früheren Schritten zurück

Tipps zur Umsetzung von Tests in der Produktion

Verwenden Sie Techniken wie Funktionsschalter, um die Sichtbarkeit dieser Tests in Produktionsumgebungen sicher zu steuern.

Anwendungen in der realen Welt

Profi-Tipp: Diese Szenarien werden in Spezifikationen nur selten erfasst, stellen aber reales Benutzerverhalten in der Produktion dar.

3. Sequenzialität bei Tests in der Produktion

Die Herausforderung: In Produktionssystemen mit mehreren gleichzeitig ausgeführten Prozessen kann die Reihenfolge der Vorgänge zu unerwarteten Fehlern führen, die in Testumgebungen nur schwer reproduzierbar sind.

Zwei kritische Muster der Sequenzialität

Vorausgehende beitragende Bedingungen

Bild anzeigen

  • Definition: Ereignisse, die vor einem fehlschlagenden Prozess eintreten müssen
  • Merkmale: Treten möglicherweise erst nach bestimmten Abläufen auf, die unter natürlichen Bedingungen Tage benötigen
  • Beispiel aus der Produktion: Benutzerberechtigungen geändert → Cache läuft ab → bestimmte API wird aufgerufen

Nachfolgende beitragende Bedingungen

  • Definition: Fehler, die erst durch spätere Interaktionen erkennbar werden
  • Auftreten: Der Fehler bleibt verborgen, bis ein späterer Vorgang stattfindet
  • Beispiel aus der Produktion: Datenbeschädigungen treten unbemerkt auf, bis ein Bericht erstellt wird

Warum ist das so schwierig?

Die Festlegung des Umfangs von Sequenzialitätstests in der Produktion erfordert:

  1. Fundierte Kenntnisse der Systeminteraktionen
  2. Modellierung von Zustandsübergängen für komplexe Prozesse
  3. Verständnis sowohl der vorgesehenen als auch der unbeabsichtigten Zustandskombinationen

"Wie diese beiden Zeilenabstandswerte in einem einzigen Absatz können auch diese unerwarteten Zustände in Produktionsumgebungen verheerende Schäden anrichten."

Unverzichtbare Werkzeuge für Sequenzialitätstests in der Produktion

Das Wichtigste: Probleme mit der Sequenzialität gehören zu den ergiebigsten Quellen schwerwiegender Fehler in modernen Produktionssystemen. Räumen Sie diesem Aspekt in Ihrer Teststrategie Priorität ein.

Das Wichtigste

Funktionsschalter verwandeln Tests in der Produktion von einer riskanten Praxis in einen kontrollierten, datengestützten Prozess. Durch die Entkopplung von Bereitstellung und Veröffentlichung sowie die Möglichkeit sofortiger Rücksetzungen schaffen sie ein Sicherheitsnetz, das Teams in die Lage versetzt, Software unter realen Bedingungen zu validieren, ohne die Benutzererfahrung oder die Systemstabilität zu beeinträchtigen.

Plattformen für die Funktionsverwaltung bei Tests in der Produktion

Plattformen für die Funktionsverwaltung haben Tests in der Produktion von einem riskanten Vorhaben in einen kontrollierten, systematischen Prozess verwandelt. Dennoch versäumen es viele Unternehmen, diese Werkzeuge in ihrer Testdesignstrategie effektiv einzusetzen.

Die Entwicklung des Risikomanagements in der Produktion

Herkömmliche Ansätze für Tests in der Produktion beruhten auf binären Entscheidungen – entweder war eine Funktion für alle aktiv oder für niemanden. Plattformen für die Funktionsverwaltung verändern dieses Paradigma grundlegend:

  • Granulare Kontrolle: Testen Sie Funktionen mit bestimmten Benutzersegmenten statt mit Alles-oder-nichts-Bereitstellungen
  • Sofortige Behebung: Deaktivieren Sie problematische Funktionen ohne Code-Bereitstellungen oder Rücksetzungen
  • Schrittweise Freigabe: Erhöhen Sie die Anzahl der Nutzer, die eine Funktion sehen, schrittweise auf Grundlage von Leistungsdaten in Echtzeit

Mehr als einfache Funktionsschalter

Während grundlegende Funktionsschaltungen bereits seit Jahren existieren, bieten moderne Plattformen für die Funktionsverwaltung entscheidende Funktionen, die Tests in der Produktion grundlegend verändern:

Wenn sie ordnungsgemäß in Ihre Testdesignstrategie integriert werden, ermöglichen Plattformen für die Funktionsverwaltung:

  1. Gezielte Risikobegrenzung – Beschränkung der Sichtbarkeit neuer Funktionen auf bestimmte Benutzersegmente
  2. Validierung mit echten Benutzern – Testen mit tatsächlichen Benutzern statt mit synthetischen Testdaten
  3. Sofortige Behebung – Behebung von Problemen ohne Notfallbereitstellungen oder Rücksetzungen

Integration mit Werkzeugen zur Beobachtung

Die wahre Leistungsfähigkeit von Plattformen zur Funktionsverwaltung zeigt sich, wenn sie in Systeme zur Beobachtbarkeit und Überwachung integriert werden:

Traditioneller Ansatz:

  • Erkennen von Problemen nach der vollständigen Bereitstellung
  • Manuelle Überprüfung von Testergebnissen
  • Nachträgliche Analyse nach Vorfällen

Integration der Funktionsverwaltung:

  • Korrelation der Funktionsaktivierung mit Systemmetriken
  • Automatisierte Leistungsüberwachung pro Funktionsflag
  • Echtzeit-Einblicke in die Auswirkungen von Funktionen

Auswirkungen in der Praxis: Tests in der Produktion verändern

Organisationen, die Plattformen zur Funktionsverwaltung einsetzen, berichten von erheblichen Vorteilen:

  • Geringerer Schweregrad von Vorfällen: "Wir können Funktionen lange vor dem Marketingstart in der Produktion testen. Und wenn eine Funktion am Tag der Einführung Probleme verursacht, können wir sie einfach mit einem Abschaltmechanismus deaktivieren – ohne Rollbacks." — Chris Guidry, VP of Engineering, O'Reilly Media.
  • Beschleunigte Release-Zyklen: Teams bei IBM, TrueCar und anderen führenden Unternehmen nutzen die Funktionsverwaltung für Tests in der Produktion und profitieren von dem, was sie als "sichere, unspektakuläre Releases" beschreiben.
  • Erweiterte Testabdeckung: Funktionsflags machen Grenzfälle sichtbar, die in kontrollierten Umgebungen nicht simuliert werden können.

Praktische Umsetzung im Testdesign

Um Plattformen zur Funktionsverwaltung wirksam in Ihre Testdesignstrategie einzubinden:

  1. Entwerfen Sie Verifizierungspunkte, die auf die Übergänge der Funktionsflags abgestimmt sind
  2. Erstellen Sie Ausweichszenarien für jede Komponente mit Funktionsflag
  3. Legen Sie Leistungsschwellenwerte fest, die eine automatische Deaktivierung von Funktionen auslösen
  4. Definieren Sie segmentspezifische Testfälle, um das Verhalten über verschiedene Nutzergruppen hinweg zu validieren
  5. Dokumentieren Sie Flag-Abhängigkeiten, um kaskadierende Ausfälle zu verhindern

Plattformen zur Funktionsverwaltung ersetzen kein durchdachtes Testdesign – sie verstärken es. Die Qualität Ihrer Tests in der Produktion hängt nach wie vor grundsätzlich davon ab, wie gut Sie Ihre Tests entworfen haben.

Häufige Fallstricke, die es zu vermeiden gilt

Selbst bei einer robusten Funktionsverwaltung bleiben mehrere Herausforderungen bestehen:

  • Flag-Schulden – Aufgegebene oder vergessene Flags, die technische Schulden verursachen
  • Unzureichende Überwachung – Unterlassene Korrelation des Flag-Zustands mit der Systemleistung
  • Übermäßiges Vertrauen – Vorzeitige Reduzierung von Tests vor der Produktion
  • Abhängigkeiten zwischen Flags – Schaffung komplexer, schwer zu analysierender Beziehungen

Das Wichtigste in Kürze

Plattformen zur Funktionsverwaltung bieten leistungsstarke Möglichkeiten für Tests in der Produktion, müssen jedoch sorgfältig in Ihre gesamte Testdesignstrategie integriert werden. Organisationen, die den größten Nutzen erzielen, stellen diese Tools nicht einfach nur bereit – sie überdenken grundlegend, wie Testdesign in einer Umgebung mit Funktionsflags funktioniert.

Wenn die Funktionsverwaltung als Teil eines umfassenden Testdesignansatzes richtig umgesetzt wird, verwandelt sie Tests in der Produktion von einem notwendigen Übel in einen Wettbewerbsvorteil.

Tools für Tests in der Produktion: Herausforderungen bei der Umsetzung

Während Funktionsflags und Verwaltungsplattformen die Grundlage für Tests in der Produktion bilden, bringt das umfassendere Tool-Ökosystem eigene Herausforderungen bei der Umsetzung mit sich. Die Auswahl und Konfiguration der richtigen Tools erfordert eine sorgfältige Berücksichtigung der Fähigkeiten des Teams, der Systemarchitektur und der organisatorischen Anforderungen.

Tools für Überwachung und Beobachtbarkeit

Wirksame Tests in der Produktion hängen von einer umfassenden Sichtbarkeit des Systemverhaltens ab:

  • Anwendungsleistungsüberwachung (APM)
    Vorteile: Liefert detaillierte Einblicke in die Leistung über den gesamten Anwendungsstapel hinweg.
    Herausforderungen: Erfordert häufig eine umfangreiche Instrumentierung und kann übermäßige Datenmengen erzeugen, die kleinere Teams überfordern.
  • Protokollverwaltungssysteme
    Vorteile: Für die Fehlersuche und forensische Analyse während der Tests in der Produktion unerlässlich.
    Herausforderungen: Ohne geeignete Strategien für Filterung und Indexierung können überwältigende Datenmengen entstehen.
  • Verteilte Ablaufverfolgung
    Vorteile: Bietet durchgängige Transparenz über Microservice-Architekturen hinweg.
    Herausforderungen: Die Komplexität der Umsetzung nimmt in heterogenen Umgebungen mit mehreren Technologiestapeln dramatisch zu.

Warnmanagementsysteme

Eine ordnungsgemäße Alarmierung ist beim Testen neuer Funktionen in der Produktionsumgebung von entscheidender Bedeutung:

  • Plattformen zur Alarmaggregation
    Vorteile: Benachrichtigungen aus mehreren Überwachungssystemen zusammenführen.
    Herausforderungen: Hervorragend für das Vorfallmanagement geeignet, können jedoch störend sein, wenn sie nicht sorgfältig konfiguriert werden, um eine Alarmmüdigkeit zu vermeiden.
  • Systeme zur Vorfallreaktion
    Vorteile: Die Kommunikation während Vorfällen in der Produktionsumgebung optimieren.
    Herausforderungen: Erfordern klar definierte Ablaufhandbücher und Integrationspunkte, um effektiv zu sein; können bei einfachen Bereitstellungen zusätzlichen Aufwand verursachen.

More Articles

Überlegungen zur Implementierung

Bei der Implementierung von Tools zum Testen in der Produktionsumgebung sollten Teams Folgendes bewerten:

  1. Anforderungen an die Skalierbarkeit - Kann das Tool Ihre Datenverkehrsmengen und das Datenwachstum bewältigen?
  2. Integrationsmöglichkeiten - Wie einfach lässt es sich mit Ihrer bestehenden Werkzeugkette verbinden?
  3. Ressourcenverbrauch - Welchen zusätzlichen Aufwand verursacht das Tool selbst?
  4. Fachkenntnisse des Teams - Verfügen Sie über die erforderlichen Kenntnisse, um den Nutzen des Tools zu maximieren?
  5. Signal-Rausch-Verhältnis - Können Sie aussagekräftige Erkenntnisse gewinnen, ohne in Daten unterzugehen?

Häufige Fallstricke bei der Implementierung

  • Tool-Wildwuchs - Ansammlung zu vieler sich überschneidender Lösungen
  • Unvollständige Instrumentierung - Fehlen kritischer Überwachungspunkte
  • Alarmmüdigkeit - Erzeugen übermäßiger Benachrichtigungen, die Teams schließlich ignorieren
  • Unzureichender Kontext - Versäumnis, Metriken mit den Auswirkungen auf Benutzer zu korrelieren
  • Datensilos - Erstellen isolierter Überwachungssysteme, die keine Informationen austauschen

Das richtige Gleichgewicht finden

Die erfolgreichsten Implementierungen des Testens in der Produktionsumgebung erreichen ein Gleichgewicht zwischen:

  • Umfassender Überwachung und beherrschbarer Komplexität
  • Detaillierten Erkenntnissen und einer Informationsüberflutung
  • Automatisierten Reaktionen und menschlichen Entscheidungspunkten

Beginnen Sie bei der Implementierung von Testtools in Produktionsumgebungen mit kleinen, klar abgegrenzten Zielen und erweitern Sie die Abdeckung anschließend schrittweise, während Ihr Team sowohl mit den Tools als auch mit der Interpretation der daraus resultierenden Daten Erfahrung sammelt.

Last, Komplexität, Latenz

Berücksichtigen Sie die Makrofaktoren Last, Komplexität und Latenz bei Ihrem Testdesign. Diese können die Ausführung oder den Abschluss einer Anfrage, eines Prozesses oder eines Ereignisses beeinflussen. 

Die Bedeutung der Systemlast sollte offensichtlich sein. Die Verarbeitung von Anfragen oder Transaktionen während Perioden hoher Systemlast kann in jeder Phase des Transaktionsprozesses fehlschlagen.

Dies sollte standardmäßig Bestandteil Ihrer Testplanung sein. Wie wir alle wissen, kann Last auch durch die Anfrage selbst erzeugt werden – beispielsweise durch eine Datenabfrage, die die Verarbeitung und Übertragung großer Datenmengen auslöst.

Komplexität bezieht sich hier in erster Linie auf die Komplexität von Anfragen, die an ein System gestellt werden. Diese Komplexität kann aus der Anzahl der angegebenen Bedingungen (einschließlich ihrer Ausschlüsse und Ausnahmen), der Anzahl der Datenbanken (virtuell oder anderweitig), auf die in den Anfragen Bezug genommen wird, oder aus der Verarbeitungstopologie des Systems selbst bestehen.

Im Kontext dieser Diskussion verwende ich den Begriff Latenz, um das Auftreten von Zeitverzögerungen im Anfrageprozess zu bezeichnen, was nicht seiner üblichen Bedeutung entspricht. Ich beziehe mich hier auf die Benutzerlatenz und nicht auf die Antwortlatenz des Systems selbst. 

Mit anderen Worten: Wie verhält sich die Funktion oder Fähigkeit, wenn der Benutzer zu einem bestimmten Schritt im Prozess gelangt und dann dort pausiert bleibt, ohne etwas zu tun? Läuft das System wegen einer Zeitüberschreitung ab (das sollte es wahrscheinlich)? Sollte es den Benutzer auffordern, fortzufahren? Sollte es bis zum Ende aller Zeiten in diesem Zustand bleiben? 

Die Antworten auf diese Fragen können in der Spezifikation enthalten sein, aber das zu testende Produkt verhält sich möglicherweise nicht entsprechend, weshalb wir überhaupt testen.

Benutzerrollen

Natürlich können Endbenutzer mit Softwaresystemen in verschiedenen Rollen interagieren. Derselbe Benutzer kann je nach seinen Handlungen in unterschiedlichen Rollen mit dem System interagieren. 

Allerdings können Prozesse und Dienste auch unterschiedliche Rollen und zugehörige Berechtigungen haben. Stellen Sie in jedem Fall sicher, dass Ihr Testdesign und Ihre Testplanung – unabhängig davon, ob es um Funktionen oder Fähigkeiten geht – alle möglichen Rollenstatus berücksichtigt und prüft.

Wie geht es weiter?

Suchen Sie nach weiteren Tipps zur Testgestaltung? Und möchten Sie Ihr SaaS-Wachstum und Ihre Führungskompetenzen steigern?

Abonnieren Sie unseren Newsletter für die neuesten Erkenntnisse von CTOs und angehenden Technologieführungskräften. 

Wir helfen Ihnen, intelligenter zu skalieren und stärker zu führen – mit Leitfäden, Ressourcen und Strategien von führenden Experten!

Niall Lynch

Niall Lynch wurde in Oslo, Norwegen geboren und wuchs in Fairbanks, Alaska, 160 Kilometer südlich des Polarkreises auf. Er erwarb einen BA in Religionswissenschaften am Reed College und einen MA in altorientalischer Literatur und Sprachen an der University of Chicago. Dies führte ihn natürlich direkt zu einer Karriere in der Softwareentwicklung.

Niall begann 1985 in Chicago in der Softwarebranche als QA Lead. Er kannte sich damals weder mit der Rolle noch mit dem Fachgebiet aus, und niemand sonst tat es auch. Daher ist er in dieser Disziplin weitgehend Autodidakt. Im Laufe der Jahre arbeitete er in den Bereichen Dateikonvertierung, Verarbeitung natürlicher Sprache, Statistik, Cybersicherheit (Symantec), Betrugsanalysen für die Hypothekenbranche, künstliche Intelligenz/Data Science und Finanztechnologie. Die Anpassung seiner QA-Methoden und ‑Philosophie an diese völlig unterschiedlichen Branchen und Zielmärkte erwies sich als lehrreich und förderlich für deren – und auch seine eigene – Entwicklung.

Heute lebt er in Palm Desert, Kalifornien, wo er als SQA-Berater tätig ist und an mehreren Romanen arbeitet.

Fragen oder Witze bitte an NiallLynch@outlook.com senden.

You may also like