Software-Testverfahren

  • Software-Testverfahren

    Hallo liebe Community,
    ich führe eine Fallstudie zum Thema " Software-Testverfahren während oder nach der Entwicklungsphase? Pro und Contra" durch und bräuchte nämlich eure Unterstützung. Zwar geht es darum folgende Fragen zu beantworten:
    1- was sind aus eurer Erfahrung die Vor- und Nachteile der software-Untersuchung während und nach der Entwicklungsphase ( eine Gegenüberstellung wäre sehr wünschenswert )
    2- wo liegt der Unterschied zwischen dynamischem und statischem Testverfahren und welches ist eurer Meinung nach sinnvoller?

    Danke schon mal und beste Grüße.

    Bernd
  • Nachteile? Es gibt nur einen: Zeit. Man muss die Tests halt einmal schreiben. Allerdings ist diese Zeit spätestens dann kompensiert, wenn man sich bei der Fehlersuche auf die entsprechenden Teste stützen kann. Besonders bei umfangreichen Projekten (wo dann auch noch ein Team dran arbeitet), sind die Tests der Indikator überhaupt für fehlerhafte Veränderungen. Wenn man schon während der Entwicklung die Methoden die Teste schreibt, hat man einen tieferen Einblick als wenn es nach dem erfolgreichen Abschluss passiert. Da neigt man manchmal eben dazu bestimmte Methoden nicht aufzunehmen, weil das Szenario der Fehlerhaftigkeit zu absurd ist.
    =O
  • Man sollte in software entwicklkungsprozess sowohl statische als auch dynamische Testverfahren einsetzen.
    Ich kann dir das Buch "how Google Tests Software" (für 1 EUR bei Google Books) empfehlen. Wir haben unsere Testverfahren ähnlich diesen Konzepten aufgebaut.

    Vorteile dynamisch
    Sofortiges feedback, keine testkosten (keine Arbeitszeit), viel mehr Freiheit

    Vorteile statische
    Code review liefert eine andere Sichtweise, dadurch entsteht gutes Software design. Code reviews lassen sich am besten im Rahmen von pair programming machen.