Posts mit dem Label SessionBasedTesting werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SessionBasedTesting werden angezeigt. Alle Posts anzeigen

Dienstag, 16. November 2010

Q281: Agile Testing = Chaos! Stimmt die Gleichung?

Nein, da weder der Explorative noch der Session Based Test eine agile Erfindung sind. Das sagt zumindest DI. Manfred Baumgartner (Bild links), Leiter Geschäftsfeld Software-Test, ANECON Software Design und Beratung G.m.b.H.

Für die ATB-Insider Interviewreihe "Auf einen Kaffee mit..." traf ihn zum Frage&Antwort-Spiel und stellte dabei die eine oder andere ketzerische Frage zum Thema „Agile Testing“.

Q: Herr Baumgartner, gleich eine ketzerische Frage zum Einstieg. Stirbt der traditionelle Tester, also der nicht agile Tester, aus?

MB: Für die Beantwortung dieser Frage ist es von Bedeutung, was man unter einem traditionellen Tester versteht: Wenn „traditionell“ bedeutet, dass der Tester im Anschluss an lange Analyse- und Entwicklungsphasen wochen- oder gar monatelange Tests durchführt und es vielleicht – auf Grund der Größe des Vorhabens – gar nicht auffällt, wenn der individuelle Fortschritt einmal nicht so gegeben ist, dann wird der traditionelle Tester wohl aussterben.

Besagt „traditionell“ jedoch die Beherrschung von bewährten und effizienten Testmethodiken, dann ist der agile Tester eine spezifische Ausprägung des traditionellen, professionellen Testers unter sehr herausfordernden Rahmenbedingungen.

Q: Agiles Testen hört sich für manche an nach „Chaos“ und „Jeder macht was er will“. Was sagen sie dazu? Wie definieren sie „Agile Testing“?

MB: Agile Testing ist ganz das Gegenteil von „Jeder macht was er will“. Stärker als in traditionellen Vorgehensweisen ist er gleichberechtigtes Mitglied des Entwicklungsteams und dem konstruktiven Entwicklungsprozess „committed“. Es geht also weniger um das „destruktive“, nachgelagerte Fehlerfinden, wozu jedes Mittel legitim ist, sondern um die aktive Mitgestaltung in der Erarbeitung und regelmäßiger Bereitstellung von Business Value in Form eines funktionstüchtigen Release der geplanten Applikation. Um dieses zu erreichen, muss sich auch der Tester dem übergeordneten Ziel des agilen Teams unterordnen und ein Testverfahren und Testmethodiken wählen, die die bestmögliche Qualität und somit die Absicherung des Geschäftsnutzen sicherstellen.

Q: Was zeichnet einen agilen Tester aus.

MB: Den agilen Tester zeichnen insbesondere drei Fähigkeiten aus. 

Erstens: die Fähigkeit, den für die konkrete Aufgabenstellung richtigen Testansatz und die richtigen Testmethoden und –techniken zu wählen. Dies bedingt einerseits die Kenntnis dieser Methoden und andererseits die Erfahrung, Kreativität und Flexibilität in deren Anwendung.

Zweitens: Konsequenz und Ausdauer, um unter dem Druck des oft engen zeitlichen Korsetts in Agilen Projekten (kurze Iterationen, „working software“ am Ende jedes Sprints) nicht auf erlerntes und bewährtes Wissen zu vergessen und in ein Chaos-Vorgehen zu verfallen und

Drittens: Kommunikationsfähigkeit, da nur über eine sehr gut funktionierende direkte Kommunikation mit allen Teammitgliedern, sei es Entwickler, Product Owner, Endanwender oder sonstige Stakeholder, die Synergien eines Agilen Teams realisiert werden können.

Insider: In SCRUM gibt es die Rolle des Testers nicht, da gibt es keine Spezialisten. Wie würden sie das Thema Test dort verankern?

MB: Dies ist im Wesentlichen dem Umstand zu verdanken, dass die „Erfinder“ von SCRUM und die einschlägigen Autoren Entwickler und keine Tester waren. Aber es sei ihnen verziehen, denn würde ich als Tester ein Vorgehensmodell entwickeln, dann würde dies darauf beruhen, dass der Endanwender Business-Modelle formuliert, aus denen der Code direkt generiert wird und die Ergebnisse durch Tester validiert werden. Der klassische Entwickler wäre nur mehr in Ausnahmefällen von Nöten.

