19.02.2020

Softwaretests

Warum automatische Softwaretests für die Anwender von immobilienwirtschaftlichen ERP-Lösungen essenziell sind.

Slavcho Mavrodiev, Leiter Development-Team, Spacewell Germany
Slavcho Mavrodiev

Softwareentwicklung ist ein sehr komplexer Prozess. Neben der Analyse und der Programmierung ist das Testen ein wesentlicher Bestandteil dieses fortlaufenden Prozesses. Der Anspruch von Softwareherstellern ist es, ihre Produkte laufend funktionell weiterzuentwickeln und den Anwendern gleichzeitig ein stabiles Programm bereitzustellen. Um die Softwaretests möglichst effektiv abzubilden, ist der Einsatz entsprechender automatisierter Test-Tools für Softwareentwickler entscheidend. Mehr dazu erfahren Sie im Interview mit Slavcho Mavrodiev, dem Leiter des Development-Teams von Spacewell Germany.

Warum sind Softwaretests sowohl für Softwarehersteller als auch die Nutzer der Softwarelösungen so wichtig?
Die Stärke unserer Produkte liegt in der Funktionsbreite und darin, nicht standardisierte, flexible Prozesse der Immobilienwirtschaft sowohl im Wohnungssektor als auch im Gewerbebereich und dem Corporate Real Estate Management abzubilden. Diese Vielfalt der Funktionalitäten bietet den Kunden einerseits große Möglichkeiten, ist andererseits aber eine sehr spannende, interessante und große Herausforderung für die Entwicklung. Um die Softwarequalität und die Datensicherheit Hand in Hand mit der Weiterentwicklung der Software zu managen und sicherzustellen sind Softwaretests unumgänglich - ein Testmanagement-Tool ist daher fester Bestandteil unseres Entwicklungsprozesses.

Sie nutzen zum Testen Ihrer Software also ein eigenes Softwaretool. Können Sie die Leser abholen und kurz erklären, wie das Tool funktioniert?
Strukturiertes Vorgehen ist der zentrale Schlüsselfaktor im Testmanagement. Zur Organisation von Testfällen ist der Einsatz eines ganzheitlichen Testmanagement-Tools äußerst wertvoll. In Kombination mit einem integrierten Testautomatisierungstool lassen sich komplexe Testfälle bequem in einfache Bausteine aufteilen und automatisieren. Darüber hinaus sind diese parametrisierbar, womit verschiedene Konstellationen abgebildet und getestet werden können. Weiterhin bietet es den Vorteil, nicht nur auf Funktionsebene (unter der grafischen Oberfläche) zu testen, sondern auch Benutzereingaben und -verhalten eins zu eins zu simulieren, um so ein nahezu realistisches System anstatt eines Testdummys unter die Lupe zu nehmen.

Das klingt interessant aber doch noch ein wenig Abstrakt. Können Sie, kurz angerissen, mal ein exemplarisches Testszenario anhand eines denkbaren Software Anwendungsbeispiels, aufzeigen?
Grundsätzlich muss man zwischen unterschiedlichen Teststufen unterscheiden. Bei einem Modul- oder Komponententest wird die Funktionalität einzelner abgrenzbarer Teile der Software getestet. Wohingegen bei einem Integrationstest die Zusammenarbeit voneinander abhängiger Komponenten überprüft wird. Stellen wir uns jetzt den Prozess eines Rechnungseingangs vor, ergeben sich daraus zahlreiche unterschiedliche Konstellationen, die es zu überprüfen gilt. Auf der einen Seite müssen Testfälle für verschiedene Verarbeitungsoptionen angelegt werden, z. B. handelt es sich um eine bilanzierende Buchhaltung oder nicht, reagiert das Programm richtig bei Brutto/Netto-MwSt.-Behandlung, handelt es sich um eine Splitbuchung, ist zusätzlich ein Skonto vereinbart oder nicht und verarbeitet das Programm die Buchung entsprechend.

Bei dem oben beschriebenen Vorgehen, haben Sie dann lediglich Testfälle auf Ebene des Komponententests abgebildet, richtig?
So ist es. Wenn man das obere Beispiel weiterspinnt und sich auf die Ebene der Integrationstests begibt, wird deutlich, wie komplex das Testen ist. Bei Integrationstests testen wir dann zum Beispiel, ob das Programm im Zusammenspiel mit den unterschiedlichen Programmkomponenten, die am Rechnungseingang betroffen sind, z. B. unsere Dokumentenmanagement-Integration oder die Projektverwaltung funktioniert.
Die Möglichkeit Test-Cases mit einer Software zu gestalten, versetzt uns in die Lage einer hohen Wiederverwendbarkeit und der Erstellung weiterer Tests - das gesamte Testmanagement ermöglicht uns dabei eine sehr gute Übersicht der Testfälle und ihrer Ergebnisse. Das entlastet uns und erhöht gleichzeitig den Qualitätsfaktor bei der Entwicklung und letzten Endes der Software.

Die Tests dienen also der Sicherung Ihres Qualitätsstandards?
Das Thema Qualität ist uns als Softwarehersteller extrem wichtig. Aber nicht nur uns - natürlich auch unseren Kunden. Wir haben beispielsweise Kunden aus der Banken– und Versicherungsbranche, die strengen Revisionsrichtlinien unterliegen. Besonders für diese Nutzer ist es wichtig einen Softwareanbieter zu haben, der diesen Kriterien entspricht - dafür werden Softwarelösungen auch testiert.

Interessant ist, dass bei dem Testat nicht nur die Software an sich auf Richtigkeit geprüft wird, sondern auch der Entwicklungsprozess. Die Integration der Testmanagement Ergebnisse in die Prüfung für das Testat, belegt dem Wirtschaftsprüfer dabei die strukturierte Arbeitsweise bei der Weiterentwicklung der Software und die Funktionalität einzelner Komponenten.

Das Testmanagement-Tool ermöglicht also allgemein die Transparenz sowie Tiefe von Softwaretests und veranschaulicht die Testergebnisse nachvollziehbar - neben der Sicherstellung unserer Qualitätsstandards erleichtert und optimiert es so unseren gesamten Entwicklungsprozess.

Die Nutzungsrechte wurden The Property Post zur Verfügung gestellt von Spacewell Germany
Erstveröffentlichung: The Property Post, Februar 2020

Konversation wird geladen