Aktuelles

Neues Release 3.47
Compex präsentiert neues Release der Standard Handelssoftware Compex Commerce lesen...

Mit Compex Commerce durch den EU-Steuerdschungel
Neue erweiterte abgabenorientierte Funktionen in Compex Commerce lesen...

Databased Publishing
Mit Compex Commerce Handzettel, Kataloge oder Preislisten kosteneffizient hausintern und extern produzieren lesen...

Model Driven Testing Automatisches Testmanagement in Compex Commerce integriert lesen...

Model Driven Testing

Automatisches Testmanagement verbessert die Qualität in Softwareprojekten und schont Ressourcen

Die Compex Systemhaus GmbH erweitert ihr 2BEE® Konzept um das Model Driven Testing (MDT) zwecks Implementation ihrer Standard Handelssoftware Compex Commerce. Das erste BEE beschreibt das Vorgehensmodell beziehungsweise die Methodik (Best Enterprise Engineering), um Compex Commerce erfolgreich zu implementieren. Das zweite BEE (Business Engineering Environment) stellt im Rahmen des in Compex Commerce integrierten Business Process Managements die auf das Vorgehensmodell beziehungsweise die Methodik abgestimmten Werkzeuge zur Verfügung, die es ermöglichen, die im Projekt gewonnenen Erkenntnisse direkt in der Anwendungslösung umzusetzen. Dazu zählt beispielsweise die Workflowmodellierung.

Software für Prozessmanagement in Handelssoftware integriert

Der Kernprozess der Softwareimplementation ist das Anpassen der Standard Software auf die individuellen Bedürfnisse des Anwenders (Customizing, Parametrisierung oder Modifikation). Dies ist so gestaltet, dass der Anwender vom Groben zum Feinen geführt wird. Konkret bedeutet dies, dass der Anwender zuerst das Organigramm, dann die Rollen der Stelleninhaber und anschließend deren Workflows bis hin zu den notwendigen Einstellungen im Datenmodell, in den Bildschirmmasken sowie den Reports chronologisch durchführt.

Dabei lassen sich die bereits im Standard Referenzmodell vorliegenden Geschäftsprozessvarianten direkt mittels des Business Engineering Environments gemeinsam mit dem Anwender nutzen. So kann sich der Anwender ein Gesamtbild machen. Seine Änderungswünsche lassen sich bereits in dieser groben Phase berücksichtigen und sofort mittels des Werkzeugs in einem Prototyp modellieren sowie dokumentieren.

Schlüssel zum Projekterfolg

Neu ist, dass bereits vor der Realisierung die Dokumentation und die Erstellung der Testszenarien im Anpassungsprozess integriert sind. Von Anfang an ist so jeder Änderungswunsch mit den notwendigen Informationen angereichert, um die implementierte Anpassung konkret testen zu können. Der Grund ist, dass die Anwendungsqualität wesentlich von der Qualität der vorliegenden Testdaten und Testszenarien abhängt.

Der Vorteil der eingebundenen Beschreibung sowie modellgerechten Formalisierung der Testdaten und Testszenarien ist, dass der Anwender bei der Konzeption der Tests sich nochmals im Klaren darüber ist, ob seine Anforderungen vollständig und stimmig formuliert sind. Konzeptlücken fallen schneller auf, wenn der Anwender praxisgerechte Testszenarien eingibt. Pünktliche Terminabgaben werden unterstützt, da im Testbetrieb weniger "nachprogrammiert" werden muss.

Dem Softwareentwickler gibt es die Möglichkeit, bereits bei der zeitlichen Planung den Testumfang besser einzuschätzen und zu kalkulieren. Weiterhin kann er durch konkrete Vorgaben der Testdaten und Testfälle performancerelevante Erkenntnisse bekommen, die er bei der Kodierung berücksichtigen kann. Auch dies wird zu weniger Störungen bei der Abnahme der Software durch Nachbesserungsarbeiten führen.