Aber Scherz beiseite: SCRUM geht hier an den Notwendigkeiten und der Realität vorbei. Ein gutes SCRUM-Team besteht aus Requirements-Engineers, eine Rolle, die manchmal durch den Product Owner eingenommen werden kann; es hat einen exzellenten Architekten im Team, der unter Umständen auch mit entwickelt und dafür sorgt dass die Architektur trotz vieler kommenden Änderungen stabil und flexibel zugleich ist; es besteht aus hervorragenden Entwicklern, die im kurzen Sprints sowohl neue Features entwickeln, Fehler beseitigen und ein laufendes Refactoring durchführen; und es umfasst ein Team von ausgezeichneten Testern, denen es in optimaler Weise gelingt eine hohe, nachvollziehbare Testabdeckung zu erreichen, die neuen Features zu testen und gleichzeitig – unter Einsatz von funktionaler Testautomatisierung – die notwendigen und mit jedem Sprint umfangreicher werdenden Regressionstests durchzuführen. Wenn man sich dies vor Augen führt wird deutlich, dass die SCRUM-Interpretation „Jeder kann und macht alles“ eine Illusion ist.
























Q: Das ISTQB geht nicht näher auf Agile Testing ein. Wie passt die ISTQB-Zertifizierung als Ausbildung dann mit Agile Testing zusammen?

MB: Wie bereits erwähnt steht Agile Testing nicht im Widerspruch zu den ISTQB-Zertifizierungen, in denen insbesondere viele Grundlagen, Techniken und Methoden des Software Tests vermittelt werden, die ganz besonders in Agilen Projekten zum Einsatz gelangen. Mittlerweile wurde auch der Certified Agile Tester® CAT ins Leben gerufen (www.agile-tester.org). ANECON bietet seit Anfang des Jahres ein Seminar „Agile Testing“ an und ist ebenfalls CAT – Training Provider und gleichzeitig ISTQB-akkreditiertes Unternehmen – und wir betrachten diese Ansätze in einer synergetischen Ergänzung.

Q: Exploratives Testen = Session Based Testing = Agil. Stimmt die Gleichung?

MB: Die Gleichung stimmt insofern nicht, als dass weder der Explorative noch der Session Based Test eine agile Erfindung sind und man einen schweren Fehler begeht, wenn man „Agil“ auf diese Testtechniken reduziert. Der Einsatz dieser Techniken muss auf den jeweiligen Einsatzzweck und auf die angestrebten Qualitätsziele abgestimmt sein. Wichtiger in Agilen Projekten erscheinen mir jedoch die Optimierungsmöglichkeiten eines Risikobasierten Tests bzw. von Value Driven Testing sowie der konsequente Einsatz von Testautomatisierung.

Q: Brauche ich im Zeitalter von agile Testing noch einen Testmanager?

MB: Obwohl z.B. in SCRUM der Testmanager vorerst im wahrsten Sinn des Wortes keine Rolle spielt, prägt sich in fast allen Agilen und auch SCRUM-Projekten dies Rolle „natürlich“ aus – weil Erfahrung und Kenntnis in Testansätzen, -methoden und –techniken und in Aufwandsschätzungen immer benötigt werden. Der Testmanger ist dabei aber nicht mehr der Manager eines Teams von Testern sondern Manager des Tests in einem gleichberechtigten Team.

Q: Danke für das Gespräch.

Dienstag, 22. Dezember 2009

Q70: Puma Tahara oder Adidas Rom?


Freitag war der Tag der Weihnachtsfeier. Der Tag ist immer so besinnlich. Da arbeitet man ein bissal, da verlängert man ein bissal die Mittagspause. Da geht alles a bissal anders zu. Diesmal findet die XMAS-Party (ich bevorzuge diesen Terminus, Weihnachtsfeier hört sich so altbacken an) im Headquarter statt. Nicht a bissal sondern ganz und gar. Den ganzen Tag wusln die Eventagentur-Hansln auf und ab. Buffet, Esstische, im War-Room die Lichtorgeln und der DJ-Schreibtisch. Muss ja irgendwer aufbauen. 

