Archiv für den Monat: Oktober 2005

Testverfahren

Was testet man eigentlich? Gerne werden verschiedene Testmethoden durcheinandergewüfelt. Hier meine persönliche Einteilung:

Ebene 1: Unit-Tests (Klassentests)
Test der einzelnen Funktionen (oder Klassen, je nach Sprache). Diese Tests werden leider sehr vernachlässigt, sind jedoch absolute Basis des Erfolgs. Man kann mit JUnit-Tests automatisieren. Wichtig bei diesen Tests ist es, die Fehlerfälle zu testen. Schon hier muss zwingend eine Fehlerbehandlung bei falschen Eingaben erfolgen. Beim Extreme-programming schreibt man die Tests und dann erst die Klasse!
Die Tests werden durch die Entwicklung definiert und durchgeführt.
Ebene 2: Komponententests
Die nächste Stufe. Machen die Softwarekomponenten, was sie sollen. Auch hier: Automatisierung rules! Die Tests werden durch die Entwicklung definiert und durchgeführt.
Ebene 3:Integrationstests
Der erste Test, ab der Kunde beteiligt wird: Läuft die Software in der gewünschten Umgebung? Die Tests werden gemeinsam von Betrieb und Entwicklung definiert und durchgeführt.
Ebene 4: Oberflächentest
Wichtig (nicht nur) bei Web-Frontends. Passen allen Links? Passt die Fensterbreite etc. Hier dürfen die Anforderer testen.
Ebene 5: Abnahmetests, BlackBox
Achtung Falle! Hier testet man die Applikation gegen das Konzept. Sprich: Macht die Applikation das, was konzipiert wurde. Oft werden bei der Gelegenheit gleich Änderungen mit eingetütet die dem Anforderer in letzter Sekunde eingefallen sind. Das ist in soweit auch legitim, jedoch nicht Bestandteil der Tests. Es werden dann „mal eben“ Änderungen vorgenommen sich sich später in keiner Dokumentation wiederfinden. Solche Änderungen sind Change-Request und gesondert zu behandeln. Die Verantwortung für Planung und Durchführung der Tests liegt bei der Projektleitung.

Weitere Tests:
Last-Tests: Wieviele benutzer schafft die Applikation. Ein sehr aufwändiger, aber wichtiger Test
Usebility-Test: Leider fehlt dafür oft das Geld.
Stress-Test: Extrem Wichtig! Was passiert in Ausnahmesituationen? Man solltest mindestens mal den Server vom Strom-Netz trennen und schauen ob alles wieder anläuft.
Bei der Abnahme unterscheide ich immer zwischen 3 Fehlertypen:
1) Abnahmerelevante Fehler
Die Applikation läuft gar nicht oder so falsche, dass man sie auf keine Fall nutzen darf. Die spezifizierten Prozesse laufen also gar nicht (oder nur teilweise). Der Abnahmetest wird beim Auftreten eines solchen Fehler sofort abgebrochen. Weitere Tests finden erst statt, wenn der Fehler behoben ist.
2) Fehler welche die Abnahme nicht unterbrechen, jeodch verhindern
Diese Bugs verhindern zwar die Abnahme, unterbrechen aber nicht den Abnahmetest. Die Prozesse laufen also nicht sauber, aber sie laufen. Beispiel: Man kann keine Umlaute in einer Adresse eingeben (ja, das ist auchheute noch ein Problem…). Man kann weiter testen, aber die Software nicht sinnvoll nutzen.
3) Fehler, die im Support behoben werden
Diese Fehler behindern nicht die Abnahme (z.B. Schreibfehler, kleine Bugs etc.). Die Abnahme findet statt und der Fehler wird über die normale Gewährleistung behoben.

Und hier noch der ultimative Guerilla-PM Tipp:

Abnahmetests durch projektfremde Personen durchführen lassen. Man drückt den Leuten die Spezifikation/Anforderungsdokument in die Hand und los geht’s. Vorteil: Man kann gleich sehen, ob die Dokumentation was taugt, die Tester machen gleich einen Usebility Test und man kommt nicht in die Versuchung, neue Anforderungen reinzumogeln!

Testen kann Spaß machen

Es geht doch. Nachdem der Dienstleister die letzten Woche fast täglich neue Software geliefert hat, kann ich die meisten Fehler auf „Closed“ setzen. Neue Fehler tauchen auch nicht auf – sieht man von Kleinigkeiten mal ab. Dann gehe ich diesen Monat mit zwei Teilprojekten online, guter Schnitt.

Für die nächste Version muss ich mich mal dringend mit den Testern unterhalten. Ich bin ein großer Fan von automatisierten Tests. Man kann auf allen Ebenen (Unit Tests, Integrationstests, Abnahmetests) automatisieren. Der initiale Aufwand ist zwar höher, dafür kann man sicher sein, dass jede Software-Lieferung komplett durchgetestet wird. Einmal erstellte Tests lassen sich meist ohne große Probleme auf neue Versionen anpassen. Gerade für Web-Frontends gibt es einen Haufen Tools (kommerziell wie kostenlos) die sich prima einsetzen lassen. Noch wird hier bei meinem Kunden jedoch per Hand getestet. Mal sehen, ob ich Überzeugungsarbeit leisten kann.

