Qualitätssicherung von modellbasierter Enterprise Software: Effizienzsteigerung mit dem mgm-Ansatz

Der Einsatz von Modellen erleichtert und beschleunigt die Qualitätssicherung von modellbasierter Enterprise Software und trägt zur Verbesserung der Gesamtqualität bei. Wie ist es mgm gelungen, die Qualitätssicherung in seiner modellbasierten Enterprise Software auf ein neues Level zu heben?

Kurz & knapp

  • In der modellbasierten mgm A12 Enterprise Low Code-Plattform werden kontinuierlich modellbasierte Methoden und Werkzeuge zur effizienten Qualitätssicherung von mgm A12 Anwendungen projektübergreifend evaluiert und für den Einsatz optimiert.
  • Aus den mgm A12 Datenmodellen werden wertvolle Informationen über die Felddefinitionen, Validierungs- und Berechnungsregeln extrahiert und u.a. für die Generierung valider Datensätze verwendet.
  • Aus den mgm A12 UI-Modellen werden wichtige Informationen über die Struktur und Inhalt der Benutzeroberfläche gewonnen und für die Generierung des Testautomatisierungscodes eingesetzt.
  • Eigene modellbasierte mgm Tools wie die Qualle, der Testdatengenerator (TDG) und die Automatisierung der Testautomatisierung (ATA) unterstützen die Qualitätssicherung in der A12-Plattform optimal.

Viele Softwarefehler haben ihre Ursache in versteckten Problemen, die in der Codebasis oder in den Abhängigkeiten liegen. Nicht selten bleiben sie unentdeckt, weil es schlicht an Kompetenz oder Kapazität fehlt, die Software vorab ausgiebig zu testen. Doch mit zunehmender Komplexität der fachlichen Modelle schleichen sich schnell Fehler ein.

Methode für Qualitätssicherung: das Very Early Testing 

Je früher ein Softwarefehler im Entwicklungsprozess entdeckt wird, desto effizienter wird der Entwicklungsprozess. Genau hier setzen wir mit dem Prinzip des „very early testing“ an. Diese Methodik der Qualitätssicherung basiert darauf, Konzeptions- oder Implementierungsfehler im Entwicklungsprozess frühzeitig zu erkennen und Folgefehler zu vermeiden. Sie verkürzt nicht nur die Entwicklungszeit, sondern hält auch die laufenden Kosten niedrig. Das ist besonders wichtig, wenn es um langlebige Enterprise Software mit einem Produktlebenszyklus von zehn bis 20 Jahren geht. Bei mgm haben diese Business-Anwendungen in der Regel einen komplexen Datenhaushalt und sind in einer vernetzten Systemlandschaft integriert.

Ein gutes Beispiel für ein solches Projekt ist Mein ELSTER (ELektronische STeuerERklärung). mgm hat die E-Government-Plattform zur sicheren elektronischen Übermittlung von Steuerdaten gemeinsam mit den Steuerverwaltungen der 16 Bundesländer und dem Bundesministerium der Finanzen entwickelt. Neben Datensicherheit, Sicherheitsstandards, Zugänglichkeit und Barrierefreiheit müssen in diesem Langzeit-Projekt hohe Verfügbarkeiten mit kurzen Antwortzeiten auch bei hoher Last sowie Dauerhaftigkeit und lange Lebensdauer der eingesetzten Technologien sichergestellt sein. Bei so vielfältigen und komplexen Anforderungen entscheidet „very early testing“ mit über den langfristigen Erfolg des Projektes.

Effizienzsteigerung mit modellbasierter Softwareentwicklung

Es gibt einen Ansatz, der dazu beiträgt, die Komplexität in Softwareprojekten zu reduzieren: die modellbasierte Softwareentwicklung (MBSE). Dabei wird projektübergreifend wiederkehrendes Fachwissen mit einer formalisierten Sprache in standardisierten Modellen beschrieben. Diese modellbasierte Regelsprache ist auch für Fachexperten ohne Programmierkenntnisse verständlich. Computer können sie wiederum leicht in ausführbare Programme übersetzen. So schlagen Modelle eine Brücke zwischen Menschen und Maschine und ermöglichen eine Verlagerung der Wertschöpfung von IT- zu Fachexperten.

