Michael Kutz
Quality Engineer at REWE digital, Conference Speaker about QA & Agile, Founder of Agile QA Cologne meetup, Freelance QA Consultant
@MichaKutz
Gleichzeitiges Erstellen und Ausführen von Tests um etwas über das System zu lernen, wobei die Erkenntnisse aus vorherigen Experimenten für weitere genutzt werden.
Elisabeth Hendrickson
@testobsessed
…ob die Software den bekannten
Anforderungen entspricht
…nach weiteren möglichen Risiken
Erforsche <Ziel>
mit <Resourcen>
um <Information> zu gewinnen
Was erforschen wir?
ein Feature
eine Anforderung
ein Modul
Welche Resourcen brauchen wir?
ein Werkzeug
einen Datensatz
eine Technik
eine Konfiguration
Welche Information suchen wir?
Sicherheit
Performance
Zuverlässigkeit
Fähigkeiten
Benutzbarkeit
Barrierefreiheit
Konsistenz (des Designs)
Verletzungen von Standards
from "Explore It!"
by Elisabeth Hendrickson
Meine Mission ist es
innerhalb von <Zeitrahmen>
<Risiko>
in <Ziel> zu erforschen.
Was soll erforscht werden?
ein Feature
eine Anforderung
ein Modul
Was könnte schief gehen?
Funktion ist gestört
Benutzbarkeit ist schlecht
mangelnde Barrierefreiheit
Design ist Inkonsistent
Wie lange sollte es dauern?
Worauf soll ich mich fokussieren?
Ich brauchen
mehr Zeit!!
Laaaaaaaangweilig!
Wo finde ich die notwendigen Daten dafür?!
Das soll noch niemand getestet haben?!
Ist das wirklich
wichtig?!
Sicherheit
Schnelligkeit
Zuverlässigkeit
Benutzbarkeit
Barrierefreiheit
Skalierbarkeit
// I don't know why this works… // …but it does // DO NOT TOUCH! if (deliveryAddress != null) { …
Lief der Installationsprozess ohne Fehlermeldung?
Kann ich die Software starten?
Wurde die Erfolgsmeldung angezeigt?
Kann ich das Produkt im Warenkorb finden?
Wird der Abmelde-Knopf angezeigt?
Kann ich mein Profil bearbeiten?
unerwartete Logs
JavaScript-Logs
unerwartete Systemlast
unerwartete Änderungen in der Datenbank/im Dateisystem
$> watch ls
$> psql
subtile GUI-Änderungen
unerwarteter Datentrasfer
Formulare
Browser-Typ
Cookies
URL & Parameter
Eingabefelder
Browser-Plugins
Gesamtlaufzeit des Systems
…
Zählbares
→ 0, 1, viel
→ zu viel
→ too wenig
Position
→ Anfang, Mitte, Ende
Dateien & Speicher
→ unzugänglich machen
→ Standardordner ändern
Geographische Koordinaten
→ weit weg, nah
→ andere Zeitzonen
Formate
→ Daten, Dezimalzahlen, Binär, IP-Adressen
→ Dateiformate
Größe
→ groß, klein
Zeit, Frequenz & Dauer
→ Mitternacht
→ schnell, langsam
Eingabe & Navigation
→ Maus, Keyboard
→ Tippen, Einfügen
→ Touch
Wer wird die Software benutzen und wozu?
Warum würde jemand das Produkt benutzen und nicht das der anderen?
Kannst du mir einen Elevator-Pitch für das Produkt geben?
Wenn nicht anderes mehr funktioniert, was muss immer gehen?
Was ist deine größte Befürchtung bzgl. der Software?
Was sind die wichtigsten Qualitätskriterien?
Genauigkeit? Zuverlässigkeit? Erreichbarkeit? Benutzbarkeit? Barrierefreiheit? Sicherheit?
Kern Funktionalität
"Nicht-funktionale" Anforderungen
Risiken
Interne Konsistenz
Standards
Vergleichbares (Konkurrenz)
Plausibilität
Umkehrtest
Checklisten
z.B. https://www.ministryoftesting.com/dojo/lessons/checklist-for-testing-web-page-functionality
Immer abrechnen!
Niemals mehrfach!!
Es dürfen niemals falsche Inhaltsstoffe für Produkte angezeigt werden!
Es muss immer einen Liefertermin in der nächsten Woche geben!
Es werden niemals falsche Daten auf der Bestellbestätigungsseite angezeigt!
Ein Abbrechen des Bestellvorgangs muss immer möglich sein!
Niemals unterschiedliche Preise für das selbe Produkt anzeigen!
Immer valides HTML gemäß W3C-Standards!
Always reader page withing 1 second!
Jedes Bild hat immer eine aussagekräftige Beschreibung im alt-Attribut!
Design
Ausführung
Lernen
Meine mission ist es den Bestellprozess zu erforschen
um Überraschungen zu entdecken.
Meine mission ist es den Bestellprozess zu erforschen
um Nebeneffekte bei Verwendung der Browser-Navigation zu entdecken.
Meine mission ist es den Bestellprozess zu erforschen
um Nebeneffekte durch Aktivität in parallelen Tabs zu entdecken.
tatsächliche Testzeit
Zuversichtsfaktor
auf das erforschte Risiko bezogen
gefundene Fehler
neue Chartas
offene Fragen
Dinge zum Automatisieren
Dinge zu Dokumentieren
Testschritte
My mission is to explore the checkout process
for side effects caused by browser navigation.
My mission is to explore the checkout process
for side effects caused by parallel activity in a different tab.
"Explore It!"
by Elisabeth Hendrickson
https://pragprog.com/book/ehxta/explore-it
"Tips for Writing Better Charters for Exploratory Testing Sessions"
by Michael D. Kelly
https://www.slideshare.net/EuroSTARConference/mike-kelly-euro-star-webinar
https://www.youtube.com/watch?v=dOQuzQNvaCU
"A Heuristic Approach to Test Charters"
by Adam Howard
https://solavirtusinvicta.wordpress.com/2014/12/18/a-heuristic-approach-to-test-charters/
https://youtu.be/9FKY1Is0lgs
By Michael Kutz
Ein Workshop zum Thema exploratives Testen für Entwicklungsteams. Basiert auf dem Buch "Explore It!" von Elisabeth Hendrickson.
Quality Engineer at REWE digital, Conference Speaker about QA & Agile, Founder of Agile QA Cologne meetup, Freelance QA Consultant