Automatisierbarkeit von Softwaretests 6

9. Vollautomatisierbarkeit von Tests
Die Tests können nach dem Einreichen des Quellcodes in das automatisch ausgeführt werden und z.B. dem jeweiligen Entwickler einen Report schicken, falls Fehler gefunden werden. Auch ist es möglich, die Tests zyklisch auf der auszuführen, und die Reports automatisch in einem Bugtracker als Ticket anzulegen. Dabei ist darauf zu achten, dass die Testfälle auch repräsentativ sind. Ein automatisierter Test, wie z.B. die Oberflächenprüfung durch kann auf einem Webserver täglich ausgeführt werden. Das kann während der Fertigstellung des Projekt sinnvoll sein, während viele Entwickler diverse Kleinigkeiten und Unschönheiten beheben und an sehr vielen verschiedenen Stellen arbeiten. So kann gewährleistet werden, dass die Oberfläche nicht negativ beeinflusst wird, während diese Änderungen vorgenommen werden. Damit wird auch erreicht, dass nicht jeder Entwickler alle Tests lokal ausführen muss, sondern die Tests an zentraler Stelle automatisch ausgeführt werden. Bei kleineren Anpassungen und Erweiterungen des Systems während des produktiven Betriebs ist das zyklische Testen der Software weniger sinnvoll, da sich zwischen den Tests womöglich keine Änderungen an der Software ergeben haben. Für diesen Fall würde sich eine Kopplung an das eher eignen.

10. Test-Driven-Development
Beim Test-Driven-Development werden zuerst die Tests für eine Funktion erstellt und anschließend die Funktion implementiert. Hierbei kann die Ausführung der Tests an das Speichern einer Datei im Projektordner gekoppelt werden. So kann mit jedem Speichern einer Datei der Test erneut ausgeführt werden und der Entwickler muss den Testlauf nicht manuell starten.

11. Fazit
Testen von Software ist aufgrund der Komplexität unabdingbar. Durch können Kosten eingespart werden, auch wenn für die Erstellung eines automatischen Tests momentan mehr Aufwand nötig ist. Wenn ein Projekt jedoch langfristig betreut werden soll und diverse Änderungen und Erweiterungen vorgenommen werden sollen, ist es ratsam, die Tests weitgehend zu automatisieren, um einen späteren erneuten Test mit wenig Aufwand wiederholen zu können. Hierbei ist zu beachten, die Tests möglichst repräsentativ zu gestalten und den Fokus möglichst auf kritische Stellen zu legen. Eine 100%-ige Abdeckung der Software durch ist nicht nötig und nicht sinnvoll. Das Testergebnis muss immer kritisch betrachtet werden, da es nur so repräsentativ ist wie der Test geschrieben wurde. Durch wird der Entwickler möglicherweise in falsche Sicherheit geführt und verzichtetet auf manuelle Tests, die dennoch nötig wären, wenn die Testabdeckung durch zu gering ist. Auch grafische Oberflächen und Webseiten lassen sich durch Makrorekorder oder Selenium testen. Aufwändige grafische Oberflächen wie etwa bei Spielen sind kaum automatisiert testbar. können gegebenenfalls auch für weitere Projekte verwendet werden, wenn diese entsprechend Generisch aufgebaut werden. Eine einfache Adaption der Tests auf sehr ähnliche Anwendungsfälle, beispielsweise einem Formular zur Registrierung mit einem zusätzlichen Feld, ist möglich. Weiterhin können Tests teilweise vollautomatisch ausgeführt werden und Fehlerberichte an die jeweiligen Entwickler gesendet werden. Durch , lässt sich die Testaktivität und die Effektivität der Tests gemessen werden.

Dieser Beitrag wurde unter Sonstiges, Webserver abgelegt und mit , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.