18:00, es geht los. Ich werfe mich in Schale und suche Verbündete. Mit einem „It's time for Rock'n Roll, los geht’s Mädls!“ stürme ich das Reich  unserer Support-Abteilung. Eine Wolke Haarspray und die Aufforderung mich über die Häuser zu hauen machen mich sprachlos. Thelma und Louise pimpn noch ihr Haar auf und wollen dabei einfach keine Zeugen haben. Na gut, ab zum Empfang. Dort befindet sich zur Zeit das Epizentrum der Eitelkeiten. Am Laufsteg findet man Anzüge, Krawatten, Mascherln, silberne Abendkleider, kleine Schwarze, große Schwarze, weiße Blusen, Jeans und Polos. Ein echter Pinguin mit Mascherl und Smoking hat sich auch hierher verirrt.

MF (aka Harry Potter aka einer der Betriebsratsbande) gesellt sich zu mir. Meine Frage nach der Ursache für sein legeres Outfit begegnet er mit: „Ka Zeit zum umziagn kobt, hob orbeitn miassn!“. Das lob ich mir. Das erste Glas Sekt wird verschüttet. Nicht auf den Boden sondern in meinen Rachen. Wow, der schmeckt gut. Schnell noch ein Gläschen organisiert und ein Plauscherl mit der Business Operations Gang in Gang bringen. Bist du deppat, die haben sich aufgebrezlt, die sind eine wahre Augenweide. Mein Kompliment über die tolle farbliche Abstimmung ihrer Kleidung leitet über auf meine liebste Freizeitbeschäftigung. Das Wäschemanagement im Hause Q. Dafür bin ich nämlich zuständig: Waschen, aufhängen, abnehmen, bügeln. Zwischen anerkennenden Blicken „Du machst das wirklich?“ und ungläubigen, kopfschüttelnden Herren verschütte ich das nächste Glas Prosecco. Mit Lady Lizenzählung stimme ich überein dass Kinder Himalayamäßige Wäscheberge mit sich bringen. Super, und ich dachte schon meine zwei Pappenheimer sind eine Ausnahme in Sachen Dreckwäsche produzieren.

Nach einigen kurzen Smalltalkstationen (immer mit Proseccoverlust) finde ich mich an einer 6er-Tafel mit Thelma & Louise, Harry Potter und den Zillertaler Schürzenjägern Duo die im Atomschutzbunker Visual Basic Programm schreiben zum Essen ein. Beim Tischgespräch stellt sich die Frage ob es gut ist in meinem Blog erwähnt zu werden oder nicht. Ansichtssache, oder?

Bevor das Buffet eröffnet wird sind Festreden angesagt. Gott sei Dank sind die kurz und Schmerzlos. Der SuperMegaBigBoss redet S625X-Polar-Uhr-Hand-gestoppte 3:17. Ein guter Mann, der weiß was seine Leute wollen bzw. eher nicht wollen. Das Buffet ist eröffnet.

Ich war mal bei einem XMAS-Party Filibuster dabei. Drei Direktoren, sechs Abteilungsleiter, drei Unterabteilungsleiter, 2 Unterunterabteilungsleiter. 120 Minuten BLABLABLABLA-BLABLABLABLA. Bauh, Ey. Das war hart. Unter dem Tisch wurde damals bereits eine Schnick-Schnack-Schnuck-Meisterschaft gespielt. Im Semifinale verlor ich 2x mit Blatt gegen Schere. Im Nachhinein gesehen wäre Stein besser gewesen.

Nach der Plünderung des Buffets treffe ich die Zillertaler an der Bar wieder. Wir starten Session Based Testing. Testcharta: Stell fest ob Cuba Libre besser als der Mojito besser als der Caipirinha schmeckt. 3 Möglichkeiten? Da ist adaptiertes Pairwise-Testing angesagt.Testheinis verstehen was ich sagen will. Gell?

Ich schließ den Testzyklus ab und geselle mich zum Fraggles-Tisch. Mit KillBill und Düsentrieb erläutere ich die Frage: „Sollte ich einem Kollegen vermitteln das sein Hosentürl offen ist oder nicht?". Wir einigen uns jedenfalls auf ein Unentschieden. Nächster Testzyklus wird eingeläutet mit dem hochprozentigen McSunday-Eisbecher-Doppelgänger. Angewendete Testmethode: Brrr-schnell-Weg-mit-dem-Dreck! 