Die Beschreibung des fachlichen Teils in Modellen hat zwei Effekte: 

1. Die Fachlichkeit wird von der technischen Basis eines Software-Stacks getrennt.

2. Die Fachabteilungen und die IT des Kunden können den fachlichen Teil, also bestimmte Bereiche der Software wie Funktionalität und Architektur, selbst in der Modellierungssprache erfassen.

Modellbasierte Softwareentwicklung

Die Modelle können komplexe fachliche Zusammenhänge leicht verständlich abbilden, was zu einer enormen Arbeitsersparnis führt: Der erhöhte Abstraktionsgrad der Modelle ermöglicht eine wesentlich übersichtlichere und schnellere Implementierung der Software und die Softwareentwickler*innen können sich auf das Schreiben von manuellem Code für spezielle Anforderungen konzentrieren. MBSE steigert somit die Effizienz in Bezug auf Produktivität, Kosten und Zeit – und zwar von den Anforderungen bis zum Code.

Einsatz von Modellen in der Qualitätssicherung für die Softwareentwicklung 

Schließlich verändert die modellbasierte Softwareentwicklung auch den Projektablauf. Im Gegensatz zu früheren Modellen der Softwareentwicklung werden die fachlichen Projektanforderungen – die so genannten Spezifikationen – bereits durch die Modelle realisiert. 

Dies wiederum hat tiefgreifende Auswirkungen auf die Arbeit der Qualitätssicherung: 

  • Den fachlichen Teil können Fachtester bereits in einer frühen Phase anhand dieser Modelle testen – und nicht erst, wenn die Anwendung fertig entwickelt ist. Hierfür bietet mgm den Fachtestern das modellbasierte Tool „Qualle“, um die Korrektheit ihrer Modelle zu testen.
  • Dadurch lassen sich potenzielle Fehlerquellen früher erkennen.
  • Auch die Wartung des Systems wird vereinfacht, da Modelle sich einfacher und schneller anpassen und testen lassen können als komplexer Code. 

 

Entwicklung von modellbasierter Enterprise Software: vom Spezifischen zur Anwendung

Die Sicherung der Softwarequalität ist nicht nur eine Implementierungsaufgabe. Unternehmen sollten dies als Querschnittsaufgabe umfassend in die Unternehmensprozesse integrieren. Die organisatorische Dimension ist eine leicht zu unterschätzende Komponente mit hoher Wirkungskraft. Sie setzt auf Unternehmens- und Managementebene an und sorgt dafür, dass Softwarequalität bereits in der Organisation und damit im gesamten Projektverlauf von Entwicklung, Betrieb und Wartung verankert wird. Ansätze wie DevOps, Continuous Integration und Continuous Delivery können dabei helfen, die Prozesse in der Softwareentwicklung zu standardisieren. Solche Vorgehensweisen schaffen eine agile Zusammenarbeit zwischen Entwicklung und Betrieb und fördern damit die Softwarequalität.

mgm A12-Plattform – modellbasiert, offen und modular

In der modellbasierten mgm A12 Enterprise Low Code-Plattform können sich die wesentlichen Effekte von modellbasierter Softwareentwicklung für komplexe Anwendungen voll entfalten. Das A12-Team evaluiert die Methoden und Werkzeuge für die Entwicklung komplexer und langlebiger Unternehmenssoftware kontinuierlich projektübergreifend und optimiert sie für den Einsatz. Als Ergebnis bietet A12 die Möglichkeit, neue Projekte schnell auf bewährter Technologie und Erfahrung aufzubauen, da sie von einer bereits vorhandenen Basis profitieren. Das verkürzt die Time-to-Market erheblich.

Innerhalb dieser soliden Modellierungsplattform können Entwickler*innen in jeder Schicht der Architektur dennoch den klassischen Weg der Softwareentwicklung wählen. Denn A12 setzt auf gängige Open-Source-Standards, die sich bei Bedarf nutzen lassen. „Die Offenheit der mgm A12 Low-Code-Plattform ist grundlegend für die Umsetzung komplexer Enterprise-Software-Projekte. Man ist nicht in einem geschlossenen System gefangen, das schon bei wenigen komplexen Herausforderungen zum Problem wird”, betont Hamarz Mehmanesh, Gründer und Geschäftsführer von mgm technology partners.

