You are browsing the archive for 2011 November.

Avatar of thomas

by thomas

Video Interview: Meet our Testers: Netcorps

30. November 2011 in Meet our Testers

In diesem kurzem Interview stellen wir unseren Softwaretester Alexander Waldmann alias “netcorps” vor.
Der IT Consultant & Softwaretester erklärt die Vorteile von Tests mit der Crowd, welche Fähigkeiten ein guter Tester haben muß und warum ihm das explorative Testen am meisten Spaß macht.
Video Interview auf YouTube oder hier als Textfassung
Alexander Waldmann alias “netcorps” im Interview mit Thomas Grüderich von testCloud

 

Was machst Du hauptberuflich?
Ich bin Softwareentwickler, berate vor allem aber auch Kunden, also IT-Consulting Bereich. Ich sage Kunden, welche Software sie für ihr Problem brauchen, entwickle diese Software und muss natürlich – wenn man Software entwickelt – auch testen. Daher auch der Draht zu testCloud. Ich bin auch in der Qualitätssicherung tätig, bei einer Firma angestellt. Ich bin aber vor allem als Freiberufler als Tester unterwegs und als Softwareentwickler.

Was gefällt Dir besonders am Testen?
Die Befriedigung, die entsteht, wenn man Fehler findet. Das Gefühl, dass es ein bisschen besser ist in dieser Welt, weil ein Fehler nicht beim Kunden landet, sondern tatsächlich vorher in der Software identifiziert wurde. Man hat natürlich als Tester immer das Problem, dass dann eventuell die Fehler drin bleiben, weil der Kunde sagt: Ne, so wichtig ist das nicht. Aber das Problem kann man halt nicht lösen. Kurz: Das Gefühl, die Welt ist ein bisschen besser geworden.

Gute Einstellung. Du weißt ja, bei testCloud testen wir mit einer Crowd. Was ist Deiner Meinung nach der Vorteil, mit so einem “Schwarm” an Testern zu testen?
Man findet Sachen, die man sonst nie gefunden hätte. Durch automatisierte Tests findet man die Sachen, die Entwickler erwarten, z.B. Probleme mit Randbedingungen bei irgendwelchen Routinen. Aber der Otto-Normal-User, der wild rumklickt, der wird super simuliert durch die Crowd. Wir haben eine extreme Abdeckung von Konfigurationen, irgendwer auf seinem iPad, einer auf seinem Laptop, mit kleiner Auflösung, mit flachem Monitor, mit senkrecht gestelltem Monitor, auf die Ideen kommt man nicht, wenn man testet. Das hat man durch die Crowd alles kostenlos mit dabei.
Auch unterschiedliche Denkmodelle. Wenn die Hausfrau testet und wenn der professionelle Softwareentwickler testet, kommen ganz andere Ergebnisse heraus. Die Hausfrau hat eine völlig andere Perspektive beim Testen, sodass die Ergebnisse viel mehr enthalten können, als wenn man nur als Profi testet, weil der in bestimmten Schienen denkt.

Was empfiehlst Du Unternehmen, die darüber nachdenken, mit einer Crowd zu testen oder das Testen auszulagern?
Entwickler bereithalten, um die Fehler zu beheben. Nichts ist schlimmer, als wenn man sich die Mühe macht, Fehler zu finden und diese dann nicht behoben werden, sehr frustrierend.

Wenn Du Dir die Crowd mal anschaust, was muss ein guter Tester mitbringen?
Um durchschnittlich zu werden: Nichts. Das kann jeder. Man kann wahllos herumklicken und auch Ergebnisse finden. Um extrem gute Ergebnisse zu erzielen, muss man strukturiert vorgehen. Man muss Checklisten haben, man muss einen Plan haben. Was testet man? Was hat man für ein Ziel? In welchem Modus testet man: Testet man in der Variante “Ich will das System zerstören, ich will nach Sicherheitslücken gucken”: Hat der Kunde irgendwo eine SQL-Injection [1], XSS (Cross-Site-Scripting [2]) oder CSRF (Cross-Site Request Forgery [3]) Lücke? Oder simuliere ich den Otto-Normal-User, der der Zielgruppe (z.B. eines Shops) entspricht. Beispielsweise den jungen trendigen Shopper, der von seinem iPhone unterwegs schauen möchte, ob es die neue Jeans endlich gibt, die im März rauskommen sollte. Welche Perspektive nehme ich also ein? Dann sollte man auch wirklich bei dieser Perspektive bleiben, sich nicht ablenken lassen, selbst wenn man zwischendurch andere Fehler findet, was durchaus vorkommen wird. Diese kann man sich irgendwo merken, vielleicht einen Screenshot speichern, und dann später eintragen. Man sollte seinen Pfad aber nicht verlassen und gedanklich sein Rollenmodell einhalten.

Du hast vorhin gesagt, dass Du sehr leidenschaftlich beim Testen bist. Dir macht das offensichtlich richtig Spaß. Das ist natürlich eine super Sache. Gibt es eine bestimmte Art des Testens, die dir am meisten Spaß macht?
Explorativ. Ich bin gewöhnt, mit Testplänen zu arbeiten. Das ist aber oftmals langweilig. Man findet selten etwas, weil die Entwickler ja wissen, was im Testplan steht, worauf sie also achten müssen. Interessant sind dann die Sachen, die nicht im Testplan stehen. Beispielsweise der “Affen-Test”: Ich klicke wild wie ein Affe und gucke, ob ich ne “Banane” finde. Da kommt meist etwas interessantes bei heraus. Wenn ich natürlich auf diese Weise teste, muss ich nachher auch den Willen und die Energie haben, dem Kunden (auch hartnäckig) zu erklären, warum das aber durchaus ein realistisches Szenario ist, dass ein Kunde so geklickt hat.
Auch wenn man Störstrings eingibt, und komische Zeichenketten verwendet: Manchmal ist nur das Anführungszeichen das Problem. Der Kunde sieht aber nur die “komische” Zeichenkette und sagt, das sei kein Fehler. Das gibt so niemand ein. Ein Anführungszeichen
ist aber nicht unrealistisch und wenn dann die Datenbank auseinanderfliegt, ist das schlecht. Da muss man also immer hinterher sein.

