Dokumentationssystem open Source

Doku-System Open Source

In vielen kleineren Unternehmen wird die Dokumentation mit einer Textverarbeitung wie Open Office Writer oder Word erstellt. OpenSource-Lösung für die IT-Dokumentation - Serveranwendungen Für die Dokumentierung von IT-Netzwerken haben wir eine Web-basierte Lösung für Sie erstellt und unter einer OpenSource-Lizenz veröffentlicht. Die Struktur entspricht den Vorgaben der ITIL und ermöglicht eine ausführliche Dokumentierung aller IT-Elemente. Ein nächster Schritt ist die Einbindung von NMS-Funktionen zur aktiven Überwachung der erfassten Anlagen. Bei Amazon ist die Firma Sonnos offensichtlich ein gutes Beispiel.

Andernfalls kann die Verfügbarkeit des Equalizers und des Equalizers nicht erklärt werden. In Deutschland stehen wir kurz davor, die Voraussetzungen für ein zukünftiges 5-G-Funknetz zu schaffen. Damit missbräuchliche Einkäufe im iTunes Store vermieden werden, will Apple in Zukunft für jedes einzelne Smartphone und jedes einzelne Smartphone ein Vertrauenspunktniveau berechnen.

Szenarioo: Automatische Dokumentierung mit Benutzeroberflächestests

Um ehrlich zu sein: Die Dokumentierung von Programmen ist langwierig und aufwendig. Keiner hat Zeit, die Unterlagen auf dem neuesten Stand zu bringen, so dass sie nutzlos werden. Eine effektive Weiterführung eines umfassenden Gesamtsystems ist ohne zuverlässige Unterlagen nur schwer möglich. Wir gehen mit dem Open-Source-Projekt Scenarioo[1] dieses Thema auf eine neue Weise an. Aus User Interface Test erstellen wir hochautomatisiert Dokumentationen für das Frontend.

Sie ist stets auf dem neuesten Stand, für jeden einsehbar, leicht zu verstehen und stellt eine Verbindung zwischen Business und Informationstechnologie als optimale Basis für eine effektivere Kollaboration und Verständigung dar. Der Aufwand für die manueller Wartung und Instandhaltung einer umfangreichen Dokumentationsarbeit steht in der Praxis meist kaum in einem guten Zusammenhang mit dem eigentlichen Einsatz. Aber wie kann man verhindern, dass die Softwareentwicklung durch fehlende oder unvollständige Dokumentationen ineffektiv wird?

Wodurch wird sichergestellt, dass Ihre Anwendung auch in wenigen Jahren von jemandem verstanden wird, so dass neue Funktionen effektiv in sie integriert werden können? Zahlreiche an der Umsetzung beteiligte Menschen haben das Unternehmen oder das Unternehmen aufgeben. Sie ist unvollständig und nicht auf dem neuesten technischen Niveau.

Die neuen Funktionen sollen so schnell wie möglich implementiert werden. Allerdings geht viel Zeit in das Verständnis des bestehenden Systems und die Entscheidung, welche Funktionen hinzugefügt, erweitert oder angepaßt werden müssen und wie. Die Funktionsweise des Use Cases "Produkt bestellen"? In diesem Anwendungsfall werden welche charakteristischen Benutzerprozesse von der Anwendung unterstüzt? Können Sie mir die aktuellen Bildschirmfotos des Anwendungsfalls "Neues Benutzer-Konto eröffnen" zusenden?

Welche sind die möglichen Variationen der UI-Maske "Pay" im Use Case "Order product" für die unterschiedlichen Kundentypen? Bei welchen Anwendungsfällen wird der Webdienst "GetDiscountForProduct" an jedem Ort und in welchen Prozessschritten abgerufen? Oftmals fehlen jedoch entweder der Zugriff auf ein geeignetes Prüfsystem, die entsprechenden Prüfdaten oder einfach das Know-how, wie man interagieren kann, um ein bestimmtes Phänomen auszulösen.

Es hat sich gezeigt, dass automatische User Interface Teste ein effektives Mittel sind, um nicht nur zu prüfen, sondern auch die Funktionalitäten von Softwares auf der Ebene der UI-Interaktion zu protokollieren. Im Softwaresystem mit komplexer Benutzeroberfläche werden UI-Tests bereits vielfach für Qualitätssicherungs- und Regressionstests verwendet. Unglücklicherweise führen diese Prüfungen oft ein schattiges Dasein und sind nur für Programmierer oder Testpersonen einsehbar, leicht zu verstehen und sinnvoll.

