Übersicht zu den aktuellen Testing-Trends

Qualitätskontrolle in der Programmierung ein Muss

08.05.2015 von Bertram Geck
Weltweit werden sich Unternehmen zunehmend bewusst, welche unmittelbaren Auswirkungen die Softwarequalität auf die Kundenzufriedenheit und Profitsteigerungen hat. Die Testverfahren müssen sich anpassen, um den Anforderungen der digitalen Welt gerecht zu werden.

Letztens sprach ich mit einem langjährigen Freund, der eine Qualitätsabteilung verantwortet und seit Jahren in dem Spannungsfeld lebt, von Projekt-Bremsen bis Projekt-Förderer alle möglichen Lobeshymnen und Beschimpfungen zu erleben.

Sein prägendes Zitat war: "Meine Mitarbeiter haben höhere Anforderungsprofile, als die der Entwicklungsabteilung. Wir sind in der Anforderungsphase, während der Implementierung und des Roll-Outs involviert, also eigentlich im gesamten Product-Lifecycle. Und das unabhängig davon, ob agile Methoden oder Wasserfallmethoden zum Einsatz kommen. Wir begleiten direkt und indirekt alle Personen, die mit dem Produkt in Berührung kommen."

Ein hohes Maß an Qualität zu sichern, spielt für die Un­ternehmen eine immer größere Rolle, um am Markt wett­bewerbsfähig zu bleiben.
Foto: Yabresse - Fotolia.com

Nicht nur der Arbeitgeber meines Freundes sondern weltweit werden sich Unternehmen zunehmend bewusst, welche unmittelbaren Auswirkungen die Softwarequalität auf die Kundenzufriedenheit und Profitsteigerungen hat. Wie passen sich die Testverfahren an, um den Anforderungen der digitalen Welt gerecht zu werden?

Herausforderungen

Die Herausforderungen der digitalen Transformation an die Qualitätsabteilungen sind immens:

Investitionen in Qualität nehmen zu

Laut einer Umfrage des IT-Verbandes ASQF im Jahr 2014, wurde noch nie so viel in die Qualitätssicherung investiert, wie jetzt. In der Rückbetrachtung auf die vergangenen zehn Jahre haben laut 70% der Befragten, die Investitionen in die Qualitätssicherung ihrer Unternehmen erheblich zugenommen. Neben Testautomatisierungen und der konsequenten Umsetzung der Prozesse setzen die Unternehmen dabei in verstärktem Maße auf die Aus- und Weiterbildung ihrer Mitarbeiter.

Nach der Studie World Quality Report 2014 des Beratungshauses Capgemini ist Qualität überlebenswichtig für alle Unternehmen, da die Kunden lückenlose und hochwertige Produkterlebnisse fordern. Das gilt durchweg für alle Branchen und Produktarten, ob Offline oder Onlineprodukte. Das Navigationssystem muss dem Nutzer ein gutes Nutzungserlebnis bieten, genauso wie vom Webportal des Fahrzeugherstellers ein perfektes Anwendererlebnis erwartet wird.

Software-Trends – Lizenzen, Abo-Modelle, Freemium-Angebote
Software-Trends – Lizenzen, Abo-Modelle, Freemium-Angebote
Mit der zunehmenden Nutzung von SaaS-Lösungen geht die Umstellung auf Abo-Modelle einher. Haben traditionelle Lizenz-Modelle ausgedient? Führende Software-Hersteller geben Antworten.
Welche Veränderungen werden wir bei den unterschiedlichen Zielgruppen hinsichtlich Lizenz-, Freemium- und Abo-Modellen erleben?
Hakan Yüksel – Oracle: "Oracle verfolgt hier den Weg einer maximalen Kostentransparenz für den Kunden, so dass die Projekte auch so kalkulierbar wie möglich werden. Aus unserer Sicht werden nur diese transparenten Abo-Modelle langfristig überleben."
Welche Veränderungen werden wir bei den unterschiedlichen Zielgruppen hinsichtlich Lizenz-, Freemium- und Abo-Modellen erleben?
Peter Dewald – Sage: "Strategisch setzen wir nicht grundlos unseren Fokus auf Cloud-Angebote im Abo-Modell: Diese Modelle haben den großen Vorteil, dass große Anschaffungskosten entfallen. Solche Kosten können gerade kleine und mittlere Unternehmen vor Finanzierungsschwierigkeiten stellen."
Welche Veränderungen werden wir bei den unterschiedlichen Zielgruppen hinsichtlich Lizenz-, Freemium- und Abo-Modellen erleben?
Sven Denecken – SAP: "Wir steuern auf eine “subsciption economy” zu. Insofern wird dieses Lizenzmodell in Zukunft dominieren. Dieses Modell entspricht einem "Abo-Modell”, das auch sehr vorhersehbare Umsätze generiert."
Welche Veränderungen werden wir bei den unterschiedlichen Zielgruppen hinsichtlich Lizenz-, Freemium- und Abo-Modellen erleben?
Günther Igl – Microsoft: "Das wird auch 2015 wichtig bleiben: Wir machen Produktivität plattform- und systemübergreifend möglich und werden dafür attraktive, flexible, niedrigschwellige und preiswerte Lizenzmodelle anbieten."
Welche Veränderungen werden wir bei den unterschiedlichen Zielgruppen hinsichtlich Lizenz-, Freemium- und Abo-Modellen erleben?
Markus Dränert – Lexware: "Generell gibt es immer mehr Geschäftsmodelle, die sich in Richtung transparenter Abomodelle bewegen. Es geht vor allen Dingen darum, fair und transparent gegenüber dem Kunden zu sein, es darf keine versteckten Kosten mehr geben."

Mit der wachsenden Verbreitung des Internet der Dinge, erwarten Konsumenten zunehmend lückenlose Konnektivität und einen direkten Zugriff auf Informationen - bei sinkender Toleranz gegenüber Qualitätsverlusten. Organisationen achten darum immer mehr auf hochwertige, verlässliche Kundererlebnisse. Diese und weitere Technologietrends haben wichtige Auswirkungen auf Qualitätssicherung und Testing.

Die Studie ergab noch weitere Informationen:

Prozesse

Mehr als 80 Prozent sehen laut Studie die konsequente Umsetzung der Prozesse zur Sicherung der Ergebnisse als notwenige Maßnahme an. Denn Testen umfasst viele Aufgaben. Um diese zu strukturieren und eine effiziente Kommunikation zwischen allen Beteiligten zu ermöglichen, ist ein eigenständiger Testprozess sinnvoll, der einen verfeinerten Ablaufplan für alle Testarbeiten definiert. Der weltweit verbreitete ISTQB-Testprozess unterscheidet folgende Aktivitäten:

Die einzelnen Aktivitäten des Testprozesses sind nicht strikt nacheinander abzuarbeiten, eine zeitliche Überlappung wird sich in der Praxis weder vermeiden lassen noch ist sie unbedingt erforderlich.

Knackpunkte in agilen Entwicklungsteams
Knackpunkte in agilen Entwicklungsteams
Seit die Verfasser des "Agilen Manifests" im Jahr 2001 den klassischen Phasenmodellen wie Wasserfall und V-Modell den Kampf angesagt haben, erlebt die Softwareentwicklung eine tief greifende Veränderung. Mittlerweile ist Agilität fast zu einem Hype-Begriff geworden. Darüber gerät gelegentlich aus dem Blick, was die Methode tatsächlich leisten kann und an welchen Stellen das ursprüngliche Dokument von 2001 aufgrund von Projekterfahrungen aus mehr als einer Dekade präzisiert werden sollte.
Crossfunktionale Teams aus Spezialisten und Generalisten bilden
Teamübergreifende Governance sichern
Verantwortungsvolles und pro-aktives Handeln der agilen Teammitglieder
Ständige Kommunikation innerhalb und zwischen Sprint-Teams
An agiler Community aktiv teilnehmen und auf Best Practices setzen
Verständigung über technisches Rahmenwerk (Architektur) herstellen
Bereitstellung von Testdaten und Ausführung von Integrationstests sichern
Dokumentation im Hinblick auf Compliance nicht vernachlässigen

