Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorgetragen von Anton Afanasjew

Ähnliche Präsentationen


Präsentation zum Thema: "Vorgetragen von Anton Afanasjew"—  Präsentation transkript:

1 Vorgetragen von Anton Afanasjew
Diplomarbeit Konzeption und Entwicklung einer Testfactory-Komponente für die automatisierte Ausführung von Testverfahren Vorgetragen von Anton Afanasjew

2 PASS Consulting Group Internationales Beratungs- und Softwarehaus
Aufgabengebiet: IT-Beratung, Softwareentwicklung und Projektmanagement Branchen: Banken, Versicherungen, Touristik, Industrie, Telekommunikation und IT Mitarbeiter: ca. 550 Diplomandenbetreuung in der „Research & Development“-Abteilung

3 Entwicklungsinfrastruktur
Virtual Software Factory (VSF) Komponentenbasierte Entwicklungsinfrastruktur Unterstützt modellgetriebene Softwareentwicklung Entwicklungsframeworks als Teile der VSF Ultra-Thin-Client-Framework für die Entwicklung von Web-Anwendungen

4 Situation Entwicklung von Webanwendungen mit Hilfe der MDSD-Ansätze
Modellierung der Webanwendungen Generierung des Quellcodes mit dem UTC-Framework Implementierung von Activities, den manuellen Codeteilen Testen der entwickelten Anwendungen Funktionale Tests Regressionstests

5 Problem Funktionale Tests Browserbasierte Oberflächentests
Mühsame Testerstellung Noch mühsamere Testausführung Viel Routinearbeit für Testabteilung Zeitintensiv und fehleranfällig

6 Lösung Testfactory-Komponente für VSF/UTC
Teilweise Ableitung der Testfälle, Testdaten und Zusicherungen aus den Modellen der Webanwendung Erstellung der Testskripte für das zugrundeliegende Testtool Selenium Steuerung des Testtools beim automatisierten Ausführen der Tests Analyse der Testergebnisse

7 Aufgaben der Testfactory
Testerstellung Unterstützung der Tester bei der Testerstellung. Testfallsuche Vollständige Erstellung der Testskripte auf Basis von Testereinstellungen und der Analyse der Anwendungsmodelle Testausführung Steuerung des Testtools Erweiterung des Testtools Testauswertung Vergleich zweier Programmstände Testdatenablage Verwaltung von Tests Verwaltung von Testergebnissen Beziehungen zw. Tests und Testergebnissen

8 Testerstellung (1) - Pfadsuche
Darstellung der Prozesse und Dialoge der Anwendung unter Test als gerichteter Graph Erweiterung des Graphen um dynamische Elemente Pfadsuche auf Basis der graphentheoretischen Tiefensuche Berücksichtigung der Überdeckungswünsche des Testers (Dialog, Zweig, Pfadüberdeckung) Möglichkeit des Ausschlusses einzelner Dialoge/Prozesse aus der Suche Generierung der Pfadmodelle aus den Modellen der Anwendung

9 Beispiel 2 Prozesse Knoten entsprechen den Dialogen der Anwendung
Startknoten für jeden Prozess Ein Startprozess Knotenübergänge innerhalb von Prozessen Prozesswechsel Zielknoten bei Prozesswechseln dynamisch berechnet Pfadsuche liefert folgende Knotenfolgen: (1-2), ( ), ( ), ( ), ( ), ( ), ( ), ( )

10 Pfadsuche: Klassendiagramm
ProcessPool: Gesamtgraph ProcessGraph: Teilgraph für einen Prozess Node: Graphknoten Edge: statische (prozessinterne) Kante DynamicEdge: Prozesswechselkante EgressEdge: Knotenübergangsbeschreibung Path: Pfad als Folge von Knotenübergängen PathList: Liste aller Pfade

11 Testerstellung (2) - Testdaten
Definition von Wertemengen für Eingabefelder Testdaten sind Eingabewerte, aber auch Zeilenauswahl beim Klick auf einen Detail-Eintrag in einer Master-Tabelle Zuweisung der Wertemengen zu den Dialogfeldern Kombination von Wertemengen unterschiedlicher Felder für die Überdeckung aller Eingabemöglichkeiten in einem bestimmten Kontext Generierung der Testdatensatzmodelle

12 Beispiel: Kombination von Wertemengen
Datensätze Joins

13 Testerstellung (3) - Zusicherungen
Zusicherung von Feldinhalten Zusicherung = Vergleich der Ist/Soll-Werte Vergleichsausdrücke mit Feldreferenzen Angabe der Zusicherungsart Angabe des Auslösers Ergebnis => Zusicherungsmodell

14 Testerstellung (4) - Testskripte
Pfade, Daten, Zusicherungen als Eingabemodelle Definition manueller Testblöcke für individuelles Testverhalten Generierung der Skripte für das Testtool

15 Testausführung(1) - Testtoolerweiterung
Erweiterung von Selenium Implementierung der Fehlerkategorisierung Implementierung von Vergleichsfunktionen Auflösung von Vergleichsausdrücken Definition von Selenium-Ausnahmen

16 Ausnahmenhierarchie

17 Testausführung(2) – Produktion von Testergebnissen
Implementierung von vorzeitig abgebrochenen Tests Behandlung von gescheiterten Tests (Gescheitert im Sinne eines unerwarteten Fehlers oder Nichterfüllung einer kritischen Zusicherung) Kommunikation der Ergebnisse an den Auswertungsserver in Form von XML-Dokumenten

18 Testauswertung Serveranwendung für den Empfang der Testergebnisse vom Testtool Vergleich der Testergebnisse unter Berücksichtigung der Gewichtung Möglichkeit der Gewichtung von Fehlerkategorien Statistik über die Änderung der Fehlerquote bei zwei Applikationsständen

19 Testdatenablage Versionisierung und Speicherung der Pfad-, Daten, Zusicherungsmodelle Testskripte als Ergebnisse der Kombination dieser Modelle Liste der Testergebnisse pro Kombination Beispielimplementierung auf Basis vom Dateisystem

20 Weiterentwicklung (1) – Erweiterung der Testerstellung
Pfadsuche Manuelle Definition von Pfaden Finden der Teilpfade Schleifendurchläufe Testdatengenerierung Generierung der Grenzwerte und Zufallswerte Aufteilung der Wertebereiche in Äquivalenzklassen Definition von Zusicherungen Einbinden neuer Vergleichsfunktionen und Fehlerarten Sprache für einfache Erzeugung der Vergleichsausdrücke Skriptgenerierung Eingabe der Reihenfolge für Skriptkommandos Abstraktion vom Testtool und Unterstützung anderer, ähnlicher Tools

21 Weiterentwicklung (2) – Sonstiges
Anhängen von Modulen für die Testauswertung z.B. grafische Darstellung der Testergebnisse Optimierung der grafischen Benutzeroberfläche Integration der Testdatenablage in die Testfactory

22 Fazit Die Testfactory… …liegt in der Version 1.0 vor
…ist in die Virtual Software Factory als Komponente integriert …reduziert den Aufwand beim Erstellen, Ausführen und Auswerten von funktionalen Tests …wird gegen zwei Kundenprojekte getestet (ein Flugticketbestellsystem und eine Memoverwaltunganwendung) …wird in der R&D-Abteilung des Unternehmens weiterentwickelt

23 Danke für die Aufmerksamkeit!
Ende Danke für die Aufmerksamkeit!

24 Fragen ???


Herunterladen ppt "Vorgetragen von Anton Afanasjew"

Ähnliche Präsentationen


Google-Anzeigen