Mehrwert schaffen
- Written by Karin Legat
- font size decrease font size increase font size
![Mehrwert schaffen](/media/k2/items/cache/2656792875dbf5a5cbaee8e742c7d601_L.jpg)
Softwaresysteme werden immer komplexer. Traditionelle Testverfahren können mit dieser rasanten Entwicklung nicht Schritt halten – das bedeutet: »time for automation«.
Die stetig wachsende Komplexität moderner IT-Lösungen erfordert ein hohes Maß an Stabilität, Zuverlässigkeit und Qualität. »In praktisch jedem modernen Gerät ist schon Software enthalten«, stellt Johannes Bergsmann, Geschäftsführer von Software Quality Lab, fest. Neue Trends wie Internet of Things, bei dem von Lampen über Heizkörper-Thermostate, Sportgeräte bis zu Kleidung alles mit einem lokalen oder weltweiten Netz verbunden wird, oder im industriellen Bereich Industrie 4.0, wo jede Maschine mit anderen Maschinen intelligent vernetzt ist und eventuell sogar autonom zusammenarbeitet, verstärken die Ausbreitung der Computer und Software auf alle Lebensbereiche. Laut Prognosen werden im Jahre 2020 bis zu 30 Milliarden IoT-Geräte im Einsatz sein. Das Testen in diesen allumfassend vernetzten und komplexen Systemen soll finanzielle und materielle Schäden minimieren. »Ganz besonders im agilen Umfeld dürfen Testumgebungen, Regressions- und Integrationstests nicht unbeachtet bleiben«, fordert Sylvia Resetarits, Geschäftsführerin von SQS Österreich.
Blick zurück
Der Bedarf für Softwaretesting ist in den letzten 20 Jahren massiv gestiegen. Ging es damals um ein paar Geschäftsanwendungen, ist Software heute aus dem Business- und Privat-Alltag nicht mehr wegzudenken. Wolfgang Platz, Founder and Chief Strategy Officer bei Tricentis, rechnet damit, dass sich die Anforderung nach Testleistungen in den nächsten fünf Jahren verneunfachen wird. Die bisherigen Strategien, vor allem manuelles Testen, könnten das nicht mehr leisten. Man müsste die Zahl der Tester verneunfachen, was nicht finanzierbar wäre. Als Lösung sehen Experten die Verbesserung der Effizienz im Testen. Künftig wird es daher mehr Robotics und Automatisierung geben. In Deutschland werden bereits 18 % der Testdaten und -fälle automatisiert ermittelt, der weltweite Durchschnitt liegt bei 16 %. Die Gefahr des Wegfalls einer Branche sei nicht gegeben. Es werden zwar Arbeitsplätze verschwinden, gleichzeitig entstehen aber neue.
Bild oben: »In praktisch jedem komplexeren Gerät ist schon Software enthalten«, spricht Johannes Bergsmann, Geschäftsführer von Software Quality Lab, die wachsende Bedeutung von Software Testing an.
Die Automatisierungsbranche führt dazu gerne folgendes Beispiel an: Als das Automobil seinen Siegeszug angetreten hatte, wurden viele Kutscher arbeitslos, ebenso Pferdezüchter oder Lederverarbeiter. Dafür wurden ganze Industriezweige in der Autozulieferbranche geschaffen. Auch in der IT werde es andere Arten von Jobs geben, die stärker gefragt sind, zum Beispiel Datenanalysten, die mit wissensbasierten Systemen arbeiten.
Shift Left
Der Ablauf von Software Testing hat sich bereits verändert und wird sich künftig massiv wandeln. Automatisierung lautet die Devise. Testen muss zudem möglichst frühzeitig, bereits während der verschiedenen Software- und Systementwicklungsphasen durchgeführt werden. »Im Idealfall sollte das Testen schon vor der Programmierung beginnen, indem man sich für jede Anforderung an die Software überlegt, wie diese Anforderung dann nach der Umsetzung getestet werden kann«, betont Johannes Bergsmann. Dadurch werden eine viel höhere Qualität und Verständnis der Anforderungen an die Software erreicht. Der Begriff Shift Left erklärt diesen Vorgang.»Testen und Qualitätssicherung muss möglichst am Anfang des Zeitstrahls, am Anfang des Entwicklungsprozesses stattfinden, nicht erst am Ende, wo bereits alles implementiert und umgesetzt ist«, bestätigt Renate Weichselbraun, Leiterin Bereich Testing Services bei Nagarro. Einen Wandel sieht sie auch in einer Verlagerung des Testschwerpunktes hin zum nicht-funktionalen Bereich.
Die Funktionalität der Anwendungen wird als selbstverständlich angenommen. Nicht ausreichend bedacht werden dagegen nicht funktionale Eigenschaften wie gute Bedienbarkeit und u.a. vertretbare Antwort- und Reaktionszeiten. Für Sylvia Resetarits lautet das neue Schlagwort neben Business Agility künftig Continuous Quality. Dies umfasst nicht nur bekannte Themen wie Test Data und Environment Management, Load & Performance oder das immer wichtigere Thema des Security Testings. Auch Mobile Testing, Development Quality, Crowd und Continuous Integration Testing werden zunehmend zur Qualitätssteigerung und Beschleunigung des gesamten Entwicklungsprozesses eingesetzt.
Ja zur Automatisierung
Von On-Premise zur Cloud, von Client-Server zu Service-Oriented, vom Desktop zum mobilen Endgerät und von Mobil zu den Wearables: Die einzige Konstante im Softwarebereich ist der Wandel. Jede dieser Veränderungen bringt eine Reihe von Herausforderungen mit sich. Das Verbraucherverhalten ändert sich, Geschäftsmodelle stellen sich um, ungeplante Investitionen werden erforderlich. Die Organisation von Tests wird durch Verkettung und Kooperation mit einer Vielzahl an Projektpartnern komplexer, und Technik-Know-how wird für Protokoll und Schnittstellentests wichtiger. Der künftige Schwerpunkt bei Softwaretesting liegt auf Geschwindigkeit. Es gibt ständig neue Herausforderungen und Änderungen. »Man kann nie alles testen. Ich muss daher einen risikobasierten Ansatz wählen – definieren, wo das höchste Risiko liegt und dahingehend meine Tests priorisieren«, erklärt Renate Weichselbraun.
Bild oben: Der künftige Schwerpunkt bei Softwaretesting liegt auf Geschwindigkeit.
100 %zu testen werde es nicht mehr geben. Mit Testautomatisierung wird Zeitersparnis realisiert, alle wiederholbaren Abläufe, müssen daher möglichst automatisiert werden. Man muss Testautomatisierung stark einsetzen und auch zur assistierenden Unterstützung nutzen – z.B. zur Bereitstellung von Testumgebungen und Testdaten. Wichtig für die Wettbewerbsfähigkeit von Qualitätssicherungs- und Testorganisationen ist vor allem die Entwicklung in Richtung eines automatisierten Testing-Ökosystems mit prädiktiven Analysen und einer intelligenzgesteuerten Qualitätssicherung. Dafür braucht es Fachkräfte, die derzeit Mangelware sind. »Wir haben nicht nur in Österreich einen akuten Fachkräftemangel. Das wird in den nächsten Jahren nicht besser«, so Weichselbraun. Daher hat sich Anecon Anfang 2018 mit dem internationalen IT-Unternehmen Nagarro zusammengeschlossen.
Testeffizienz
Automatisierung ist bei allen Softwaretestern angekommen. Tricentis bietet mit Tosca ein Software-Tool für die automatisierte Durchführung von Funktional- und Regressions-Tests an. Tosca unterstützt Continuous Testing, indem sie manuelle Tester in die Lage von Automatisierungsspezialisten versetzt. Wolfgang Platz: »Softwarequalitätssicherung erfordert im Normalfall viel Zeit und manuellen Aufwand, welcher zu hohen Kosten und unvorhersehbaren Verzögerungen führen kann.« Mit Tricentis Tosca erzielen Kunden eine zehnmal höhere Testeffizienz als mit herkömmlichen Testlösungen. Tosca ist »Out of the Box« verfüg- und verwendbar, erfasst die Testfälle in Tosca und kann wie Word verwendet werden. Renate Weichselbraun nennt weitere Trends im Bereich Software-Testing und IT-Qualität: maschinelles Lernen etwa in den Bereichen automatisierte Diagnoseverfahren oder Sprach- und Texterkennung, künstliche Intelligenz und Assisted-Reality-Lösungen, beispielsweise im Bereich Connected Workforce.
Bild oben: Für die neuen Anforderungen im Bereich Internet of Things und Industrie 4.0 stellt Software Quality Lab spezielle Leistungen bereit, wie zum Beispiel Hardware-in-the-Loop-Teststände.
Software Quality Lab stellt für die neuen Anforderungen im Bereich Internet of Things und Industrie 4.0 spezielle Leistungen bereit wie etwa Hardware-in-the-Loop-Teststände, Schulungen zum Testen von Microservices, spezielle Embedded-Testtools sowie automatische Testfallgeneratoren für die Absicherung komplexer, großer Software-Systeme. HC Solutions bietet TASS, Testing as a Service. »Kunden können in der Cloud Tests durchführen, mieten Rechner, Speicherplatz und Software. Das wird kommen«, ist Leopold Peneder, Bereichsleiter Quality Solutions bei HC Solutions überzeugt. Die Dienstleistungen von SQS reichen vom Einsatz einzelner Berater zur Unterstützung in einem Kundenprojekt bis zur Übernahme der gesamten Testaufgaben in eine industrialisierte Test-Factory.
Forschung
Der Report hat auch mit Forschungseinrichtungen über Arbeiten rund um Software Testing und Smart Testing gesprochen. Thomas Ziebermayr vom Software Competence Center Hagenberg, SCCH, berichtet über ein Forschungsprojekt zum Thema Softwaretest im Rahmen von COMET. »Das Forschungsprojekt AutoTest erarbeitet Methoden und Werkzeuge zur Automatisierung des Softwaretests und zur Generierung von Testfällen insbesondere auch im Kontext von Software im Maschinenbau.« Der Schwerpunkt des Projekts liegt auf der Adaptierung und Anwendung von Methoden und Werkzeugen im Umfeld von automatisierten Software-Tests und der automatisierten Software-Qualitätssicherung. Ziebermayr: »Spezielles Augenmerk liegt auf generativen Lösungsansätzen.«
Bestehende Automatisierungsansätze, zum Beispiel die automatisierte Durchführung von Testfällen, werden auf drei Ebenen erweitert: Testimplementierung, Testdesign und System-under-Test-Analyse. Das SCCH arbeitet dazu mit sieben Unternehmenspartnern und der Johannes Kepler Universität Linz zusammen. Abgeschlossen wird das Projekt Ende 2018. Das Folgeprojekt SmarTest startet Anfang 2019 und läuft ebenfalls vier Jahre in enger Zusammenarbeit mit der Johannes Kepler Universität. Der Schwerpunkt wird auf dem Testen von hochkonfigurierbaren Systemen liegen. Solche Systeme sind immer breiter in der Industrie, aber auch in anderen Bereichen im Einsatz. Bereits 2015 wurde das Qualifizierungsseminar SmarTest abgeschlossen, eine Kooperation mit der Uni Innsbruck, DGR, ekey, ventopay, infPro und PDAgroup.