Automatisierung

Gerade in der Vielfältigkeit der Systeme liegt das Verhängnis der Qualität. Wie stellt man sicher, dass alles mit allem richtig kommuniziert? Und wie stellt man sicher, dass Nachimplementierungen nicht die schon existierenden Funktionen negativ beeinflussen. Regression wird erforderlich. Automatisierung ist eine Möglichkeit, dies sicherzustellen.

Weiterbildung

Jedes Produkt ist nur so gut wie diejenigen, die an seiner Herstellung mitwirken. Daher sollten möglichst alle Projektbeteiligten fundiert ausgebildet sein und im Idealfall noch die gleiche (Fach-)Sprache sprechen wie ihre Kollegen aus der ganzen Welt. Das sind gute Voraussetzungen, um ein Produkt entsprechend seinen Anforderungen, verlässlich, sicher, international einsetzbar, anpassbar und langlebig zu entwickeln.

Das gilt natürlich besonders für Softwareprodukte, die gerade im digitalen Zeitalter ständig und überall entstehen. Hier werden unzählige Sensoren, Aktoren und Visualisierungen verknüpft. Wie stellt man sicher, dass alle Beteiligten die gleichen Ansprüche an Qualität, Anforderungen, Usability, Dokumentation und Service haben. Wie synchronisiert man Meilensteine und Projektsteuerung zwischen den Planern, Softwareentwicklern und Testern?
Ein international anerkanntes, standardisiertes Personalzertifikat kann helfen einen verlässlichen Nachweis zu erbringen, um Wissen, Know-how und Leistungsniveaus mit theoretischen Prüfungen messbar und vor allem vergleichbar zu machen.

Ein Beispiel für ein solches Zertifikat ist der QAMP (Quality Assurance Management Professional).
Felix Winter, aus der Geschäftsleitung des International Software Quality Institute , meint dazu: "2008 zusammen mit der IT-Industrie entwickelt, legt QAMP den Fokus - neben dem Nachweis von Wissen - bewusst auf die Berufspraxis: Individuelle Projekterfahrung, Fachwissen und Spezialisierungs-Know-how müssen nachgewiesen werden. Neben dem Spagat zwischen Theorie und Praxis will QAMP den Anspruch auf Spezialwissen einerseits und einem breiten Wissenshorizont andererseits vereinen."

Organisation

Lange Jahre wurde der Schlüssel für ein wirksames Testen darin gesehen, die Programmierung und das Testen organisatorisch so gut und so früh wie möglich voneinander zu trennen.

Fünf Organisationsmodelle werden in diesem Zusammenhang praktiziert:

