![]() |
Unit Testing sinnvoll?
Hallo alle,
ich habe mir mal ![]() Die problematischen Fehler sind doch m.E. komplexerer Natur, als dass sie sich mit solchen simplen Funktionsaufrufen testen ließen... Sehe ich das falsch? GUI-Testing wie ![]() Wirklich hilfreich scheint mir aber nur letzteres... Was meint Ihr? |
AW: Unit Testing sinnvoll?
Erstmal: ja. Unit Testing stellt sicher, daß kleine Code-Einheiten (eben die "Units", aber nicht im Delphi-Sinn) entsprechend ihrer Spezifikation funktionieren. Um es ein Stück weiter zu treiben: Unit Tests können als Spezifikation herhalten.
Zitat:
|
AW: Unit Testing sinnvoll?
Ist anschnallen sinnvoll?
Mehr muss man dazu imo nicht sagen :P |
AW: Unit Testing sinnvoll?
Anschnallen ist ein ungünstig gewähltes Vergleichswort.
Eher sowas wie: "Ein gebautes System welches erkennt was du beim Losfahren, deiner Meinung nach zu urteilen, alles falsch gemacht haben könntest" |
AW: Unit Testing sinnvoll?
Zitat:
|
AW: Unit Testing sinnvoll?
Ja, so wie Zähneputzen ("Only Floss the Teeth You Want to Keep"). GUI Tests sind ebenfalls (trotz des Aufwands) für größere Projekte oft erfolgsentscheidend. Ich erinnere mich an einen Test der fehlschlug, weil TestComplete etwas schneller als der durchschnittliche Softwareentwickler durch die Dialogmasken klickte, und Funktionen nutzte die auf unvollständig initialisierten Datenquellen arbeiteten (->Absturz).
In DUnit sind übrigens auch Funktionen zum GUI Test enthalten, ich habe damit noch nicht selber gearbeitet aber als 'minimalistische' Alternative zu TestComplete sind sie sicher brauchbar. |
AW: Unit Testing sinnvoll?
Hallo,
Zitat:
Bsp.
Delphi-Quellcode:
Jetzt kommt einer und ändert was
function Add2(Value: Integer);
begin Result:= Value+2; end;
Delphi-Quellcode:
Soweit so gut.
function Add(Value: Integer; AddValue: Integer);
begin Result:= Value+AddValue; end; function Add2(Value: Integer); begin Result:= Add(Value,2); end; Wie stelle ich aber sicher, dass das Add2 immer noch das tut was es soll ? Es könnte ja jemand die Add verändern. Das stellen Unit-Tests sicher. Und was die Komplexität betrifft. Ein komplexes Problem wird in kleinere Einheiten unterteilt, die einzeln getestet werden. Natürlich muss auch das Gesamt-Problem getestet werden. Das schöne am Unit-Test ist, dass du gezwungen wirst, testbaren Code zu schreiben. Eine Button1Click-Funktion in einem Form darf ebend keinen Code enthalten, sondern nur (externe) Funktion aufrufen, die völlig separat ist und damit auch ohne das Form getestet werden kann. Heiko Heiko |
AW: Unit Testing sinnvoll?
Zitat:
|
AW: Unit Testing sinnvoll?
Das Beispiel von hoika ist genial.
Unit-Tests sind dafür da sicherzustellen, dass alles was von den Tests abgedeckt wird und vorher ging, auch nach beliebigen Änderungen hinterher auch noch geht - oder Dich direkt darauf hinweist das etwas jetzt anders ist und Du darauf noch reagieren musst. Wie oft macht man an Stelle A etwas und später fällt jemandem auf, dass an Stelle Q irgendwas nicht mehr funktioniert (durch Seiteneffekt der Änderung an A). Sowas decken die Unittests bei guter Abdeckung sofort auf und sparen dadurch massiv Zeit (Fehlersuche, wieder reindenken, nach der Änderung manuell alles durchtesten, wieder was vergessen, wieder später erneut suchen...). |
AW: Unit Testing sinnvoll?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz