Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Diplomarbeit Konzeption und Entwicklung einer Testfactory-Komponente für die automatisierte Ausführung von Testverfahren Vorgetragen von Anton Afanasjew."—  Präsentation transkript:

1 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 Wertemengen Joins Datensätze

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 Ende Danke für die Aufmerksamkeit!

24 Fragen ???


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

Ähnliche Präsentationen


Google-Anzeigen