Durch das von Zühlke Mitarbeitern entwickelte Open-Source-Projekt Szenarioo steigern wir den Nutzwert dieser Prüfungen noch weiter, indem wir sie für alle Projektbeteiligten transparent machen. Dadurch wird eine klare und übersichtliche Darstellung der Funktionalität einer Anwendung mit jeweils aktuellsten Abbildungen der UI-Masken erreicht. Der folgende Übersichtsbildschirm veranschaulicht die Grundstruktur und Vorgehensweise zur Erstellung und Verwendung automatisierter Dokumentationen aus UI-Tests mit Szenarioo.

In den nachfolgenden Abschnitten werden die Einzelschritte und Bestandteile der Gesamtdokumentation mit Szenarioo im Detail erläutert. In jedem von der Simulationssoftware unterstützten Anwendungsfall werden die für die jeweilige Anwendung wichtigen Benutzerszenarien erläutert und mit einem Testfall erprobt. Wie die so getesteten Testfälle eines Use Case schließlich in der Szenarioodokumentation in der Use Case Übersicht angezeigt werden, soll das folgende Beispiel zeigen.

Es ist wichtig, dass die UI-Tests für die Dokumentationen aussagekräftig aufgebaut sind. Die Gliederung in Use Cases hat sich als Basisstruktur erwiesen. Für jeden Anwendungsfall stellen wir Ihnen die wesentlichen Testfälle vor. In jedem Fall wird ein wesentliches Anwenderszenario beschrieben, d.h. ein vollständiger Benutzerfluss durch den Anwendungsfall. In der Regel gibt es ein Hauptszenario mit der einfachsten Bewegung und mehrere andere Alternativszenarien mit Sonderbewegungen und auch Fehlerfälle.

Über sogenannte "Labels" können die Einsatzszenarien für die Dokumentierung gekennzeichnet und zusammengefasst werden. Außerdem ist es von Bedeutung, nur die für die jeweilige Benutzerdokumentation wichtigen Benutzerszenarien zu selektieren und zu erproben. Es sollten sowohl Prüfungen als auch Dokumentationen in einem gesunden Maß und so angelegt werden, dass die grundlegenden Anwenderszenarien abgebildet werden.

Deshalb werden hier zwei Vögel mit einer einzigen Waffe geschlagen, denn eine aussagekräftige Testhülle geht sehr gut einher mit einer aussagekräftigen Unterlage. Je nach Umfang eines Use Cases sind dies in der Praxis in der Praxis nicht mehr als 3-15 Testszenarien. Wenn dies nicht ausreicht, sollten Sie überprüfen, ob die ausgewählten Use Cases in der Doku vernünftig ausgeschnitten sind.

Es sollte auch vermieden werden, dass komplizierte Geschäftsregeln falsch in Benutzeroberflächestests und nicht in angemesseneren Komponententests erprobt werden. Das ist in der Regel ein wesentliches Konstruktionsprinzip für Benutzeroberflächestests, auch im Sinn der Testpyramide[3]. In einem automatischen Build-System (z.B. Jenkins, Team City, etc.) werden die Prüfungen durchgeführt und zumindest jede Nach durchlaufen.

Auch bei der Durchführung wird die Dokumentierung angelegt. In jedem Interaktionsabschnitt wird ein Abbild der Benutzeroberfläche der Anwendung erzeugt und gespeichert. Darüber hinaus werden für jeden Arbeitsschritt, jedes Szenario und jeden Anwendungsfall zusätzliche Daten in Form von ausführlichen Texten in Form von ausführlichen Texten in Form von Texten gespeichert. Dazu werden den Testfällen entsprechende Haken hinzugefügt, die die Szenarioo Docu Schreibbibliothek verwenden, um die Dokumentdaten als Datei im Szenarioo-Format zu speichern.

Jeden Abend wird eine aktuelle Dokumentationserstellung erstellt. Es werden mehrere Dokumentationsstatus (= Builds) durchlaufen. Darüber hinaus werden mehrere Dokumentierungen für unterschiedliche Entwicklungsstatus (= Zweige) erstellt. Kernstück von Scenarioo ist die Webanwendung, die allen Teilnehmern die erzeugten Dokumentationsunterlagen aus den Builds übersichtlich darstellt und sie anwenderfreundlich navigierbar aufbereitet. Sie können durch die Anwendungsfälle und deren Szenarios navigieren.

Sämtliche Daten können bequem recherchiert werden, so dass der Viewer schnellstmöglich auf seine Wunschanwendungen, Einsatzszenarien, Bildschirme und andere Daten zurückgreifen kann. Nachfolgend sind die wesentlichen Sichten auf ein Drehbuch und ein Szenarioschritt am Beispiel des Anwendungsfalles "Suchseite auf Wikipedia" dargestellt: Dieses Beispiel einer Dokumentationsbeispiel für die Wikipedia-Webanwendung entstammt der Demonstration von Scenarioo.

