Softwaretest in Praxis und Forschung 2011-2021: Was hat der Umstieg auf Agilität verändert?
Seit der Deklaration des Agilen Manifests werden immer mehr Projekte agil durchgeführt. Seitdem wird immer wieder ein neues Rollenverständnis und eine neue Herangehensweise in Softwareprojekten propagiert. Aber was hat sich wirklich verändert? Die Studie „Softwaretest in Praxis und Forschung“ geht dieser und weiteren Fragen seit 2011 nach – mit spannenden Erkenntnissen.

In den letzten Jahren werden immer mehr Projekte agil durchgeführt. Was hat sich verändert? Gibt es Branchen, die agiler sind als andere? Wird frühzeitiger, intensiver und systematischer getestet? Ist der Grad der Automatisierung von Unit Tests gestiegen? Wie ist das Verhältnis zwischen funktionalen Tests und nicht-funktionalen Tests? Welche Testverfahren werden eingesetzt? Testen Entwickler:innen anders als Tester:innen und anders als früher? Ist die Software qualitativ besser geworden, gibt es weniger Fehler?
Seit 2011 geht die alle fünf Jahre durchgeführte Umfrage „Softwaretest in Praxis und Forschung“ diesen Fragen nach. Der Schwerpunkt liegt hierbei auf der Gegenüberstellung der Sichten von Entwickler:innen und Tester:innen wie auch der Sichten von Projektleiter:innen und Testmanager:innen.
Änderungen in der Agilen Vorgehensweise
Als im Jahr 2001 das Agile Manifest popularisiert wurde war noch nicht abzusehen, wie weit die agile Vorgehensweise und die agilen Praktiken Einzug in die Praxis finden würden. Bei den 2011, 2016 und 2020 durchgeführten Umfragen wurde nach dem verwendeten Vorgehensmodell gefragt. Dabei unterschieden die Forscher:innen zwischen einem agilen, einem phasen-/planorientiertem und keinem expliziten Vorgehensmodell (siehe Bild 1).
2011 richteten sich noch doppelt so viele Projekte nach einem phasen-/planorientierten Vorgehen wie nach agilen Modellen. In 2020 hat sich das Bild mehr als gedreht: mehr als dreimal so viele Projekte werden agil als phasen-/planorientiert durchgeführt. Eher konstant geblieben ist der Anteil der Projekte, die keinem expliziten Vorgehensmodell folgen.
Werden die Entwickler:innen und Tester:innen separat betrachtet, zeigt sich, dass die Entwickler:innen agiler sind. Sie liegen bei allen drei Umfragen über den Werten aller Befragten.
Sind also die Entwickler:innen die Treiber der Agilität? Es scheint so zu sein. Aber der Anteil der Entwickler:innen, die ohne ein Vorgehensmodell auskommen, liegt weit über dem Durchschnitt aller Befragten. Der Umstieg zur Agilität geht insgesamt auf Kosten der phasen-/planorientierten Vorgehensmodelle. Ein ähnliches Bild ergibt sich bei den Testmanager:innen und Projektleiter:innen, allerdings mit einem höheren Anteil an phasen-/planorientierten Vorgehen.
Welche Branchen sind besonders agil?
In der differenzierten Betrachtung der Branchen wurden im Jahr 2016 58% der Projekte im Bereich Konsumgüter & Handel bereits agil durchgeführt, was damals die Spiotzenmarke ausmachte. 2020 geht der erste Platz mit 75% an die Branche Gesundheits- & Sozialwesen, gefolgt vom ersten Platz aus 2016 (2020: 73%).
Alle Angaben zu den agil realisierten Projekten variieren in den Branchen zwischen 61% und 75% bei einem Median bei 70%. 61% werden in der Medizintechnik erreicht. Damit ist dies die in der Umfrage erfasste Branche ist, deren Projekte am wenigsten agil durchgeführt werden.
Eine große Veränderung im Vergleich zu 2016 hat die Automotive-Branche vollzogen: Von ehemals 37% werden aktuell fast doppelt so viele Projekte agil bearbeitet (66%). In der Luft- & Raumfahrt gibt es mit 26% noch den größten Anteil an phasen-/planorientiert durchgeführten Projekten, Medien & Entertainment sind hier das Schlusslicht mit 14%. Der Median über alle Branchen liegt bei den phasen-/planorientierten Modellen bei knapp 20%.
Unter der Prämisse, dass Vorgehensmodelle im Allgemeinen Grundlage für eine Steuerung von Qualität sind, ist es beruhigend, dass in der Branche Gesundheits- & Sozialwesen nur knapp 8% der Projekte ohne jedes Vorgehensmodell auskommen – allerdings sind es noch doppelt so viele (16%) in der Medizintechnik. Auch hier werden mit 23% noch vergleichsweise viele Projekte phasen-/planorientiert realisiert.
Welche agilen Rollen treten am häufigsten in Erscheinung?
Mit der Agilität sind bestimmte Rollen verbunden. In 2020 wurde gefragt, welcher Rolle sich die Befragten mit ihrer Hauptaufgabe zuordnen.
Die meist genannte agile Rolle ist der Product Owner, allerdings von nur 4,9% – auf den Scrum Master entfielen nicht einmal 1%. Ihre Hauptaufgabe, im agile Team tätig zu sein, sahen ebenfalls nur 2,3%.
Die etablierten Rollen der Softwareentwicklung prägen weiterhin die Aufgabenteilung in den Teams, scheinbar unbeeinflusst vom Vorgehensmodell: Entwickler:in (27,1%), Tester:in (17,7%), Testmanager:in (15,9%) und Projektleiter:in/Teamleiter:in (9,2%).
Bedeutung der agilen Praktiken
Bei der Frage nach der Bedeutung der agilen Praktiken im Hinblick auf die Qualitätssicherung ergibt sich über die Jahre eine deutliche Zunahme mit folgender Reihenfolge:
Praktik | 2020 | 2016 | 2011 |
---|---|---|---|
Refactoring | 63,6% | 60,8% | 39,9% |
Collective Code Ownership | 45,1% | 35,1% | 22,1% |
Pair Programming | 44,1% | 40,3% | 29,8% |
Zentrale Storyboards | 38,1% | 36,3% | 24,4% |
Tabelle 1: Bedeutung der Praktiken für die Qualitätssicherung
An Bedeutung verloren hat die gemeinsame Aufwandsschätzung der Arbeitspakete (2020 49,2%, 2016 59,2%, 2011 60,9%). Und auch bei der Testgetriebenen Entwicklung (2020 57,7%, 2016 67,2%, 2011 49,2%) ist nach einem Anstieg in 2016 ein Rückgang in 2020 zu verzeichnen.
Nach Rollen aufgeteilt ergibt sich hierfür folgendes Bild: Entwickler:innen und Tester:innen messen in den letzten fünf Jahren der Testgetriebenen Entwicklung keine so große Bedeutung für die Qualitätssicherung mehr zu (siehe folgende Tabelle). Ist das Vorgehen in der Praxis zu aufwändig und/oder durch Testautomatisierung und Continuous Integration also abgelöst bzw. unnötig geworden?
Rolle | 2020 | 2016 | Differenz (%-Punkte) |
---|---|---|---|
alle Rollen | 57,5% | 67,2% | -9,5 |
Projektleiter:in | 62,6% | 63,4% | -0,8 |
Testmanager:in | 58,1% | 62,7% | -4,6 |
Entwickler:in | 58,6% | 71,6% | -13,0 |
Tester:in | 47,9% | 58,1% | -10,2 |
Tabelle 2: Bedeutung der Testgetriebenen Entwicklung
Alle weiteren Praktiken (User Stories, Retrospektive, Productbacklog/Sprintbacklog, Stand-up Meeting, Auswertung der Effektivität) haben über die Jahre kaum Veränderungen in der Einschätzung erfahren.
Entwicklungsnahe Praktiken wie Testautomatisierung (82,2%), Code Reviews (78,6%), Continuous Integration (75,2%) und Clean Code (73%) haben aktuell für die Befragten eine sehr hohe Bedeutung für die Qualitätssicherung. Dabei ist zu berücksichtigen, dass die vier Praktiken erst in 2020 separat abgefragt wurden und bei der aktuellen Umfrage der Anteil an Entwickler:innen vergleichsweise hoch war.
Die Rolle des frühzeitigen Testens
Das Mantra „Zuerst die Testfälle erstellen, …“ hat an Bedeutung verloren. Werden dann Reviews als erste Aktivität zur Qualitätssicherung genutzt? Wie sieht es bei den Reviews von Anforderungen/User Stories aus?
Optimistisch sind die Projektleiter:innen, mit einem deutlichen Abstand, gefolgt von den Testmanager:innen. Weniger überzeugt sind dagegen die beiden operativ tätigen Rollen ; bei Entwickler:innen und Tester:innen ging der Zuspruch im Vergleich zu 2016 teilweise deutlich zurück, wie die Tabelle zeigt.
Rolle | 2020 | 2016 |
---|---|---|
alle Rollen | 61,6% | 61,9% |
Projektleiter:in | 80,6% | 67,7% |
Testmanager:in | 63,6% | 61,7% |
Entwickler:in | 49,8% | 52,6% |
Tester:in | 55,2% | 67,1% |
Tabelle 3: Werden Anforderungen immer oder meist einem Review unterzogen?
Ein ähnliches Bild ergibt sich bei den anderen Artefakten, die einem Review unterzogen werden: Architektur, Schnittstellen, Code, Testfälle. Auch hier ist das Management meist optimistischer als die Personen, die Reviews durchführen. Die größten Zuwächse gab es beim Code-Review. Ein echtes „Shift-left“ (frühzeitiges Testen) kann mit den Zahlen der Umfrage allerdings nicht nachgewiesen werden.
Rolle | 2020 | 2016 |
---|---|---|
alle Rollen | 66,8% | 51,5% |
Projektleiter:in | 75,0% | 60,6% |
Testmanager:in | 63,6% | 47,2% |
Entwickler:in | 69,8% | 57,3% |
Tester:in | 61,6% | 60,8% |
Tabelle 4: Werden Code.Reviews immer oder meist durchgeführt?
Welche Testverfahren werden am häufigsten eingesetzt?
Das meistgenannte Testverfahren ist der Anwendungsfallbasierte Test. 70,6% der Befragten setzten ihn immer oder meist ein, gefolgt vom Explorativen Testen ohne Charta (33,2%), der Grenzwertanalyse (27,9%), der Äquivalenzklassenbildung (24,6%), dem Zustandsbasierten Test (20,6%) und dem Explorativen Testen mit Charta (17,5%). Alle „klassischen Testverfahren“ haben im Vergleich zu 2016 erheblich an Bedeutung verloren, sogar bei Tester:innen und Testmanager:innen
Rolle | 2020 | 2016 |
---|---|---|
alle Rollen | 24,6% | 38,0% |
Projektleiter:in | 20,3% | 38,3% |
Testmanager:in | 36,6% | 45,7% |
Entwickler:in | 12,0% | 17,1% |
Tester:in | 32,2% | 47,6% |
Tabelle 5: Immer oder meist wird die Äquivalenzklassenbildung eingesetzt
Einhergehend mit der Agilität hat Exploratives Testen an Bedeutung gewonnen. Lässt sich diese Behauptung belegen?
Rolle | Exploratives Testen ohne Charta | mit Charta | ||
---|---|---|---|---|
2020 | 2016 | 2020 | 2016 | |
alle Rollen | 33,2% | 34,8% | 17,5% | 17,6% |
Projektleiter:in | 17,8% | 24,2% | 18,9% | 13,3% |
Testmanager:in | 40,9% | 44,1% | 22,5% | 19,0% |
Entwickler:in | 21,3% | 24,9% | 9,7% | 7,9% |
Tester:in | 52,6% | 35,8% | 21,8% | 20,5% |
Tabelle 6: Immer oder meist wird Exploratives Testen (ohne/mit Charta) eingesetzt
Beim Explorativen Testen mit Charta gibt es leichte Anstiege und die Tester:innen scheinen von dem systematischen Vorgehen bei der Testfallerstellung hin zum Explorativen Test ohne Charta gewechselt zu haben.
Bei der Nutzung aller Testverfahren ergibt es keine einheitliche Einschätzung zwischen Management und operativ Tätigen, mal sieht das Management eine höhere Nutzung, mal die operativ Tätigen.
Wie hoch ist der Grad der Automatisierung?
Das die Testautomatisierung 2020 einen hohen Stellenwert einnimmt, wurde bei den Praktiken bereist deutlich. Wie hoch ist der Grad der Automatisierung auf den jeweiligen Teststufen und wie sieht es das Management bzw. die operativ Tätigen?
Auf der untersten Teststufe, dem Unit-Test, ist ein deutlicher Anstieg der vollständigen Automatisierung (100%) zur Umfrage 2016 gegeben und wird wie folgt von den jeweiligen Rollen gesehen
Rolle | 2020 | 2016 |
---|---|---|
alle Rollen | 47,2% | 28,0% |
Projektleiter:in | 57,9% | 32,8% |
Testmanager:in | 38,6% | 21,6% |
Entwickler:in | 53,3% | 44,4% |
Tester:in | 40,9% | 26,0% |
Tabelle 7: 100% Automatisierung beim Unit-Test
Es wäre zu erwarten, dass bei einem agilen Vorgehen, der Grad der Automatisierung der Unit-Testfälle die 100% erreicht oder zumindest angestrebt wird, was (noch) nicht der Fall ist. Bei den höheren Teststufen (Integrationstest, Systemtest, Abnahme-/Akzeptanztest, Systemintegrationstest) nimmt der Anteil der zu 100% automatisiert durchgeführten Tests erwartungsgemäß ab.
Beispielhaft sind die Zahlen für den Systemtest aufgeführt, bei dem – wie bei den anderen Teststufen – eher Schwankungen und kein klarer Trend zu erkennen ist.
Rolle | 2020 | 2016 |
---|---|---|
alle Rollen | 8,7% | 7,6% |
Projektleiter:in | 15,6% | 10,0% |
Testmanager:in | 3,6% | 7,2% |
Entwickler:in | 11,5% | 10,1% |
Tester:in | 3,5% | 7,5% |
Tabelle 8: 100% Automatisierung beim Systemtest
Was ist mit nicht-funktionalen Testarten?
Über die Jahre werden die nicht-funktionalen Testarten (z.B., Migrationstest, Sicherheits/Penetrationstest) immer weniger intensiv berücksichtigt, So verliert beispielsweise der Last-/Performanztest von 2011 mit 48,2% über 2016 mit 40,1% hin zu 2020 mit 26,5% fast die Hälfte an Zustimmung. Möglicherweise ist eine Erklärung die Zunahme der Agilität: Für übergreifende Tests fühlt sich das einzelne agile Team nicht wirklich zuständig.
Schlussfolgerungen: Was ist der aktuelle Stand der Agilität?
Die agilen Vorgehensweisen haben sich etabliert, aber die Umsetzung scheint sehr zu variieren. Auffällig ist, dass die agilen Rollen wie Product Owner oder Scrum Master kaum von den Teilnehmenden als „ihre“ Rolle angesehen werden. Das bisherige Rollenverständnis ist noch verbreitet.
Auch die Bedeutung der agilen Praktiken für die Qualitätssicherung hat nicht in dem Maße zugenommen, wie es die Verbreitung der agilen Vorgehensweise nahelegt. Die Testgetriebene Entwicklung ist rückläufig und auch Reviews werden nicht für die frühen Dokumente der Softwareentwicklung zur Qualitätssicherung genutzt. Code-Reviews haben zugelegt.
Die systematische Herleitung von Testfällen unter Nutzung von Testverfahren hat deutlich abgenommen, sogar bei den Tester:innen. Eine Ausnahme bildet das Explorative Testen ohne Charta, hier gibt es eine deutliche Steigerung. Ebenso kann Exploratives Testen mit Charta für die Rollen Projektleiter:in, Testmanager:in, Entwickler:in und Tester:in auf niedrigem Niveau zulegen. Im Mittel über alle Rollen verteilt ist der Wert jedoch gleichgeblieben.
Obwohl die Testautomatisierung 2020 einen hohen Stellenwert einnimmt, lässt der Grad der Automatisierung auf allen Teststufen noch reichlich Platz zur Optimierung.
Konnte durch den Umstieg auf Agilität die Qualität der Software gesteigert werden? Die Frage, ob nach Auslieferung der Produkte schwerwiegende Fehler auftreten, beantworten die Befragten 2020 (50%: einige oder zu viele Fehler der Funktionalität werden ausgeliefert) deutlich optimistischer als noch 2016 (62%) und 2011 (78%).
Bei einer differenzierten Betrachtung nach Rollen wird jedoch deutlich, dass Projektleiter:innen (34% einige oder zu viele Fehler der Funktionalität werden ausgeliefert) optimistischer sind als Entwickler:innen (53%), Testmanager:innen (51%) und Tester:innen (55%).
:quality(80)/p7i.vogel.de/wcms/b9/c7/b9c70137a71f5780cdeaba932dbf346c/0100187983.jpeg)
Über die Vorteile fehlender Projektmanager
Agile Methoden machen Projektleitung überflüssig
:quality(80)/p7i.vogel.de/wcms/b4/3a/b43a2724963ae830c2e197c9a3160388/0102165114.jpeg)
Vorgehensmodelle
Psychogramm agiler Methoden
:quality(80)/images.vogel.de/vogelonline/bdb/1545900/1545940/original.jpg)
5 Gründe, warum Scrum und Agile scheitern
Diese Ergebnisse wurden auch auf dem ESE Kongress 2021 präsentiert. Die Umfragen zu „Softwaretest in Praxis und Forschung“ wurden in den Jahren 2011, 2016 und 2020 durchgeführt. Die wissenschaftliche Leitung oblag im Wechsel Prof. Dr.-Ing. Andreas Spillner (Hochschule Bremen), Prof. Dr.-Ing. Karin Vosseberg (Hoch-schule Bremerhaven) sowie Prof. Dr. Mario Winter (Technischen Hochschule Köln). Finanziert wurden die Umfragen überwiegend vom German Testing Board (GTB e.V.) mit Beteiligung der Testing Boards aus Österreich (ATB) und der Schweiz (STB). Die Umfrage 2011 wurde von der Firma Anecon Software Design und Beratung G.m.b.H mitfinanziert. Unterstützt wurden die Umfragen von der Fachgruppe TAV (Test, Analy-se und Verifikation von Software) der Gesellschaft für Informatik, dem ASQF (Ar-beitskreis für Software-Qualität und -Fortbildung), den Softwareforen Leipzig, dem dpunkt.verlag und dem bitkom. Sie haben für die Umfrage geworben, um möglichst viele Personen zur Beantwortung der Fragen zu bewegen.
An den drei Umfragen nahmen zwischen 1.200 und 1.600 Personen teil, wovon im Schnitt die Hälfte auch den jeweiligen Fragebogen bis zum Ende ausgefüllt hat. Ein Großteil der Antwortenden kommt aus dem Umfeld der Qualitätssicherung, allerdings wurde auch auf dem Heise-Ticker für die Umfrage geworben und damit viele Entwick-ler*innen motiviert, teilzunehmen. Dies trifft besonders auf die Umfrage 2020 zu, hier lag der Anteil der Entwickler*innen bei über 25% (2016 15%, 2011 19%). Alle Fragen und Antworten der drei Umfragen, sowie zusammenfassende Broschüren und ausführliche Technische Berichte sind zum Download auf der Internetseite der Umfrage zu finden.
* Prof. Dr. Andreas Spillner war Professor für Informatik an der Hochschule Bremen und ist Mitglied im ASQF-Präsidium. Er war Gründer der Fachgruppe „Test, Analyse und Verifikation von Software“ der Gesellschaft für Informatik e.V. (GI) und ist zudem GI-Fellow und Ehrenmitglied im German Testing Board e.V.
* Prof. Dr. Karin Vosseberg ist Hochschullehrerin im Studienbereich Informatik der HS Bremerhaven. Ihre Schwerpunkte sind IT-Systemintegration und Software Engineering mit dem Fokus auf Qualität von Software. Seit 2015 ist sie Präsidiumsmitglied im ASQF.
* Prof. Dr. Mario Winter ist Professor am Institut für Informatik der TH Köln, Gründungsmitglied des German Testing Board e.V. und Sprecher des Arbeitskreises „Testen und KI“ der GI-Fachgruppe „Test, Analyse und Verifikation von Software“.
(ID:47894652)