Mit dem BigBoss (aka Boss von TheBoss) und Major Tom spielen wir „Song einem Jahr zuzuordnen und den Interpreten ermitteln“. Ich erkläre dass ich jeden Song mit einem Ereignis in Verbindung bringe und es daher für mich ein Leichtes ist. Wie abgesprochen legt der DJ „I was made for loving you!“ auf. Wie aus der Pistole geschossen kommt von mir: „Kiss – 1980 – aun dem Tag hams ma im Polytechnischn de neichn Puma Tahara gfladert...“. Darauf muss ich dem BigBoss erklären was Puma Tahara waren, worauf dieser kontert mit „De Adidas Rom, des waun de mit de blauen Strafen, de  woarn vü kuhla. De hob i domois kobt!“. Major Tom mischt sich ein und ich werfe ihm „Liwin nekst Tor tu Ällis“ an den Kopf. „Stätus Kwo“ kontert er.  Uiiii, BigBoss und ich zucken zusammen. Ui das tut weh. Status Quo mit Smokie verwechseln.  Irgendwer: „Lukking foa Fridum“ - „Hasselhof, muass in de Ochzga gwesn sein!“ - "Richtig"  - „Wideo kilt de Rädiosta?“ - „Baggls“ - "Richtig" - „Ei of de Teiga“ - Der Major schaut mich mit Zusammengekniffenen Augen an und will damit sagen „Ätsch, des darodst nia!“ - Griff an die Schläfen, Augen zu, ich checke meine Song-DB im Kleinhirn – Sekunden später: „Sörweiwa – Rocky 4“ – „Foisch, Rocky 3“ –  „Bledsinn, des woar da dreia, gengan Russn“ – „Wettma?" - "Um waus“.

Der Wetteinsatz startet bei einer Million. Soviel hab ich grad nicht dabei und wir einigen uns auf 10 Euro. BigBoss spielt Notar und checked die richtige Antwort per iPhone. Ein digitaler Mutant? In der Zwischenzeit zählt mein Kontrahent alle Rocky-Gegner auf, buchstabiert sie rückwärts und von oben nach unten und von irgendwo nach nirgendwo – BigBoss kürt den Sieger. Der 10er geht an den Major. Aber ich habe gelernt. Vor 27 Jahren habe ich einmal in 3 Minuten die gesamte Urlaubskassa im Wert von 2000.- Schilling verzockt. Hütchen lassen grüßen. Neben uns veranstaltet der MIG-Pilot ein Pilotencasting und exerziert die Basisübung für das Auswahlverfahren durch.

Mittlerweile ist es 02:00 Uhr. Ich beschließe mich auf den Heimweg zu machen. Vorher falle ich noch über die Reste des Mitternachtsbuffet her. Aber das ist eine andere Geschichte.

Samstag, 5. Dezember 2009

Q55: Ich hasse Pater Brown


Mittwoch Abend, ich betrete um 20:00 Uhr das traute Heim. T&S (aka meine Kinder) schlafen bereits. Wow, das Timing meiner Frau könnte kaum besser sein. Ich liebe sie, und das trotz mittlerweile 25 Jahren Zweisamkeit. Sie hat doch tatsächlich daran gedacht dass auf SAT1 das Rapid-Spiel übertragen wird. Begrüßungsbussi, kurz gegenseitig den Tag reporten, ab in die Küche und den Kühlschrankinhalt einem Session Based Testing unterziehen. Testcharta: „Finde heraus ob der Mozarella so gut schmeckt wie er aussieht“. Timebox: 15 Minuten.

Aus dem Wohnzimmer höre ich: „Der Mozarella ist für Morgen für die gesunde Jause in der Schule! Finger weg!“. %!“§%!“§% denk ich mir. Dann ändern wir halt die Testcharta. Ich bin es gewohnt in dem Bereich agil zu sein, dann muss halt der geräucherte Tofu herhalten. Nach 12 Minuten schließe ich die Testsession und schreibe das Testprotokoll. Danach will ich die Couch für eine Couch-Chamäleon-Session vorbereiten. Meine Frau hat aber schon das Kleinod der Begierde besetzt, weil auf einem anderen Kanal spielt es Pater Brown. Von wegen Rapid-Spiel! Jetzt weiß ich warum die Kids schon so früh im Bett sind.