Zudem ist die A12-Runtime-Plattform modular aufgebaut. Dies ermöglicht die Spezialisierung auf einzelne Disziplinen des Softwareentwicklungsprozesses, wie z.B. die Qualitätssicherung, innerhalb von A12-Projekten (siehe Abbildung „Spezialisiertes Software Engineering“).

Qualitätssicherung von modellbasierter Enterprise Software mit der mgm Low Code-Plattform A12

Enterprise Software, die auf der mgm A12 Low Code Plattform entwickelt wird, profitiert bei der Qualitätssicherung davon, dass die Komponenten bereits qualitätsgesichert sind. Individuelle Lösungen, die über A12 hinaus im Projekt umgesetzt werden, erfordern jedoch sinnvolle Maßnahmen zur Qualitätssicherung. Es ist erforderlich, sowohl die individuelle Lösung selbst als auch ihre Integration in den A12 Code zu testen.

Die Qualität in A12-basierten Projekten wird von Anfang an durch folgende Punkte sichergestellt:

  • Anforderungsanalyse und Definition der Teststrategie
  • Code-Review und Verifikation in den einzelnen Teams
  • Sicherheitsaspekte bei Code-Erstellung und -Review durch mgm-Sicherheitsspezialisten
  • Unit-Tests für alle Funktionen, analysiert mit SonarQube, einer Open-Source-Plattform für statische Code-Analyse und zur Überprüfung der technischen Qualität von Quellcode.
  • Entwicklungsinterne Integrationstests mit angrenzenden Produkten: Dies ist besonders wichtig für das Testen von Schnittstellen, die in A12-Produkten eine hohe Komplexität aufweisen können
  • Automatisierte End-to-End Tests z.B. mit QF-Test und ATA

Modellbasiertes Testen in A12

In modellbasierten A12-Projekten kann die Qualitätssicherung im Bereich der Fachmodelle die Testautomatisierung ganz anders einsetzen als in einem klassischen Softwareentwicklungsprozess. Bereits in der Modellierungsphase können Citizen Developer, Business Analysten und Modellierer mit Testdaten in sogenannten Ad-hoc-Tests komfortabel herausfinden, ob Validierungen und Berechnungen korrekt sind. Validierungsregeln können sich in den Dokumentenmodellen über mehrere Eingabefelder eines Formulars erstrecken und Berechnungsregeln können Inhalte verschiedener Felder kombinieren.

mgm-Katalog für Qualitätssicherung von modellbasierter Enterprise Software

Test Management und manuelles Testen

In der Regel verwaltet ein Test Management Tool (TMT) die Testfälle. Es steuert auch die Durchführung der manuellen Tests und der Regressionstests. Dr. Martin Varendorff, mgm Quality Team, erklärt: „In der Vergangenheit haben wir verschiedene Tools von Drittanbietern verwendet, um das Testmanagement für strukturierte manuelle und automatisierte Tests durchzuführen. Keines dieser Tools entsprach jedoch unseren Anforderungen, insbesondere was die Organisation der Qualitätssicherung von komplexer, langlebiger Unternehmenssoftware betraf. Unsere Qualitätssicherungs-Teams brauchten viel Flexibilität in Bezug auf die verschiedenen Kundenprojekte und deren Richtlinien, um unsere internen Entwicklungs- und Qualitätssicherungsprozesse zu unterstützen. Aus diesem Grund haben wir unser eigenes Test Management Tool (TMT) entwickelt, das wir jetzt einsetzen.“

Test Management Tool (TMT)

Mit dem Test Management Tool (TMT) können die Projektmitarbeiter

  • Testfälle erstellen,
  • nach Fachlichkeit aufteilen,
  • in Suiten strukturiert verwalten und
  • als Testläufe einplanen und ausführen.

Dabei verfolgen wir den Ansatz des Continuous Testing, bei dem manuelle Tests nicht nur periodisch für Major Releases durchgeführt werden, sondern als Teil der Continuous Delivery. Das TMT bietet hierfür unterstützende Features, wie beispielsweise die Versionierung von Testprojekten und Testfallbeschreibungen, um mehrere Softwarestände mit jeweils passenden Testfallversionen parallel testen zu können. Ebenso historisieren wir Testfälle, sodass bei Bedarf ein früherer Testablauf eingesehen und die Beschreibung wiederhergestellt werden kann.