Ihr seht, hier spricht ein hartnäckiger Tester, der wirklich auf Herz und Nieren prüft. Letzte Frage: Wenn Du testest, hörst du dabei Musik? Was läuft nebenbei?
Nichts. Die Tür muss zu sein, weil meine Frau sonst gerne auf russisch im Wohnzimmer singt und mich ablenkt. Grundsätzlich keine Musik, volle Konzentration. Es handelt sich ja um einen Wettkampf. Es geht darum, wer einen Bug als erster einreicht. Wer liefert die höchste Qualität, wer liefert vielleicht auch Verbesserungsvorschläge. Da kann man sich nicht ablenken lassen.
Wenn man einer routinierten Tätigkeit nachgeht, z.B. beim Testen nach Testplan, kann man beispielsweise klassische Musik hören, mit hohem Tempo, oder Techno, wenn man es mag, um seine Arbeitsgeschwindigkeit zu steigern. Das Problem beim Testen ist, dass man oft unterbrochen wird, man hört in seinem Handlungsfluss auf, weil man einen Bug erfassen muss. Man kann nicht 100 Bugs sammeln und danach erfassen, man muss sie dokumentieren, sobald man sie gefunden hat. Wenn man zu lange wartet, weiß man nicht mehr, was man da gemacht hatte und was das Problem war. Dabei ist Musik sehr störend, weil sie sich nicht anpassen kann, an den Takt und die Geschwindigkeit, mit der man selbst arbeitet. Das Finden von Bugs ist nunmal zufällig: Ob ich jetzt 3 Bugs am Stück finde oder erst in 10 Minuten den nächsten, kann ich nicht wissen und kann die Musik nicht abbilden.

über testCloud.de: testCloud ist der Anbieter von crowdsourced Softwaretesting. Dabei nutzt testCloud die Intelligenz der Masse. Diese besteht aus erfahrenen Testern, die Software unter realen Bedingungen testet um Fehler (“Bugs”) aufzuzeigen. Ein testCloud Projektmanager koordiniert  die Crowd und überwacht die Qualität der Bugs. testCloud kann die jeweiligen Testing-Anforderungen kosteneffizienter, schneller und besser erfüllen als intern betriebene Tests.

[1] http://de.wikipedia.org/wiki/SQL_Injection
[2] http://de.wikipedia.org/wiki/Cross-Site-Scripting
[3] http://de.wikipedia.org/wiki/Cross-Site_Request_Forgery

Avatar of thomas

by thomas

Bugs have feelings too

16. November 2011 in Allgemein


via cartoontester.blogspot.com

Avatar of thomas

by thomas

Wie klassifiziere ich meinen gefundenen Bug?

11. November 2011 in Allgemein

Wenn ihr auf Fehlersuche geht und einen Bug gefunden habt, stellt sich meist die Frage: “Wie klassifiziere ich den?” Bei testCloud testen Menschen und die haben gerne unterschiedliche Interpretationsweisen. Wie also unterscheidet man zwischen unseren “Wichtigkeiten” Low, High und Critical?

Hier gilt wieder die Devise: Versetzt euch in die Lage des Kunden und stellt Euch die Frage: “Wie würde ich diesen Bug deuten, wenn ich der Kunde wäre?” Wenn Ihr im Online Shop nicht bestellen oder bei der Airline den Flug nicht buchen könnt, ist das ohne Frage ein “Critical” Bug. Auch wenn man sich mit seiner gültigen E-Mail Adresse nicht anmelden kann oder der Warenkorb plötzlich leer ist, wird jeder dies als kritischen Fehler betrachten. Sind die Eingabefelder eines Formulars verrutscht oder wird eine Grafik nicht richtig dargestellt, kann von eher unwichtigen Fehlern gesprochen werden. Aber: Was, wenn die Grafik das Firmenlogo enthält? Oder die verrutschten Eingabefelder das Bestellen erschweren? Hier ist euer Feingefühl gefragt. Grafikfehler bei Applikationen, die noch weit von der Veröffentlichung entfernt sind, können meist als Low eingestuft werden. Steht ein Release an, ist ein fehlendes oder falsch dargestelltes Logo zumindest “High”. Auch die zu erwartende Priorisierung des Kunden kann eine Rolle spielen: Ein einzelnes fehlendes Produktbild im Online Store eines hochpreisigen Computerherstellers hat eine ganz andere Bedeutung, als bei einem Verkäufer von .. sagen wir .. 1,50€ Kork-Untersetzern.

Um die vielen Beispiele auf den Punkt zu bringen: Bugs sind zu verschieden und unvorhersehbar, Produkte und Kunden zu individuell, um einheitliche Vorgaben zur Klassifizierung zu machen. Benutzt euer Einfühlungsvermögen, versetzt euch in die Lage des Kunden und begründet im Zweifel eure Einschätzung kurz in der Bug-Beschreibung.

Übrigens: Wie immer, kommt es schlussendlich auf die Einstufung durch den Kunden an. Sowohl Down- als auch Upgrades sind möglich und werden entsprechend entlohnt.