So wechseln CIOs den Outsourcing-Partner
So wechseln CIOs den Outsourcing-Partner
Bei Unzufriedenheit unbedacht den Dienstleister zu wechseln ist gefährlich. Zu prüfen sind unter anderem Laufzeit, Folgekosten und Optionen wie Multisourcing.
1. Die Gründe für das Outsourcing nochmals überprüfen:
"Rufen Sie sich die Gründe dafür zurück, warum Sie sich ursprünglich zum Auslagern entschieden haben", rät Edward J. Hansen von der Anwaltskanzlei Baker & McKenzie. Wenn diese Gründe immer noch gelten, reicht es, sich einen neuen Dienstleister zu suchen. Falls nicht, muss die ganze Strategie überdacht werden - und das Unternehmen entschließt sich möglicherweise zum Insourcing.
2. An die Vertragslaufzeiten denken:
Wer den Anbieter wechseln will, tut das am besten, wenn das bisherige Abkommen ausläuft. Die Zusammenarbeit während der Laufzeit zu beenden, ist nur in dringenden Fällen ratsam.
3. Den Vertrag genau studieren:
Es kann Streit ums Geld geben, wenn ein Vertrag vorzeitig beendet werden soll. Schon aus diesem Grund muss der bestehende Vertrag genauestens unter die Lupe genommen werden. Wer geschickt ist, baut in künftige Abkommen ein, in welcher Weise ein Dienstleister den Kunden bei einem Provider-Wechsel unterstützen muss.
4. Wiederverhandeln kann sinnvoller sein als Aussteigen:
Ein Anbieterwechsel kann sich kompliziert gestalten. Wer das vermeiden will, sollte den bestehenden Vertrag lieber neu verhandeln. Entscheider müssen die eigenen Motive für den Wunsch nach einem Wechsel überprüfen.
5. Den bestehenden Dienstleister durchleuchten:
Dieser Punkt knüpft an den vorhergehenden an. Wenn der Grund für den Wechsel-Wunsch darin liegt, dass der Dienstleister schlechte Qualität liefert, muss sich auch der Kunde nach den Gründen dafür fragen. Ein offenes Gespräch kann in Neu-Verhandlungen statt im Wechsel enden.
6. Es wird Ärger mit dem Faktor Mensch geben:
Wenn Mitarbeiter des neuen Dienstleisters ins eigene Unternehmen kommen, kann es zu zwischenmenschlichen Reibereien kommen. Das darf nicht unterschätzt werden.
7. Beim Wechsel mit unproblematischeren Teilen beginnen:
Rechenzentrum-Services oder Disaster Recovery bieten sich als Erstes an, wenn der Dienstleister gewechselt werden soll. Generell gilt: Nicht mit dem Kompliziertesten anfangen!
8. Die Kosten eines Wechsels kalkulieren:
Wer durch den Wechsel des Anbieters Kosten senken will, muss bedenken, dass die Neu-Organisation des Outsourcings selbst auch Geld kostet. Diese Ausgaben müssen gegen mögliche Einsparungen abgewogen werden.
9. Multisourcing als Alternative:
Wer das bisherige Abkommen auflösen will, zielt meist auf Multisourcing ab, statt sich wieder für einen einzigen Anbieter zu entscheiden. Das ist zumindest die Beobachtung von Jeffrey Andrews (Anwaltskanzlei Thompson & Knight). Entscheider sollten sich des damit verbundenen Zeitaufwandes bewusst sein.
10. Aus den eigenen bisherigen Fehlern lernen:
Das vielleicht Wichtigste ist, die eigenen Erfahrungen festzuhalten, um beim nächsten Mal daraus zu lernen.

Die Maßnahmen ergänzen sich beziehungsweise bauen aufeinander auf. Es ist nicht notwendig, alle Maßnahmen von Beginn an gleichzeitig einzuführen. Man kann die Maßnahmen schrittweise umsetzen und miteinander kombinieren.

Das Prinzip ist jedoch immer das Gleiche: Man trennt Test- und Entwicklungsaufgaben personell, um zu erreichen, dass Annahmen, Gedankenmodelle und versteckte Voraussetzungen, die die Programmierer getroffen oder verwendet haben, kritisch hinterfragt werden. Das alleine macht das Testen schon wesentlich wirksamer.

Unabhängig davon, ob es die gleiche Organisation ist die die Tests durchführt oder eine andere, liegt der Schlüssel zum Erfolg darin, dass die Verantwortung für Qualität in einer anderen Hand liegt, als die Verantwortung für den terminkonformen Projektabschluss.

Outsourcing

Oft ist eine mögliche Lösung, die Qualitätsmaßnahmen auszulagern und über einen Dienstleister abzudecken, da dieser organisatorisch komplett getrennt aufgestellt ist, und keine Beeinflussung erfolgt.
Florian Prester, Geschäftsführer von sepp.med, einem Beratungshaus für Qualitätssicherung, sagt dazu: "Tests sind prädestiniert für das Outsourcing-Geschäft. Hier bewerten unabhängige Experten die Entwicklung nach den neuesten Anforderungen - entsprechend den regulatorischen Vorgaben oder den Belangen der Kunden. Dabei kommt die Expertise eines spezialisierten Dienstleisters in Methoden, Werkzeugen und Kompetenzen für Dienstleistung und Produktgeschäft zum Tragen."

