Agiles Testen in Großprojekten mit TDD und Testaspekten: Beobachtungen und erste Erfahrungen.

2010; Springer Science+Business Media; Volume: 30; Linguagem: Alemão

ISSN

0720-8928

Autores

Melanie B. Späth, Michael Mlynarski,

Tópico(s)

Software Testing and Debugging Techniques

Resumo

Immer mehr Softwareentwicklungsunternehmen sehen Bedarf fur mehr Agilitat in ihrem Geschaft. Vorgehen zur agilen Softwareentwicklung, wie beispielsweise Extreme Programming (XP), betonen, dass Testen dabei eine wesentliche Rolle spielt [1]. Speziell Methoden wie Testgetriebene Entwicklung (TDD) [2], nach der die Entwickler gegen vorab definierte Testfalle programmieren, versprechen durch testbaren Code und weniger Fehler hohe Qualitat. Obgleich fur kleine und mittelgrose Projekte bereits der Mehrwert von TDD nachgewiesen wurde (bspw. [3]), fehlt dies fur Grosprojekte noch. Bei Capgemini sd&m fuhren wir Projekte mit agilen Entwicklungsmethoden wie SCRUM [11] durch. Zugleich mussten wir feststellen, dass in den meisten Projekten TDD nicht eingesetzt wird. In Interviews mit den verantwortlichen Testmanagern haben wir hierfur mehrere Grunde identifiziert: • Projektleiter scheuen das Risiko zusatzlicher Kosten und nicht eingehaltener Termine. • TDD-Ansatzen fehlt es oft an strukturierten TestdesignMethoden sowie messbarer funktionaler Testabdeckung. • Die entstehenden Testfalle sind sehr feingranular. • Durch TDD entsteht meist eine grose Menge an Testfallen, die uber einen langeren Projektzeitraum nur mit viel Aufwand gewartet werden kann. Bei Capgemini sd&m haben wir eine Testmethodik eingefuhrt, die auf Grosprojekte zugeschnitten ist. Sie basiert auf ISTQB [8] und definiert fur alle Teststufen einen klaren Testprozess sowie ein Testspezifikationsverfahren. Fruh entworfene „Testaspekte“ ermoglichen es uns, dem Entwicklungsteam einen Vorschlag zu liefern, was in den Komponententests abgesichert werden soll. Hierdurch mochten wir die oben erwahnten TDD-Schwachstellen beheben. Im folgenden Abschnitt 2 gehen wir naher auf typische Probleme beim Komponententest in grosen Projekten ein. In Abschnitt 3 zeigen wir unsere und Industrie-Erfahrungen mit TDD in Grosprojekten auf. Hierauf aufbauend leiten wir in Abschnitt 4 Anforderungen fur einen praktikablen Ansatz ab. In Abschnitt 5 stellen wir unsere Losung kurz vor, wahrend wir in Abschnitt 6 zeigen, wie dieser fur eine Zusammenarbeit zwischen Entwicklungsund Testteam genutzt werden kann. In Abschnitt 7 zeigen wir die Erfahrungen mit unseren Ansatz auf.

Referência(s)