Die folgende Abbildung gibt einen zusammenfassenden Überblick über das Szenario-Dokumentationsmodell. Branche: Unterschiedliche Produktausführungen, Freigaben oder auch Feature-Branchen können getrennt voneinander erfasst werden. Mehrere Dokumentversionen können in jedem Zweig gespeichert werden (typischerweise jede Nacht). Anwendungsfall: Die geprüften und protokollierten Anwendungsfälle. Szenario: Die tatsächlichen Testfälle stellen die für jeden Anwendungsfall relevanten Benutzerszenarien dar.

Jeden Arbeitsschritt dokumentieren wir mit einem Screenshots. In Szenarioo sind mehrere Arbeitsschritte auf der selben Seite zusammengefasst. Etikett (=Tag): Ein Etikett ist ein anhängendes Schlüsselwort, mit dem die Anwendungsfälle, Einsatzszenarien und nicht zuletzt die Einzelschritte besonders gekennzeichnet und eingestuft werden können. Detailinformationen (= alle anderen Zusatzinformationen): Alle zusätzlichen Informationen können bei jedem Arbeitsschritt gespeichert werden, wie z.B. HTML-Code, Benutzerrolle, Testkonfiguration, Systemaufrufe, Link zum Quellcode, Link zu anderer Dokumentation.

Diese zusätzlichen Angaben können auch an andere Objekte (z.B. an den Anwendungsfall oder das Szenario) in der zugehörigen Konfigurationsdokumentation anhängt werden. Szenarioo legt nahezu keine Grenzwerte fest, welche Daten in der Dokumentierung automatisch gespeichert oder verlinkt werden können. In einigen Beispielen haben wir beispielsweise folgende hilfreiche Daten darin gespeichert oder verlinkt und allen zur Verfügung gestellt: Ausgangspunkt für ein Testszenario: Testsystemkonfiguration, Testergebnisse, Benutzerrolle, etc.

Backlog-Items, die zunächst die Dokumentation der Benutzerszenarien (= Testfälle) festgelegt oder beeinflußt haben. Szenarioo ist natürlich nur ein Puzzlestück in der Lebenden Dokumentation Ihres Programmsystems, im Sinn von "Specification by Example" nach dem Werk von Gojko Adzic[2]. In der Szenario-Dokumentation wird nur der aktuelle Stand der Funktionalität einer Anwendung auf der Stufe der Benutzeroberflächen-Interaktionen beschrieben.

Daher sollte Szenarioo mit anderen Werkzeugen zu einem lebendigen Dokumentationssystem verknüpft werden. Nachfolgend finden Sie einige weitere praxiserprobte Werkzeuge, die mit Szenarioo kombinierbar sind: In der Schwerpunktgruppe "Specification by Example" von Zühlke geht es uns vor allem darum, wie wir unsere Software-Lösungen durch die gekonnte Verknüpfung solcher Werkzeuge mit modernen Anforderungsanalysemethoden so zielgerichtet und wirkungsvoll wie möglich konkretisieren und protokollieren können.

Durch eine automatisierte Szenario-Dokumentation konnte der Arbeitsaufwand für die manuellen Dokumentationen in unseren Beispielen verringert werden. Durch die Szenariendokumentation sind die User Interface Teste nun für alle Teilnehmer ersichtlich. Anforderungsingenieure, Business-Analysten, Produktmanager, Produktbesitzer und Testpersonen können die Prüfungen leicht überprüfen und wertvolles Know-how über die automatischen UI-Tests liefern.

Dadurch wird die Testqualität verbessert. Geschäftsanwender oder Experten können auch Rückmeldungen zu neuen Funktionen abgeben, noch bevor sie auf einem Prüfsystem zur Verfügung stehen. Sogar das Entwicklerteam nutzt oft die Scenarioo-Dokumentation. Beispielsweise kann ein Programmierer mit Hilfe von Szenarioo einen Schnellzugriff auf eine anpassbare Benutzeroberfläche suchen oder überprüfen, ob bei der weiteren Entwicklung etwas unbeabsichtigt in der Anzeige geändert wurde.

Endlich haben alle Teilnehmer Zugang zu einer gemeinsamen und aktuellen Dokumentierung der implementierten Funktionen. Wir haben Ihr Interessensgebiet für Szenarioo und automatische Dokumentationen erregt? Würde eine Szenario-Dokumentation auch in Ihrem Vorhaben ausreichen? In Kürze wollen wir Ihnen mehr über Szenarioo und den Aufbau eines solchen Dokumentationssystems im Einzelnen erörtern.

Mehr zum Thema