Gerade im Outsourcinggeschäft sind Konzepte, wie Testfactories, in denen standardisiert getestet wird, erfolgreich eingesetzt worden.

Qualitätssicherung agiler Systeme

Beim Internet der Dinge und Industrie 4.0 sprechen immer mehr Dinge miteinander und tauschen Infromationen aus. Daten werden an immer mehr Stellen erzeugt und verarbeitet. Diese neue Form der Komplexität gepaart mit hoher Agiltät der Systeme erfordert neue Ansätze in der Qualitätssicherung.

Modellbasiertes Testen hat nach Jahren der Vorarbeit nun einen relevanten Stellenwert in der Welt der Qualität. Der modellzentrierte Test ist eine Best-Practice Methode des modellbasierten Tests für die Industrie und bietet eine umfassende methodische Basis. Darauf aufbauend lassen sich die Anforderungen und Lösungsansätze aus der individuellen Projektsituation ableiten, der Werkzeugeinsatz kann geplant und die konkrete Umsetzung gesteuert werden. Er bringt viele Vorteile mit sich, die sich in hohen Synergien begründen.

Agiles Projektmanagement
Prüfen von Anforderungen in agilen Projekten
Ohne die Priorisierung der Anforderungen des IT-Projekts drohen hohe Folgekosten in einzelnen Sprintphasen.
Verzögerungen durch exportierte Probleme
Neben dem Totalausfall eines Sprints gehören Verzögerungen zur Tagesordnung. Diese entstehen etwa bei unklar definierten Anforderungen, die eventuell im falschen Detaillierungsgrad vorliegen oder durch Überlastung des Product Owners verspätet priorisiert werden.
Zeitverluste durch fehlende Aufgabenzuordnung
Zunächst lassen sich nicht ausreichend gut definierte Anforderungen durch ohnehin erforderliche Routinearbeiten wie der Spezifikation technischer Anforderungen kompensieren. Später droht dagegen der Totalverlust ganzer Sprints.
Anforderungen treffen ungesteuert auf das Projektteam
Bei agilem Projektmanagement stehen viele Unternehmen noch immer auf der Bremse. Der Grund: Viele Projektverantwortliche müssen zusätzlich zu den Projektanforderungen weiterhin Aufgaben im Tagesgeschäft übernehmen.
Anforderungen laufen beim Product-Owner-Team zusammen
In einem Projektteam aus typischerweise sechs bis acht Mitarbeitern laufen alle Fäden beim Product Owner zusammen. Das Product-Owner-Team besteht aus maximal drei Personen. Der Product Owner managed alle an das Team herangetragenen Anforderungen. Das gilt sowohl vonseiten der Auftraggeber als auch der beteiligten Fach- und IT-Abteilungen sowie der Revision. Viele Unternehmen machen dabei den Fehler, Product Owner nicht ausreichend vom Tagesgeschäft freizuhalten.

Tool-Konsolidierung

Wenn eine Organisation die Verantwortung für das Testen übernimmt, fällt immer das Wort "Tool-Konsolidierung". In mehr als 50 Prozent der Organisationen sind unterschiedliche Testwerkzeuge und Frameworks im Einsatz, die nicht aufgrund von technischen Anforderungen sondern aus historischen Gründen unterschiedlich sind. Oft lässt sich der ROI einer Konsolidierung schnell nachweisen.

Vorteile

Unternehmen, die sich auf diese Trends in der Qualitätssicherung einlassen, werden viele Vorteile erfahren:

Grundlage für den nachhaltigen Erfolg der Qualität in der Welt der digitalen Transformation ist der Mensch. Er muss die Notwendigkeit der Qualität in allen Phasen des Produktlebenszyklus erkennen und zu schätzen wissen. Dann werden einerseits Investitionen für Qualität und andererseits organisatorische Maßnahmen kein Hindernis sein.