Neben der Territorialrechteunstimmigkeit gibt es eine zusätzliche bzgl. der Besitzrechte der Fernsteuerung. Meine Frau bringt einen nie eingelösten Wünsch-Dir-Was-Immer-Du-Willst-Mir-Ist-Nichts-Besseres-Eingefallen Gutschein aus dem Jahre 1998 in Spiel. Autsch. Ich habe keine Gutscheine mehr und kann nichts dagegen halten. Gutscheinschulden sind Ehrenschulden.

Ok, ich bringe den Rehblicktrick zur Anwendung. Aber ich schaue in die Augen einer Weidfrau die nichts für Bambi übrig hat. Ok, greife in die Vollen. „Schatz, wenn ich den CRO-Status (aka Chief Remotecontrol Officier) bekomme, dann baue ich danach noch den Partner-Bereich auf deinem Web-Shop ein!“. Ich bin nämlich der Webmaster für den Onlineshop meiner Frau (Achtung. Jetzt kommt Schleichwerbung: http://www.wonnebrocken.com). DLTB hat schon Weihnachtsgeschenke dort gekauft. BvQ nicht. Der glaubt dass es bei seiner Frau nicht richtig ankommen könnte.

20:20, ich wurde zum neuen CRO gewählt. "Aber du kümmerst dich dann wirklich um den Partnerbereich! Das hast du mir schon seit Monaten versprochen!". „Ja, ich schwöre beim Leben unserer PMC's!

Meine Frau wirft ihr Notebook an und checkt E-Mails, Ebay, Etsi, Tawanda und Co. Irgendwann auch wonnebrocken.com. Ich liege gerade in aussichtsreicher Lage und balanciere die Fernbedienung auf meiner Stirn da säuselt jemand aus dem Arbeitszimmer: "Webmaster was ist mit meinem Shop los?".

Blogleser merke dir: Wenn du mit deiner funktionalen Bezeichnung angesprochen wirst, dann heißt das nicht Gutes. Ich denke das dass wie üblich eine Fehlbedienung ist und entere das Arbeitszimmer. Ein Blick über die Schulter der bessern meiner 75% reicht und ich weiß das es heute nichts mit "Rapid : Hamburg" wird. Die Fehlermeldung "cannot open shared object file: No such file or directory in Unknown on line" bedeutet nichts Gutes. Die nächste Stunde verbringe ich damit den Fehler zu beheben und ärgere mich zu Tode. Ich habe nämlich gestern „eh nur“ eine Kleinigkeit in einem PHP-Script des Shops geändert.

Wie gesagt: „Eh nur eine Kleinigkeit...

Donnerstag, 3. Dezember 2009

Q53: Was sagt die Risikobewertung?


Die Permissiongroups unserer Applikation waren nicht so implementiert wie im Handbuch beschrieben. Das wiederum bedeutet, dass die Abweichung gefixed wurde.

Unser Ivan Drago (aka der MIG-Pilot aka Y.) hat sich darum gekümmert. Das Ganze ohne den Spruch: "Das ist eine Kleinigkeit". Was heißt das jetzt? Traut sich keiner mehr den Spruch zu führen, oder ist es wirklich so heikel. Eine durchgeführte Risikoanalyse trifft sich in der Risikomatrix bei B2, was soviel bedeutet wie "Fast volle Wäsch testen!". Gott sei Dank nur "fast".




Was die Ableitung der logischen Testfälle erleichtert ist die Tatsache, dass mir ein Testorakel*  zur Verfügung steht aus dem ich ableiten kann. Hippie. Freude kommt auf. Nachdem aber nicht viel Zeit zur Verfügung steht, greifen wir wieder auf Session Based Testing zurück. Denn: Ich bin agil, du bis agil, wir sind agil – usw. usw.

Nach 15 Minuten komm ich drauf, dass etwas nicht stimmt. Ein kurzer 6-Augen-Check (Ivan Drago, DLTB, Q) stellt fest dass ein Update in der DB zu erfolgen hat. Schnell ist ein Script geschrieben, versioniert, deployed und die Permissionsgroups machen das was sie machen sollen. Voll Agil. Ich liebe dieses Wort und alles was dahinter steckt.

Im Zuge des OnBoarding-Prozesses meiner Person hat BvQ einen gemeinsamen Bekannten, M. (Agil hoch 2), nach mir ausgefragt. Mit M. habe ich im gleichen Softwarehaus gearbeitet. Seine Empfehlung für BvQ: "Treib eam sei Stuaheid aus, und du host an guate Maun". Die Sturheit war bezogen auf meine Liebe zum V-Modell-XT und meiner Meinung "AGIL = Pfuschen". Mich** kann niemand zu etwas überreden, mich kann man nur Überzeugen. Dank an M., dass er nicht alles von mir verraten hat.

*(Für TF: Nicht gleich schwitzig werden, das hat nichts mit einer Orakel-Datenbank zu tun. Für MOR: Ja, leider - hat nichts mit einer Oracle-DB zu tun)
*** (Sternzeichen Stier. Aber wer glaubt so einen Sch%$§&§&$§?)

Donnerstag, 26. November 2009

Q44: Wie agil ist Session Based Testing?


Y. (aka Ukrainischer DEV-Fraggle) hat die Setups des ReportsSchedulers umgebaut. Der gelbe Zettel auf der Scrumtafel mit der Aufschrift "ENG Test" schreit: "Q., nimm mich. Hallo ich will von dir in Progress genommen werden. Los, du Sack fang endlich zum Testen an!". Nachdem gelbe Zettel mit dieser Aufschrift meine besten Freund sind, komme ich diesem Wunsch gerne entgegen.

Schritt 1: Testbasis (aka RFC-Dokument aka User-Story aka das-Ding-das-nie-vollständig-ist-wenn-PK-eine-Anforderung-hat" sichten. Was jetzt kommt brauch ich nicht erzählen, es ist eh klar.

Aber halt. Was sehe ich da. Der zuständige DEV-Fraggle hat eine technische Spec geschrieben. Schampus für den Y. Wobei der Lenin-Orden würde dem Ukrainischen-Tom-Cruise-Top-Gun-Absolventen besser stehen.

Na gut. Session Based Testing, mein neuestes Lieblingwort. Ich verfahre auch danach. Vorerst zum Kennenlernen. BvQ (aka den kennt jetzt eh schon jeder, das ist mein Boss) sagt immer "Sehe es als eine Chance etwas neues Auszuprobieren!". Recht hat der BvQ.

Ich definieren als Testcharta: "Prüfe ob die Java-Script-Funktionalität in allen Browsern korrekt arbeitet". SB-Timescope: "90 Minuten". Das muss reichen um zu beweisen dass eine Abweichung vorliegt.

Werfe meine Wunderwaffen an: 6 Virtuelle PC auf meiner 4-GB-aber-nur-2-adressierbaren-Workstation an. Auf jedem läuft der jeweilige Browser (FF35, IE7, IE8, Opera, Safari, Crome) in einer nackten Windows-XP-Umgebung. Weil, man kann ja nie wissen welcher Browser welchen was zusammenhaut.

Richtige Abweichung finde ich keine. Java Script funktioniert. Mir fällt nur auf das ich Datenfelder eingeben kann die keiner braucht und daher auch nicht gespeichert werden. Sofort mache ich meinem Gegenüber DLTB (aka die-lebende-Test-Basis aka BdF aka Boss der Fraggles aka der-Mann-der-jedes-Byte-der-Applikation-kennt) klar das somit ein klarer Usability-Verstoß nach SD§ 4711 Absatz 0815 vorliegt.

Nach heftigen Diskussionen meint DLTB "Des woar scho imma so. Oba du host scho recht. Des kennt ma a noch schnö mochn!". Alarmglocken schrillen, " a no schnö mochn". DLTB formuliert schnell die neue Anforderung und gibt diese verbal über meinen Kopf hinweg an Y. weiter. "Y., geh berücksichtige das die zwa Felder nur angezeigt werden wenn im Feld Periode der Wert  Täglich steht."

Cruise meldet verbal über meinen Kopf zurück: "OK, das haben wir gleich...!"

Ich liebe agile Softwareentwicklung. Doch halt. Was war da zwischen "OK...!" und "Ich liebe agile...."?