Laufen in Frankfurt

Die ideale Sportart für Berater ist Laufen. Man braucht nicht viel Ausrüstung, kann fast überall laufen und kann auf die Frage „und, wie war dein letzter Marathon“ eine Antwort geben.
Eigentlich mag ich Frankfurt ja nicht wirklich. Aber bei Dunkelheit am Main zu laufen hat schon was. Die Strecke ist beleuchtet und man sieht die beleuchtete Skyline mit den Geldfördertürmen der Banken. Dann sieht Frankfurt sogar recht hübsch aus.

Tugend des Projektleiters: Warten

Je besser ein Projekt läuft, desto weniger Arbeit hat der Projektleiter (ok, auch wenn ein Projekt gegen die Wand fährt gibt es manchmal nichts mehr zu tun …). Also warte ich auf die Arbeistergebnisse anderer Leute. Auf der einen Seite will ich die Leute nicht von der Arbeit abhalten. Auf der anderen Seite kann ich auch nicht einfach nach Hause gehen. Von Zeit zu Zeit ist ein Statusanruf ganz sinnvoll. Außerdem will ja manchmal doch noch jemand etwas von mir wissen. Na gut, plane ich ein wenig die Folgeversion.

Neues Spielzeug: TomTom Navigator für Tungsten T5

Auch wenn sich – zumindest laut einem Verkäufer im Pro-Markt – die Palm Zeit dem Ende zuneigt, ich bin auf meinen T5 angewiesen. Und wenn ich das Ding eh‘ ständig mit mir rumtrage, macht eine GPS Maus mit Software ja irgendwie Sinn. Hier mein erster Eindruck:
Ich hatte bis zum letzten Jahr ein Navigationssystem in meinem Dienstwagen (A4). Selma (wie ich sie die Computerstimme getauft habe) hat mich immer gut zum Ziel geführt (von einigen Ausnahmen abgesehen). Daher nehme ich dieses Navi als Vergleich. Die Sprachausgabe ist ok, setzt aber leider sehr spät ein. Will man sich nur auf die Sprachausgabe verlassen, hat man verloren und rauscht gerade im Stadtverkehr an jeder Kreuzung vorbei. Ganz anders sieht es mit der Kartendarstellung aus. Die ist sehr genau und extrem hilfreich. Für mich war es eine riesen Umstellung, da ich mich bislang halt immer auf Selma verlassen hatte. Nach einiger Zeit ist es aber kein Problem mehr.
Man kann sich im Internet POI (Points of Interest) Daten herunterladen. Es gibt Listen mit Geldautomaten, Tankstellen und – sehr wichtig für uns Berater – FastFood Läden. Ich weiß jetzt immer, wie weit der nächste Subway entfernt ist :-))
TomTom bietet als zusätzlichen Service aktuelle Verkehrswarnungen (per GPRS). Dummerweise kann der Palm nicht zwei Bluetooth Verbindungen gleichzeitig halten, also kann er nicht Telefon und GPS-Maus per Bluetooth ansprechen. Hätte mich mir mal nicht die Bluetooth Variante, sondern eine kabelgebundene GPS-Maus gekauft…grummel. Egal, so wichtig sind Stauinfos auch nicht.
Demnächst startet die erste GPS geführte Motorradtour. Auch hierfür kann man sich aus dem Netz viele Touren runterladen.

Der Tag danach

Die letzten Tage vor einem Projektstart sind immer hektisch. Egal, wie gut die Vorbereitung auch ist: Irgendetwas passiert immer. Egal, das Projekt ist fristgerecht gestartet und schon ist aller Ärger vergessen.
Bei sehr großen Projekten wäre jetzt genau die richtige Zeit für eine kleine Erkältung. Der Körper fällt in einen Entspannungsmodus und holt die aufgeschobenen Krankheiten nach. Dafür ist aber glücklicherweise bei mir keine Zeit :-)
Statt dessen kommt die Nachbereitung: Was war gut? Was lief schief? Was kann man beim nächsten Mal besser machen? Projektnachbereitung ist leider ein Teil des Projektes, der leider immer wieder vernachlässigt wird.
Außerdem sollte ich die Dokumentation mal auf den aktuellen Stand bringen und vor allem den Papierberg von meinem Schreibtisch entfernen – wo der blos hergekommen ist…

Berater Basiswissen

In jeder deutschen Stadt muss ein Berater wissen:
– Wo finde ich die Fast-Food Läden?
– Wohin lade ich mit meinen Kunden zum Essen ein?
– Wo ist der Tex-Mex Laden in dem man schlechte Tage in Tequilla ertränken kann?
– Wo kaufe ich um 08:15 Uhr Gürtel und Krawatte, die ich mal wieder nicht in den Koffer gepackt habe?
– Wo ist eine gute Laufstrecke?
– Welche Kinos gibt es?
– Welche Tankstelle hat das beste Sortiment für nächtlicher Hungeranfälle?
– Wo ist der Elektroladen für „Frustkäufe“?

Wenn es mit der Projektleitung eines Tages nicht mehr laufen sollte, schreibe ich Reiseführer …