Oberfläche in mgm Test Management Tool (TMT)

Für terminkritische Releases unterstützt das TMT eine retrograde Testplanung. Wenn der Termin für ein Release fixiert ist und sich nicht verschieben lässt, können wir ausgehend von diesem Termin rückwärts planen. Dann legen wir fest, wann die Tests beginnen müssen und in welcher Tiefe wir sie durchführen können, um den Termin einhalten zu können.

Retrograde Testplanung im mgm Test Management Tool (TMT)

Automatisiertes UI-Testen

Mit QF-Test verwenden wir bei mgm eine Software, mit der sich automatisierte GUI-Tests für das Web, Java, Windows und Android-Anwendungen erstellen, ausführen und verwalten lassen. Das Tool simuliert den Endbenutzer und führt automatisiert Testszenarien– auch komplexe – auf der Benutzeroberfläche einer oder mehreren Anwendungen durch. Im Gegensatz zum manuellen Testen, das zeitaufwändig und fehleranfällig sein kann, ermöglicht QF-Test eine zuverlässige automatisierte Durchführung von Regressionstests, die zu jeder Zeit beliebig oft wiederholt werden können. QF-Test lässt sich leicht bedienen, was den Einstieg in die Testautomatisierung vereinfacht. Die Implementierung und Pflege automatisierter Tests insbesondere Tests komplexer langlebiger Anwendungen erfordert allerdings technisches Wissen und Können.

Das Tool QF-Test ist ein Produkt der Quality First Software GmbH (QFS), einem der führenden Unternehmen im Bereich Testautomatisierung. Seit dem 1.9.2022 gehört QFS  zur mgm-Familie.

Automatisiertes modellbasiertes Testen

Felddefinitionen, Regeln und Berechnungen bilden das Herzstück der fachlichen Modellierung und stellen die Konsistenz und Vollständigkeit der Daten sicher. Gleichzeitig ermöglichen sie die Automatisierung des Prozesses für die Softwareerstellung und dienen als Grundlage für eine modellierte UI-Generierung mit gutem Benutzerkomfort. Die Validierungssprache der mgm A12 Low Code-Plattform wird seit vielen Jahren eingesetzt und kontinuierlich erweitert, um Regeln formal zu beschreiben und logische Fehler automatisch zu erkennen. Das Modellieren von Feldern, Validierungs- und Berechnungsregeln findet in den mgm A12 Datenmodellen statt. Sie lassen sich mit Hilfe des modellbasierten mgm Tools Qualle mit fachlichen Daten testen und auf Konsistenz und Vollständigkeit überprüfen. Widersprüche in großen Regelsätzen, die sich über mehrere Regeln hinweg erstrecken, sind ohne die Unterstützung dieser Tools schwer zu finden und zu analysieren. Hier ist besondere fachliche Expertise gefragt.

Testdatengenerator (TDG)

Die fachliche Form der Modelle erlaubt es, Testdaten automatisch zu generieren. Doch je umfangreicher und komplexer fachliche Modelle werden, desto aufwändiger wird die manuelle Bereitstellung von Testdaten. mgm hat deshalb den mgm A12 Testdatengenerator (TDG) entwickelt, der Testdaten aus den mgm A12-Datenmodellen für die entwicklungsbegleitende Qualitätssicherung vollautomatisch erzeugt. Die in den mgm A12-Datenmodellen definierten Felder, Regeln und Berechnungen werden zunächst in ein mathematisches Gleichungssystem überführt, das mit einem sogenannten SMT-Solver gelöst wird. SMT steht für „satisfiability modulo theories“ – ein Entscheidungsproblem, bei dem es um die Lösbarkeit logischer Gleichungen geht. Um die Testabdeckung zu erhöhen, werden dem Gleichungssystem Regeln hinzugefügt, die für den Test interessante Werte (z.B. Extremwerte) erzwingen, soweit dies mit den Validierungsregeln vereinbar ist.

