context driven testing
7 Grundprinzipien des kontextgesteuerten Testens am Beispiel:
beste Software zur Überwachung der CPU- und GPU-Temperatur
Wenn ich zum Flughafen fahre, nehme ich normalerweise die Autobahn, die mich in kürzester Zeit dorthin bringt und Mautgebühren vermeidet. Aber an diesem Tag nahm ich eine längere lokale Straßenroute mit einer Maut. Weil ich ein paar zusätzliche Minuten mit meinem Freund auf der Fahrt wollte, der eine sehr lange Strecke zurücklegte, um das Wochenende mit unserer Familie zu verbringen. Die normale schlechteste Wahl erwies sich in diesem Fall als die beste.
Aber bedenken Sie dies.
Was ist, wenn ich wenig Benzin habe?
Was wäre, wenn ich wenig Geld hätte?
Ich würde die andere Option wählen. Warum? Der Kontext.
(Bild Anerkennung ))
Wenn Sie Entscheidungen auf der Grundlage von Folgendem treffen, handelt es sich um eine kontextabhängige Entscheidung:
- Die beteiligten Personen
- Umstände
- Tore
- Verfügbare Optionen
- Emotionen usw.
Was ist kontextgesteuertes Testen?
Context Driven Testing ist eine von Cem Kaner, James Bach und Bret Pettichord entwickelte Denkweise (oder School of Testing). Details dazu finden Sie in ihrem berühmten Buch: Lehren aus dem Testen von Software .
Es gibt 7 Grundprinzipien. Folgendes wird direkt aus ihrem Buch ausgewählt:
# 1) Der Wert einer Praxis hängt von ihrem Kontext ab.
#zwei) Es gibt bewährte Verfahren im Kontext, aber keine bewährten Verfahren.
#3) Menschen, die zusammenarbeiten, sind der wichtigste Teil des Kontextes eines Projekts.
# 4) Projekte entwickeln sich im Laufe der Zeit auf eine Weise, die oft nicht vorhersehbar ist.
# 5) Das Produkt ist eine Lösung. Wenn das Problem nicht behoben ist, funktioniert das Produkt nicht.
# 6) Gutes Software-Testen ist ein herausfordernder intellektueller Prozess.
# 7) Nur durch Urteilsvermögen und Geschick, das während des gesamten Projekts kooperativ ausgeübt wird, können wir die richtigen Dinge zum richtigen Zeitpunkt tun, um unsere Produkte effektiv zu testen.
Ich werde nicht jeden von ihnen erklären, weil es für uns von der gemacht wird Experten selbst hier .
Ich werde einfach eine szenariobasierte Erklärung zu meiner Einstellung zu kontextgesteuerten Tests abgeben.
Ein Beispiel für kontextgesteuertes Testen:
Angenommen, ich starte ein Testprojekt - Projekt A, das End-to-End-Tests für eine webbasierte Anwendung umfasst.
Was wäre meine Strategie?
Gemäß den Standardprozessen ist dies die Abfolge von Ereignissen:
- Sammeln Sie Anforderungen und verstehen Sie die Anwendung
- Erstellen Sie einen Testplan
- Erstellen Sie eine Testdokumentation - Testszenarien, Testfälle, Rückverfolgbarkeitsmatrix usw.
- Lassen Sie alle Unterlagen überprüfen und genehmigen
- Richten Sie die QS-Umgebung und die Testdaten ein
- Führen Sie die Testausführung durch
- Erstellen Sie Fehlerberichte
- Generieren und teilen Sie Testausführungsstatusberichte usw.
Wenn ich mir die Frage stelle: 'Wie habe ich entschieden, dass ich das tun muss?' Meine Antwort wäre: Best Practices, QS-Standards, Branchenrichtlinien, Basiswerte für frühere Erfahrungen usw., richtig?
Ich wiederhole, was mir beigebracht wurde oder was ich von anderen gesehen habe.
Stimmt etwas damit nicht? Gar nicht. Dies könnte sogar funktionieren, da dieser Ansatz ein gewisses Gefühl der Wiederholbarkeit und Testbarkeit aufweist. Aber ebnet es den Weg für optimale Ergebnisse?
Zweifelhaft. Warum?
Denn bei jedem Projekt werden Sie mit unterschiedlichen Umständen zu tun haben:
- Dokumentierte und nicht dokumentierte Anforderungen
- Eng arbeitende vs. geografisch verteilte Teams
- Entwicklungs- und Testteams desselben Unternehmens im Vergleich zur Konkurrenz
- Ausreichende Zeit vs. Enge Zeitpläne
- Die Zusammensetzung Ihres Teams - Neulinge gegen erfahrene. Geschulte gegen ungeschulte.
- Verfügbarkeit von Tools - Handbuch im Vergleich zur Verwendung von Testmanagement-Tools
- Art des Projekts - Erfordert die strikte Einhaltung von Regeln (FDA oder Banking) im Vergleich zu experimentellen (wie Social Media)
- Die Technologie des Projekts.Zum Beispiel:Sie würden das Web und eine Windows-App nicht auf die gleiche Weise testen
- Anforderungen der Kunden (Einige möchten täglich detaillierte Berichte, andere nur die Highlights)
- Prozess folgte (Agile vs. Traditional, Scripted vs. Exploratory Testing)
Diese Liste ist nicht vollständig und Sie wissen genauso gut wie ich, dass jedes Projekt viele Variablen enthält.
Kontextgesteuertes Testen ist, wenn Sie diese Umstände Ihre Testpraktiken, -techniken und sogar Definitionen bestimmen lassen, anstatt standardmäßige, von der Industrie wahrgenommene empfohlene Vorgehensweise' .
Nehmen wir an, dies sind die Details, mit denen ich für Projekt A arbeite:
- Ich arbeite mit einem Team von 5 bis 4 Neulingen und einem erfahrenen Tester.
- Ich habe keine dokumentierten Anforderungen.
- Mein Team ist in Indien und das Entwicklungsteam ist in den USA, also arbeiten wir in entgegengesetzten Zeitzonen.
- Der Kunde möchte täglich einen detaillierten Statusbericht
- Wir verwenden ein webbasiertes Bug-Tracking-Tool wie Mantis oder Bugzilla und das ist alles, was wir haben.
- Ich muss 2 Testrunden in 10 Tagen mit 3 Tagen für die Testdokumentation durchführen
Hier ist ein grober Spielplan:
1) Da viele Neulinge im Team sind, brauchen wir viele Peer Reviews.
zwei) Wir benötigen außerdem mindestens zwei Besprechungen mit dem BA- und dem Dev-Team. Dies muss formal sein, da sich die Teams an einem anderen Ort befinden und ich nur wenig Spielraum habe, um mit Fragen auf sie zuzugehen.
3) Es ist eine aggressive Testzeitleiste für die Dokumentation. Je mehr Dokumentation wir schreiben, desto mehr Bewertungen benötigen wir, was mehr Zeit bedeutet. Wir müssen also die Mindestdokumentation aufbewahren. Wir werden nur das Wichtigste dokumentieren End-to-End-TCs und der Rest wird sein explorativ getestet .
4) Tägliche Statusberichte während der Testausführung werden täglich erstellt und an EOD gesendet.
5) Die meisten Tests sind explorativ. Geben Sie daher die Zeit, um einen kurzen Überblick über jeden durchgeführten Test zu erhalten. Auf diese Weise wissen wir, was getestet wird und was nicht.
6) Fehler werden in Echtzeit an Mantis gemeldet. Da das Team in einer anderen Zeitzone arbeitet, muss es möglicherweise einen ganzen Tag warten, bevor es vom QS-Team hört, falls eine Klärung erforderlich ist. Richten Sie daher einen täglichen Anruf bei einem geeigneten Team ein, in dem das QA-Team die Wiederherstellung von Fehlern demonstriert. Auf diese Weise müssen Sie nicht warten oder nachverfolgen.
Und so weiter.
Software Test Interview Frage für erfahrene
Wenn Sie eine Gesamtstrategie haben, schreiben Sie einen grundlegenden Testplan, in dem diese Punkte erläutert werden. Jetzt können Sie nach sorgfältiger Überlegung und maßgeschneiderter Erfolgsstrategie in ein Testprojekt einsteigen.
In Summe:
Das ist Kontextgesteuertes Testen; Machen Sie Ihre Umstände (nicht die Standards) zu den wichtigsten Inputs und Einflussfaktoren für Ihre Teststrategie. Es fordert uns auf, uns umzusehen und alles um Sie herum zu berücksichtigen.
Persönlich bin ich in dieses Konzept verliebt, weil zu oft Testpraktiken als starr und nachahmungsbasiert wahrgenommen werden. Jemand hat es getan und war erfolgreich, also werde ich es auch tun. Dies ist die Art von Image, die Menschen davon abhält, eine Testkarriere zu versuchen und zu bleiben.
Es gibt jedoch viel Spielraum für kreatives Denken, analytische Fähigkeiten und Entscheidungsfindung. Weitere Informationen finden Sie unter den oben angegebenen Links.
Viel Spaß beim kontextgesteuerten Testen
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Testen von Primer eBook Download
- 20 einfache Fragen zum Überprüfen Ihrer Software Testen des Grundwissens (Online-Quiz)
- 7 Grundlegende Tipps zum Testen mehrsprachiger Websites
- Lasttests mit HP LoadRunner-Tutorials
- Unterschied zwischen Desktop-, Client-Server-Tests und Web-Tests
- Was ist Gammatest? Die letzte Testphase
- Was ist Konformitätstest (Konformitätstest)?