Das Management von Prozessen und Materialien, immer strengere Compliance-Anforderungen, umfangreiche Berichtspflichten: Die Herausforderungen für Chemieunternehmen sind groß. Um mit dieser Entwicklung Schritt zu halten, ist der Einsatz von Branchensoftware das Mittel der Wahl. Dazu zählen Produktionssysteme und Diagnosesysteme ebenso wie spezielle Software für einzelne Verfahrensschritte wie das Dosieren und Abfüllen. Bei letzterem sind Systemkomponenten mit hochwertigen und zuverlässigen Baugruppen und Modulen aus der Automatisierungs- und Steuerungstechnik zu kombinieren und bedarfsgerecht in komplexe Abfüll- und Verpackungsanlagen zu integrieren. Die individuelle Konfiguration mithilfe von CNC-Steuerungen oder CAM-Funktionen oder einer integrierten SPS zur Anpassung der Parameter erfordert nicht nur Spezialsoftware, sondern auch geeignete Testszenarien für die umfangreichen Automatisierungslösungen. Dabei sind auch sämliche Sensoren und Diagnoseeinheiten zu betrachten.
Ausreichend Personal einplanen
Um nicht erst mit Software-Qualitätsproblemen konfrontiert zu werden, wenn es eigentlich schon zu spät ist, nehmen viele Chemie-Unternehmen das Testen vor der Einführung sehr ernst. Frank Witte, der sich mit der Firma Testmanagement auf die Beratung von Unternehmen spezialisiert hat, hält eine durchdachte und fundierte Testplanung für den Schlüssel zu einem erfolgreichen Testprojekt, auch wenn das Testen über den Lebenszyklus einer Applikation betrachtet zwischen 25 und 50 % der anfallenden Gesamtkosten in Anspruch nimmt. Bevor ein Unternehmen Softwaretests konzipiert, sollte es sich über die Probleme und Risiken klar werden. So lassen sich diese entweder von vornherein ausschließen oder man ist vorbereitet. Der Testmanager fühlt sich dann nicht als Getriebener im Reaktionsmodus, sondern kann von Anfang an aktiv agieren. Auch wenn dieser Fakt vielleicht überrascht, so haben laut einer Capgemini-Studie 62 % der Befragten Schwierigkeiten, qualifizierte Fachkräfte für den Aufbau der Strategie kontinuierlicher Softwaretests zu finden. Das Personal ist gemäß der Erfahrung von Witte tatsächlich eine Herausforderung bei der Planung von Softwaretests. Es empfiehlt sich daher imVorfeld abzuklären, ob genügend erfahrene Tester zur Verfügung stehen und ob sie motiviert sind. Dafür spielt auch eine Rolle, ob der Mitarbeiter dafür Ressourcen hat und ob es im Team persönliche Differenzen gibt. Darüber hinaus sollte das Team überschaubar sein, um die Kommunikationswege zu reduzieren, und Aufgabenstellungen sollten klar formuliert werden.
Den richtigen Stellenwert zumessen
Neben dem Faktor Personal kann auch die Priorität des Projektes innerhalb des Unternehmens eine Herausforderung sein. Oft laufen zeitgleich andere Projekte, die der Geschäftsführung wichtiger sind. Das kann zu Verzögerungen im Ablauf führen. Gleiches gilt, wenn das Management zu hohe Erwartungen hinsichtlich Terminsituation, Kosten und Qualität stellt. Neben diesen soften Faktoren gibt es auch einige hard facts zu bedenken. Eine Umstellung der Server oder der Datenhaltung in der Cloud kann Auswirkungen auf die zu testende Software haben, genauso wie die Änderung von Datenbanken. Wenn generell der Sinn des Softwaretests hinterfragt wird, hilft es, vorhandene Risiken in Euro umzurechnen. Ein Risiko mit 750 000 Euro zu beziffern, ist eindringlicher, als festzustellen, dass wahrscheinlich 5 % der geplanten Testfälle nicht termingerecht durchgeführt werden können.
Tests an der IT-Strategie orientieren
Wenn die Herausforderungen hinreichend bekannt sind, geht es an die Konzeption, Planung und Organisation des Tests. Erster Schritt ist das Erarbeiten einer Teststrategie als Grundlage für die richtigen Testprozesse. Die Strategie sollte übrigens unternehmensweit gültig sein und sich an der jeweiligen IT-Strategie orientieren. In der Dokumentation sollte mithilfe einer Testrichtlinie auf hohem Abstraktionsniveau die Prinzipien, der Ansatz und die wichtigsten Ziele einer Organisation in Bezug auf das Testen zusammengefasst werden. Handelt es sich um ein kleines Projekt von nur wenigen Tagen, zum Beispiel für die Einführung einer App, können nur Teile der Testrichtlinie umgesetzt werden. Es empfiehlt sich, für die Umsetzung der Projektstrategien Balanced Scorecards zu verwenden.
In der Teststrategie muss auch definiert werden, wie intensiv auf welcher Stufe getestet werden soll. Das hängt von unterschiedlichen Faktoren ab, beispielsweise dem verfügbaren Budget, dem Risiko, der Komplexität des zu entwickelnden Systems, der Anzahl der Teams oder auch dem Wissen über Testaktivitäten. Beim Erstellen der Strategie darf nicht vergessen werden, Module erst einzeln zu testen, sie dann zu Subsystemen zu integrieren und am Ende zu einem Gesamtsystem.
Vom IEEE veröffentlichte Standards wie der „IEEE 829 Standard for Software Test Documentation“ helfen nach dem Erarbeiten der Strategie dabei, mittels des Testkonzeptes einen Bauplan zu erstellen. Die Vorlage dient als grobe Leitlinie und Kompass, auch wenn vielleicht nicht alle Teile relevant sind. Hier wird genau definiert, was die Testobjekte sind, welche Testaufgaben bestehen und welche Infrastruktur dafür notwendig ist. Das Testkonzept sollte schrittweise im Dialog mit Experten und zukünftig Betroffenen im Projekt erarbeitet werden. Ein Review-Prozess mit allen Beteiligten sichert im Anschluss, dass jeder sein Feedback geben kann und ein Konsens erreicht wird. Durch das aktive Einbinden wird das Konzept gleichzeitig mit Leben erfüllt, denn ein Dokument mit Alibifunktion, das lediglich aus Gründen der Revisionssicherheit erstellt wurde, erfüllt seinen Zweck nicht.
Testorganisation
Steht das Konzept, kann mittels der Testorganisation die praktische Umsetzung organisiert werden. Für die Testplanung empfiehlt sich dabei eine rollierende Vorgehensweise. Das bedeutet, dass zu Beginn eine grobe Planung für das gesamte Projekt vorgenommen wird, die für jede einzelne anstehende Projektphase weiter detailliert wird. In dieser Phase geht es hauptsächlich um die Organisation der Testressourcen, zum Beispiel Personal, benötigte Hardware oder Datenbereitstellung. Damit der Softwaretest geordnet abläuft sind regelmäßige Statusmeetings, wöchentliche Testfortschrittsberichte und Abstimmungen unerlässlich. Falls es sich um ein agiles Projekt handelt, muss sich der Testprozess an die stärkere Dynamik anpassen. Das sollte auch bereits bei der Organisation bedacht werden.
KI kann für mehr Effizienz sorgen
Trends wie künstliche Intelligenz (KI), kognitive Technologien oder Blockchain bieten neue Methoden, Verfahren und Ansätze, um Testabläufe effizienter umzusetzen. Denn der Einsatz von KI macht es möglich, immer komplexer werdende Softwaresysteme in kürzerer Zeit zu verifizieren. Ist die Software bereits im Einsatz, übernimmt KI eine Wächterfunktion und warnt in Echtzeit vor zukünftigen Veränderungen und Abweichungen, die zu Fehlern führen können. Auch die Analyse von Big Data, um beispielsweise Fehlertaxonomien zu identifizieren oder die Testabdeckung zu steigern, wird möglich sein. Obwohl die Nutzung von KI in der Softwareentwicklung noch ganz am Anfang steht, wird die Arbeit mit KI-gestützten Werkzeugen in Zukunft auch für Softwaretester immer wichtiger. KI kann wesentliche und reproduktive Aufgaben wie die Testdurchführung oder den Entwurf der Testfälle übernehmen. Das schafft dem Softwaretester mehr Zeit für kreative und geistig anspruchsvollere Aufgaben.
Testmanagement, Landshut