Hi.
Zu dem Wasserfallmodell:
Also mir wurde halt gesagt, das schon die Tatsache, wenn ich z.B. "Implementierung der Dateneingabe inkl. Tests" bei der "Implementierungsphase" angebe, sei das halt kein erweitertes Wasserfallmodell mehr, da "Implementierung einer Funktion" und "Tests" ja getrennt sein müsste, wegen der klar definierten Schritte in einem Wasserfallmodell.
Wir kamen nach Beratschlagung dann zu dem Schluss , dass das was ich meinte ja eigentlich nur das normale Debuggen ist, während der Programmierung, ob denn das Programmierte auch funktioniert wie vorgesehen und das müsste man halt nicht extra erwähnen.
Ich werde mich wohl eingehender mit agilen Vorgehensmodellen beschäftigen müssen, auch für mich persönlich, aber im hypothetischem Fall, dass wenn ich nun ein agiles Vorgehensmodell wählen würde, dann müsste ich das nat. auch genauer beschreiben und wir haben eigentlich im Großen und Ganzen gerade Mal, V Modell, Wasserfallmodell und SCRUM behandelt. Habe da mal reingesehen in Wikipedia und da müsste ich mich ja schon intensiver mit befassen um die agilen Vorgehensmodelle alle unterscheiden zu können?!?
Nebenbei:
Nun hab' ich die Tage zum ersten Mal von TDD gehört, mir waren Unit Tests (der Begriff) bereits bekannt, da bei meinem früherem Arbeitgeber solche im Nachhinein zur Kontrolle der Azubis angefertigt wurden (mit MTM und Einbindung in VS, TFS).
Erkenne definitiv den "Muss" Aspekt von TDD, muss mich da aber noch genauer mit beschäftigen. Da sind noch einige Ungereimtheiten aus den ganzen Tutorials und Webcasts (Youtube), vor allem "Unit Tests ohne TDD". Versteh' noch nicht ganz, warum viele sagen, dass sei so nicht sinnvoll. Ich versteh' das es ein Schemata der Programmierung mit TDD gibt und das dadurch endlose Vorteile entstehen, aber nicht warum das im Nachhinein nicht genauso sinnvoll sein kann (abgesehen von den Negativ Punkten wie: Zeitlicher Mehraufwand, nicht so guter/ simpler Code. etc.). Ist ja doch auch schon etwas umfangreicher das Thema in Verbindung mit einem Test Framework und einem Mocking Framework.
Fragen zu Begrifflichkeiten und Testphasen (wahrscheinlich auch im Kontext zu oben genanntem, da noch viel Lernbedarf besteht):
Projekt soll eine Desktop Anwendung werden inkl. Datenbank!
1. Wenn ich nun nach der Implementierungsphase eine Testphase plane, welche Tests wären denn da angebracht?
2. Geplant habe ich nun "Manueller Test" (Verhalten und Daten der Anwendung im Gebrauch, nach einem Testplan, den ich in der Entwurfsphase erstelle) und "Systemtest" (Software nach Installation). Das scheint mir von den Tests an sich und von den Begrifflichkeiten her am sinnvollsten, da das wenig Interpretationsspielraum lässt, denke ich zumindest.
Im Grunde ist das ja schon das testen der Units und der Integration (White Box u. Blackbox), aber diese sind ja offiziell automatisiert, also nenne ich das "Manuelle Tests"?!?
3. Systemtest oder Softwaretest beschreibt das Gleiche und muss nat. vor Abnahme des Auftraggebers getestet werden?
Sorry, hoffe das ist jetzt alles nicht zu konfus