Testen, testen, testen

von Beni

Nachdem es ja offensichtlich in Mode gekommen ist, halbfertige Software auf den Markt zu werfen und die Benutzer es zudem noch als schick erachten, dass jetzt alles “BETA” ist, möchte ich das Testen während des Entwicklungsprozesses propagieren. Das fängt mit einem kurzen Überblick über die verschiedenen Testmethoden an:

Unit-Tests

Unit-Tests testen während der Entwicklung die Funktionsfähigkeit einzelner Teile (”units”) der Software. Sinnvollerweise setzt man hierfür eines der vielen Testframeworks ein. Für Java ist da JUnit die Referenz. Meistens gibt es für jede Klasse eine zugehörige Testklasse, die die Ausgabe einzelner Methoden für bestimmte Eingaben überprüft. Idealerweise werden die Tests geschrieben, bevor man die Methoden dafür schreibt. Das nennt sich dann Test-Driven Development.

Funktions-Tests

Über den Unterschied zwischen Funktions- und Unit-Tests heisst es im Artikel “Testing, fun? Really?“: Unit tests tell a developer that the code is doing things right; functional tests tell a developer that the code is doing the right things. Funktionstests sind damit also dafür gedacht, die Logik der Applikation zu überprüfen. Nachdem also mit Unit-Tests die Fuktionsfähigkeit der einzelnen Teile der Applikation überprüft wurden, soll mit Funktionstests das Zusammenspiel dieser Teile getestet werden. Das kann man natürlich von Hand machen. Auf lange Sicht ist es allerdings besser auch die Funktionstests zu automatisieren. Mittlerweile hat man die Auswahl aus einer Vielzahl an Möglichkeiten. Für Webapplikationen sehr brauchbar ist Selenium.

Sowohl Unit- als auch Funktionstests sollten regelmäßig und automatisch angestoßen werden.

Performance-Tests

Dass die Applikation fehlerfrei und logisch richtig funktioniert heisst leider noch lange nicht, dass sie das dann auch noch tut, wenn der Benutzeransturm im Internet losbricht. Oft stellt man erst dann, wenn man mit einer neuen Anwendung live gegangen ist fest, dass sie leider nicht performant genug ist. Deswegen sollte man nach jeder Iteration der Entwicklung einen Lasttest machen – spätestens allerdings bevor man live geht. Wenn man grad nix anderes zur Hand hat, kann man zumindest mal mit JMeter die Anwendung ein bisschen unter Druck setzen.

Eine umfangreiche Liste mit noch mehr Tools zum testen findet sich in der Download-Liste von XProgramming.com. Wenn meine Zeit es zulässt, dann werde ich demnächst auf die einzelnen Testmethoden noch etwas genauer eingehen.

  • E-mail this story to a friend!
  • del.icio.us
  • Twitter
  • MisterWong.DE
  • Yigg
  • LinkArena
  • Webnews.de
  • Digg
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Reddit
  • StumbleUpon