Mit diesem Verfahren können Testdaten mit hoher Testabdeckung für sehr komplexe Modelle vollautomatisch erzeugt werden. Der mgm A12 TDG wird in der Qualle auch eingesetzt, um Widersprüche in den Regeln zu finden. Gerade in komplexen, fachlichen Modellen – etwa im steuerlichen Kontext oder bei umfangreichen Versicherungsprodukten – können sich Fehler einschleichen, die ein Mensch kaum entdecken kann.

A12 UI Automated Test Automation (ATA)

ATA ist ein Tool für die Low Code A12 UI-Testautomatisierung, welches aus den A12-Modellen den Code für die Testautomatisierung generiert. Zusätzlich übernimmt das Tool das automatisierte Ausfüllen und Überprüfen von Formularen auf der Benutzeroberfläche der dazugehörigen A12-Anwendungen. Es reduziert somit die Implementierungs- und Pflegeaufwände bei der Testautomatisierung von A12-Anwendungen erheblich.

Dipl. Informatikerin Lilia Gargouri, Entwicklerin des Tools und Projektmanagerin des mgm Quality Teams, erläutert: “Die UI einer A12 Anwendung entsteht aus A12 Daten- und UI-Modellen. Bei  Änderungen an der UI generiert ATA aus den geänderten A12-Modellen neuen Code für die Testautomatisierung. Die End-to-End automatisierten Tests können dann mit kaum Wartungsaufwand wieder ausgeführt werden. Das modellgetriebene Testautomatisierungstool ermöglicht somit die very early UI-Testautomatisierung, ohne in die Wartungsfalle automatisierter Tests zu geraten. Mit der Automatisierung der Testautomatisierung (ATA) können Unternehmen ihre Qualitätssicherung effektiver gestalten und wertvolle Zeit und Ressourcen sparen.”

Automatisiertes Security Testing

Security-Aspekte müssen von Beginn an im Entwicklungsprozess berücksichtigt werden. Mit der Security-Testing-Plattform mgm ATLAS lassen sich Tests automatisiert in den Prozess integrieren. mgm ATLAS ist eine effiziente und skalierbare Plattform für Sicherheitstests, die sich nahtlos in Entwicklungsprozesse integrieren lässt und automatisierte Tests ermöglicht. Die Plattform vereint verschiedene Analysen und kann beliebige Analysewerkzeuge orchestrieren. Der Aufruf beschränkt sich auf die Definition der benötigten Analysen in einer Konfigurationsdatei, die Ergebnisse werden in einer einheitlichen Oberfläche zusammengefasst. mgm ATLAS bietet frühzeitiges Feedback. Es ist flexibel und erweiterbar. Es deckt alle automatisch testbaren Eigenschaften einer Anwendung ab und unterstützt stets die neuesten Technologien. Die Plattform ist herstellerunabhängig, kostengünstig und bietet strategische Vorteile bei der Toolauswahl.

Load- und Performancetests

Bei mgm setzen wir auf eine umfassende Überprüfung der Performance und Stabilität von Anwendungen durch manuelle und automatisierte Last- und Performancetests. Natürlich testen wir auch unsere eigene A12-Plattform auf Laststabilität und Skalierbarkeit. Dabei nutzen wir unterschiedliche Testszenarien, um realitätsnahe Lastsituationen zu simulieren und Engpässe sowie Schwachstellen zu identifizieren. Darüber hinaus beraten und unterstützen wir unsere Kunden bei der Optimierung der Performance und Skalierbarkeit ihrer Anwendungen, um performante und stabile Systeme unter hoher Last bereitzustellen.

Fazit

Zusammenfassend lässt sich festhalten, dass die modellbasierte Softwareentwicklung neue Möglichkeiten eröffnet, um die Effizienz zu steigern und den wachsenden Anforderungen an Qualität gerecht zu werden. Die mgm A12-Modelle liefern wertvolle Informationen und ermöglichen die Entwicklung von Tools, die die Qualitätssicherung von A12-basierten Anwendungen erheblich verbessern. Dank der mgm A12-Technologie ist es möglich, auch bei komplexen, langlebigen Anwendungen eine hohe Qualität und Effizienz zu erreichen. Gleichzeitig werden die wachsenden Anforderungen nach kürzeren Entwicklungszeiten, geringeren Kosten und höherer Softwarequalität erfüllt.