Die Testszenarien lassen sich als Schulungsunterlagen ausdrucken oder in Form eines e-Learnings flexibel einsetzen. Damit kann die Anwendung gemäß den erforderlichen und getesteten Benutzungswegen entlang einer flachen Lernkurve geschult werden.

Um die obigen Vorteile erzielen zu können, ist das MDT wie folgt organisiert und strukturiert:

Die Organisation der Testszenarien orientiert sich an den Geschäftsprozessen. Um eine dem Geschäftsmodell angepasste möglichst vollständige Abdeckung kritischer Geschäftsprozesse der Anwendungslösung zu gewährleisten, werden Testfälle für den Gesamtprozeß, eine Maske, eine Aufgabe, einen Vorgang und einen Workflow eingefordert. Dabei gliedert sich ein Test in:

Testinitialisierung:
Zwei Arten von Tests sind möglich. Entweder wird ein zuvor "eingefrorener" Datenbankzustand genutzt oder es liegen Daten aus einem bereits vorherigen Testlauf vor, die als Grundlage dienen.
Aufzeichnung des Testszenarios (Benutzereingaben und Referenzdaten):
Die Testszenarien beschreiben die Eingaben eines Anwenders im Dialog, inklusive der Aufzeichnung der anfallenden Daten. Gegebenenfalls sind die direkt aufgezeichneten Daten aufgrund von Vorgaben eines gewünschten Ergebnisses durch den Anwender zu ergänzen. Im Gegensatz zu früheren manuellen Beschreibungen werden die Testvorgaben direkt in der Anwendung mit einem Recorder aufgezeichnet und in Form von Python-Testskripten gespeichert.
Abspielen des Testszenarios mit Aufzeichnung von Testdaten:
In der Test-Suite findet die Verwaltung der zuvor genannten Testskripte statt, die sich dort jederzeit und beliebig häufig abspielen lassen. Bei jedem "Lauf" werden Daten aufgezeichnet, die der Anwender im nächsten Schritt zur Testbewertung heranzieht. Ähnlich wie in einem Debugger, kann der Anwender beim Abspielen eines Testszenarios den Ablauf verfolgen und steuern. So lassen sich die Testszenarien in allen Phasen des Softwarelebenszyklus nutzen.
Bewertung der Testdaten:
Die Ausführung eines automatischen Tests überwacht ein integrierter Test-Leitstand, der Abweichungen vom erwarteten Resultat zurückmeldet. Über den Testleitstand ist der Anwender in der Lage die protokollierten Tests so auszudrucken, dass der Testverlauf bis zur Feldeingabe und dem erzielten Ergebnis nachvollziehbar ist.

Beginnend mit der Konzeptphase kann mit dem integrierten MDT die Softwarequalität gesteuert werden. Voraussetzung ist, dass das 2BEE Konzept auch konsequent zum Einsatz kommt. Da die automatisierten Tests beliebig häufig wiederholbar sind, lassen sie sich immer wieder auf die geänderte Software anwenden. Dies gewährleistet nicht nur eine gleichbleibende, sondern auch eine verbessernde Softwarequalität, da jedes mit der Zeit hinzukommende Testszenario diese erhöht.

"Für uns als Kunden bedeutet dies ein Zugewinn an Geschwindigkeit, Sicherheit und Kostenreduktion in Softwareentwicklungsprozess", erklärt René Petit, Finanzvorstand Coop Elsaß.

Die Vorteile der Test Suite nochmals im Überblick:

In den Anpassungsprozess integrierte Testszenarienerstellung
Frühzeitiges Erkennen von Nebeneffekten in der Softwareentwicklung
Unendlich oft vollautomatisch wiederholbare Tests
Besserer ROI für die Testszenarienerstellung
Effiziente und gleichbleibende Testqualität
Sofortige Aussagen über die Testabdeckung und den Testerfolg sowie -misserfolg
Verkürzung der Einführungszeit (Time to Market)
Vollständig und stimmig formulierte Anforderungen
Weniger ‚Nachprogrammierung'
Unterstützen der pünktlichen Abgabe
Kontinuierlicher Regressionstest
Gewährleistung einer sich verbessernden Softwarequalität