1. ET – das unbekannte Wesen Exploratives Testen Eine explorative Einführung von Maik Nogens maiknogens@gmail.com
2. Agenda Was bedeutet Exploratives Testen (ET)? Woher kommt der Begriff „Exploratives Testen“ / Wo ist es in die „ContextDriven School“ einzuordnen? Wie arbeitet man mit „ET“? Orakel und Heuristiken Was sind wahrgenommene „Vorteile“ beim ET? Was sind wahrgenommene „Nachteile“ beim ET? Bekannte Namen, Personen, Info-Quellen, Material Open Discussion
3. 1. Was bedeutet Exploratives Testen (ET)? Lernen, Test Design und Testdurchführunggleichzeitig. Exploratives Testen ist die bewusste und mentale Involviertheit beim Testen. Diesem Begriff wird oft das „ScriptedTesting“ gegenüber gesetzt. Damit sind nicht „Test Skripte“ an sich gemeint, sondern das „geskriptete“Folgenvon Anweisungen, ohne sich mental damit zu befassen.
4. 1. Was bedeutet Exploratives Testen (ET)? Diesem Begriff wird oft das „ScriptedTesting“ gegenüber gestellt. Damit sind nicht „Test Skripte“ an sich gemeint, sondern das „geskriptete“Folgenvon Anweisungen, ohne sich mental damit zu befassen.
5. 2. Woher kommt der Begriff „Exploratives Testen“ Exploration - Entdeckung Columbus war ein Explorer, ein Entdecker. Das heißt nicht, der er wusste, wie er zum Ziel kommt.Er hatte quasi eine Testidee. „Ich glaube da gibt es etwas, lasst es uns finden“.
6. 2. Woher kommt der Begriff „Exploratives Testen“ Historie Der Begriff „Exploratives Testen“ ist in Abgrenzung zum „ad hoc“ Testing erfolgt. Ad hoc war in den 90er Jahren eher als „schlampiges Rumprobieren“ verschrien und eine Gruppe begann einen neuen Begriff zu nutzen Sie wollten damit die Aufmerksamkeit für einen bewussten, intellektuellen Prozess schaffen. Erstmalig tauchte es im Buch „Testing Computer Software“ auf. Diese Gruppe von Leuten wurde dann später zu den Begründern der „ContextDriven School“.
7. 3. Wie arbeitet man mit „ET“? ET ist ein Ansatz, keine Technik oder Methode. Exploratives Testen kann mit jeder Technik und Methode genutzt werden. Daher kann es auch im Bereich der Testautomation genutzt werden. Es ist sogar einfacher ET mit Automatischen Tests zu verbinden, da „nur“ Parameter geändert werden müssen und die Rüstzeit quasi wegfällt oder sehr reduziert ist. Die Wahl der Parameter ist dann eher der Bereich, wo man „ET“ praktizieren kann: Grenzwerte? Bekannte Limits? Unbekannte Limits? Bewusstes Verstossen gegen Limits… Jeder benutzt de facto „ET“, bewusst oder unbewusst. Wenn das Testskript sagt: „Starten Sie den Rechner neu.“ Dann sollte jeder sofort im Kopf haben: „Wie?“ Kabel ziehen, wieder anmachen? „Regulär“ runterfahren? Aus-Schalter für 6 Sekunden drücken? Nur diesen Rechner? Was ist mit dem Datenbank Server oder Fileserver? …?
8. 4. Orakel und Heuristiken Orakel helfen uns, Auffälligkeiten zu entdecken und zu bewerten. Wenn man eine Beobachtung macht, weiß man nicht per se, ob es „richtig“ oder „falsch“ ist. Man braucht einen „Gegenpart“; einen Vergleichs“wert“. Wenn jemand keine Ahnung mit Mathematik hat, kann er nicht wahrnehmen, ob 2+2=5 stimmt oder nicht. Erst durch unsere Lernerfahrung in der Schule wissen wir, „da stimmt etwas nicht“. In diesen Fall war der Lehrer unser „Orakel“, der uns den „richtigen“ Wert beigebracht hat. Als Orakel lässt sich alles nutzen und befragen, was uns zur Verfügung steht: Anforderungen (Requirements) Mathematische Gesetze (Division by Zero) Legale Gesetze (Datenschutz, Pharmagesetze) Andere Kollegen (Produktmanager, Entwickler, Supporter) Bauchgefühle (basieren oft auf *un-bewusste* Regeln; Gut Feelings Book) Erwartungshaltungen (F1 = schliesst das Programm?) Selbstverifizierende Daten, zb. Adressdatensatz. Wenn die PLZ im falschen Feld steht, fällt es (hoffentlich) sofort auf.
9. 4. Orakel und Heuristiken Heuristiken sind Mmonenics oder „Eselsbrücken“. Sie können uns helfen, weitere Aspekte beim Testen zu bedenken. Oder wenn uns die Ideen ausgehen, eine bewusste Fokussierung zu ermöglichen. Beispiele für Heuristiken: Wo Rauch ist, da ist auch Feuer (~ Wo ein Bug ist, gibt es auch noch mehr) Montagsautos (~Montags-Builds?) San Franciso Depot (SFDPOT = Structures, Functions, Data, Platforms, Operations, Time) HICCUPPS (History, Image, Comparable Product, Claims, User Expectations, Product, Purpose, Standards and Statutes) PAOLO for iPad (Portrait, Audio, Objects, Landscape, Overlay) Wenn man sich bewusst die Fragen nach zb. PAOLO stellt, fokussiert man seine Gedanken und denkt über die obigen Elemente nach. Dieses kann zu neuen Testideen führen. Aber: Heuristiken sind fehlbar. Heuristikenwidersprechen sich auch. Der Vorteil liegt in einer schnellen Eselsbrücke.
11. 7. Was sind wahrgenommene „Nachteile“ beim ET? Reproduzierbarkeit Eine 100% gleiche Vorgehensweise beim „gleichen“ Test ist nicht gewährleistet.Selbst wenn man *glaubt*, man führt exakt die gleichen Schritte aus, hat man unbewusst „etwas“ anders gemacht. Lösung: Aufnahme der Session (zb. Video) Nachvollziehbarkeit zu Anforderungen Ein Tracking oder eine Rückführung auf dedizierte Anforderungen kann schwierig sein. Lösung: SBTM (Session-Based Test Management)Damit wird ET nachvollziehbarund„auditierbar“.
12. 8. Bekannte Namen, Personen, Info-Quellen, Material Persönlichkeiten James Bach: The Seven Basic Principles of the Context-Driven School Michael Bolton: Weiterbildung: RST (Rapid Software Testing) Dr. Cem Kaner: Bücher: Testing Computer Software ; Lessons Learned in Software Testing GlenfordJ. Myers : Buch: The Art of Software Testing (1979, Klassiker) Gerald M. Weinberg (Born in 27 October 1933) 1958 First softwaretestteam : Das erste Software Test Team wird von Weinberg zusammengestellt. Es ist für „Project Mercury“, das erste bemannte Raumfahrtprogramm. Auszeichnung für sein Lebenswerk: 2010 Software Test Luminary Award (STP) Insgesamt mehr als 30 Bücher: Insgesamt mehrere hundert von Artikeln Weitere Persönlichkeiten: AjayBalamurugadas: Mitgründer vom Weekend Testing ParimalaShankariah: Engagierte Bloggerin und Mitgründerin vom Weekend Testing PradeepSoundararajan: Passionierter Tester und Blogger, Günde einer Testing Services Firma Markus Gärtner: Blogger und Mitgründer des Europäischen Weekend Testing Michael Larson: Blogger, Buchrezensionen und Tester Konferenzen: EuroSTAR (19th Annual European software testing conference) CAST (Conference for AST [Association of Software Testing]) => CAST 2011 "Context-Driven Testing" STAR East / STAR West (Software Testing Analysis & Review)
13. 8. Bekannte Namen, Personen, Info-Quellen, Material Workshops & Kurse: RST: Rapid Software Testing BBST: Black Box Software Testing Communities: Weekendtesting „Test, Learn and Contribute“ = Selbstorganisiertes Lernen, Testen und Austausch. STP - Software Test Professionals XING - Business Networking STUGHH - Software Testing User Group Hamburg London Testers Gathering: Lokale Testgruppen Twitter: Viele Tester twittern, viele Challengesinitieren sich über Twitter, viele spontane Skype Diskussionen kommen so zustande. TestingDojos (Markus Gärtner @HH)
14. Open Discussion Reflektion und gemeinsame Diskussion zu: „Was sind / können „Vorteile“ beim ET sein?“ Danke an die Teilnehmer vom 04.02.2011 des STUGHH (Software-Test User Group Hamburg)https://www.xing.com/net/prif9dd89x/stughh/