Die Einführung der Tosca-Testsuite™ - ein Praxisbericht

26
Stand: Juni 2012 • Copyright 2012 • C1 SetCon GmbH – Ein Unternehmen der C1 Gruppe • www.c1-setcon.de Ihr Partner für Software Engineering & Test Consulting Die Einführung der Tosca-Testsuite™ - ein Praxisbericht

Transcript of Die Einführung der Tosca-Testsuite™ - ein Praxisbericht

Stand: Juni 2012 • Copyright 2012 • C1 SetCon GmbH – Ein Unternehmen der C1 Gruppe • www.c1-setcon.de

Ihr Partner für Software Engineering & Test Consulting

Die Einführung der Tosca-Testsuite™ - ein Praxisbericht

© C1 SetCon 2012

C1 SetCon GmbH

Kapuzinerstr. 7a

80337 München

Telefon +49 (0)89 589399-0

Telefax +49 (0)89 589399-25

Mobil +49 (0)176 12303034

[email protected]

www.c1-setcon.de

STEFAN BLINDZELLNER

Senior Consultant

Kontakt

2

© C1 SetCon 2012

Die Einführung der Tosca-Testsuite™ - ein

Praxisbericht

Gliederung:

1.Beschreibung des Projektumfelds

2.Zielsetzung der Tooleinführung

3.Evaluierung verschiedener Werkzeuge

4.Tosca-Einführung – Phase 1

5.Tosca-Einführung – Phase 2

6.Tosca-Einführung – Phase 3

7.Potentielle Aufwandstreiber / Projektrisiken

3

© C1 SetCon 2012

Das Projektumfeld

Heterogene Organisationsstruktur

Ca. 25 Mitarbeiter, aufgeteilt in 6 Test-Teams, dazu einige „Sub-Teams“

und Einzelkämpfer

Mitarbeiter

Wenige technisch versierte Mitarbeiter

Viele Mitarbeiter mit gering ausgeprägter technischen Affinität

Ausgeprägtes Wissen über Fachlichkeit

Einige Kopfmonopole (= minimale Dokumentation)

Kaum Englischkenntnisse

Testverfahren

Überwiegend Blackbox-Test

Datengetriebener Test

Oberflächentest

Vielfältiger Technologieeinsatz: Web, Host, Datenbank, SAP, VB, etc.

„Gefühlte“ Testabdeckung

4

© C1 SetCon 2012

Zielsetzung

Einführung eines oder mehrerer Testwerkzeuge zur Lösung folgender Aufgaben:

Abbau von Kopfmonopolen

• Allgemein verständliche und zugängliche Testfälle

• Allgemein verständliche und zugängliche Dokumentation

Aufbau eines teamübergreifenden Testmanagement-Prozesses

• Verbesserung des Zusammenspiels der einzelnen Testteams

• Erkennen des teamübergreifenden Testfortschritts

• Ermöglichung eines teamübergreifenden Reporting

Installation eines Integrationstestprozesses

• Erzeugung von teamübergreifend zugänglichen und bearbeitbaren Testfälle

• Synchronisation von Testfällen und –ausführungen

Automatisierung des Regressionstests soweit vertretbar

5

© C1 SetCon 2012

Erwartete Stolpersteine

Geringe Motivation bzw. Wiederstände seitens der Mitarbeiter:

Ausgesprochen:

• Teamintern eingespielte Abläufe werden zerrissen

• Bestehende Dokumentation muss aufgegeben werden

• „Schon wieder neue Werkzeuge, die erlernt werden müssen!“

• „Ich habe keine Zeit, ich muss testen!“

• Automatisierung = Programmierung => komplette Überforderung

Unausgesprochen:

• „Besitzstandswahrung“ bei Einzelkämpfern (Kopfmonopole)

• Kein Wille zur Transparenz

Technisches Umfeld:

• Heterogene Technologie-Landschaft (Host, Web, Java, SAP, DB, VB, …)

• Kein direkter Zugriff auf Entwickler => keine technische Unterstützung

6

© C1 SetCon 2012

Werkzeug-Evaluierung

Kriterien für die Evaluierung:

Akzeptanz: Tool muss durch Fachtester nutzbar sein

• Einfache, verständliche Darstellung

• Verständliche Testfallsprache

• Deutschsprachige Oberflächen und Handbücher

Unterstützung von anforderungsbasiertem Testen

Revisionssicherheit

„Gleichberechtigte“ Darstellung manueller und automatisierter Testfälle

Teilautomatisierung von Testfällen muss möglich sein (unterstützt die schrittweise Automatisierung des manuellen Testfallbestandes)

Robustheit und Wartbarkeit von Testfällen

Angemessenes Verhältnis zwischen „Fachtester“ und „Techniker“

Technisches Wissen darf nur punktuell notwendig sein

Optimal: 1 „Techniker“ -> 2 „Profis“ -> 7 „Fachtester“

7

© C1 SetCon 2012

Tosca-Einführung: Vorbereitung

Schneiden der Einführung in verschiedene Phasen

Phase 1

Einführung in Team mit hoher technischer Affinität und hohem zu erwartendem

Automatisierungsgrad

Ziele:

Genereller und projektspezifischer Wissensaufbau zur Toolnutzung

Wissens- und Erfahrungsaufbau zur Testautomatisierung

Identifizierung der Aufwandstreiber

Phase 2

Einführung in Teams mit geringer technischen Affinität, niedrigem

Automatisierungsgrad jedoch gut definiertem Testprozess und ausgeprägter

Dokumentation

Ziele:

Identifizieren des Aufwands für den Import von Testartefakten

Einbinden von Tosca in vordefinierte Arbeitsprozesse

Vereinheitlichung der Testfalldokumentation

Phase 3

Einführung in allen verbleibenden Teams

Ziel: Konsolidierung der Tosca-Nutzung 8

© C1 SetCon 2012

Tosca-Einführung: Vorbereitung

Vereinbarte Vorgaben, die das Schneiden der Phasen beeinflussten:

Bereits im Verlauf der Tooleinführung muss sich eine signifikante

Verbesserung der Testdurchlaufzeit erkennen lassen.

Bereits im Verlauf der Tooleinführung muss ein teamübergreifender

Arbeitsprozess erkennbar sein.

Lizenzen werden pro Phase gekauft. Nur nach erfolgreichem Abschluss einer

Phase können die nächsten Lizenzen geordert werden. Zudem werden

Lizenzen für Tosca-AddIns (Requirement, TestCaseDesigner) nur in geringer

Anzahl bereit gestellt. Erst durch Nachweis erfolgreicher (sinnvoller)

Nutzung können weitere Lizenzen nachgeordert werden.

9

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Aufgabe:

Tosca-Einführung in ein Testteam mit hoher technischer

Affinität und hohem zu erwartendem Automatisierungsgrad

Ziele:

Genereller und projektspezifischer Wissensaufbau zur Toolnutzung

Wissens- und Erfahrungsaufbau zur Testautomatisierung

Identifizierung der Aufwandstreiber

Umfang:

Dauer: 3 Monate

Betroffene Mitarbeiter: 5

10

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Durchgeführte Maßnahmen (1/4):

Durchführung einer projektspezifisch angepassten Schulung „TOSCA

Certified User Foundation Level” für alle betroffenen Mitarbeiter der

Phasen 1 und 2

11

Lessons Learnt:

Für technisch versierte Mitarbeiter war die Schulung zu oberflächlich

Für wenig technikaffine Mitarbeiter waren die Schulungsinhalte zu komplex

Die Teilnehmer zukünftiger Schulungen und Workshops werden homogener

zusammengestellt

Zukünftige Schulungsinhalte werden präziser auf den Teilnehmerkreis

abgestimmt

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Durchgeführte Maßnahmen (2/4):

Erarbeiten von Ordnungsstrukturen und Workflows in Hinblick auf

• Transparenz und Verständlichkeit (Abbildung fachlicher Informationen und

Zusammenhänge)

• Wiederfindbarkeit (auch technische Testartefakte, z.B. Module)

• Abbildung von Abhängigkeiten zwischen Testfällen

• Reporting des Testvorbereitungs- und Testdurchführungsstatus

o teamintern

o Teamübergreifend

• Übergang vom aktuellen Test zum Regressionstest und wieder zurück

• Definition von Benutzerrechten, um gegenseitiges Überschreiben von

Testartefakten (auch Module und wiederverwendbare Testschrittblöcke) zu

verhindern, aber gemeinsames Bearbeiten zu unterstützen.

• Archivierung und Versionierung der Testartefakte (auch

Ausführungsergebnisse)

• Definition von Namenskonventionen (z.B. Testfalltitel, projektspezifische

Felder)

12

Ergebnis:

Frustration : Alles wird plötzlich viel komplexer als vorher

Unsicherheit: Können die Arbeitsprozesse tatsächlich gelebt werden

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Durchgeführte Maßnahmen (3/4):

mehrwöchige “Testphase” unter realen Projektbedingungen:

• Test der definierten Ordnungsstrukturen auf Praxistauglichkeit

• Test der definierten Arbeitsprozesse auf Praxistauglichkeit

• Entwicklung eines Automatisierungskonzepts

o Auswahl und Priorisierung der zu automatisierenden Testfälle

o Bereitstellung bzw. Generierung von Testdaten

o Wiederverwendbarkeit von Testartefakten

o Festlegung von Namenskonventionen

o Testadministration

• Spüren der „Wartungsfalle“

• Aufspüren der Tosca-Grenzen

Durchführung eines Entwickler-Workshops

• Erarbeitung von Entwickler-Richtlinien als Basis der Testautomatisierung,

z.B. Verwendung von eindeutigen Technical-ID‘s

Dokumentation der gewonnenen Erkenntnisse

• In Form von nutzungsspezifischen Anwenderhandbüchern

13

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Durchgeführte Maßnahmen (4/4):

Regelmäßige Jour-Fixes aller „Tosca-Beteiligten“

• Erfahrungsaustausch und gegenseitige Hilfestellung

• Vorbereitung eines Tricentis-Workshops

Projektspezifischer Workshop mit Tricentis:

• Klärung aller während der Pilotphase entstandenen technischen Fragen

• Abstimmung der definierten Arbeitsprozesse und Ordnungsstrukturen

hinsichtlich langfristiger „Lebbarkeit“

• Diskussion und Planung von „Custom Controls“

14

Ergebnis:

„Steile Lernkurve“ in der Tosca-Bedienung

Sinkender Aufwand für Testfallautomatisierung

Steigende Gewissheit, dass die erarbeiteten Strukturen und Abläufe in der Praxis

funktionieren werden

© C1 SetCon 2012

Tosca-Einführung: Phase 1

Fazit der Phase 1

„Einführung in Team mit hoher technischer Affinität und hohem zu erwartendem

Automatisierungsgrad“

Tosca-Nutzung geht den Teammitgliedern flüssig von der Hand

Testautomatisierung macht gute Ergebnisse, die Dauer der Testdurchführung

konnte bereits deutlich reduziert werden

ABER: Die „Wartungsfalle“ schlägt schon jetzt zu!

Es wurden einige Aufwandstreiber und „Zeitfresser“ identifiziert:

Höhere Anzahl von automatisierten Testfällen als erwartet

Grund: keine Bedingungen, keine Schleifen (ohne TCD)

Konfiguration von Adaptoren, Engines und Keywords

Fehlende bzw. nicht eindeutige Technical-ID‘s

Schwer oder gar nicht steuerbare Controls (z.B. TreeViews)

Performance (z.B. beim Auschecken aus Common Repository)

Fehlerhafte Anwendung des Berechtigungskonzepts (z.B. gegenseitig

überschriebene Variablen)

„Zusammentragen“ von Informationen aus den verschiedenen Tosca-

Dokumentationen, Support- und Beraterauskünften

TQL und Report-Engine

15

© C1 SetCon 2012

Tosca-Einführung: Phase 2

Aufgabe:

Einführung in Teams mit geringer technischen Affinität,

niedrigem Automatisierungsgrad jedoch gut definiertem

Testprozess und ausgeprägter Dokumentation

Ziele:

Identifizieren des Aufwands für den Import von Testartefakten

Anpassen von Tosca an vordefinierte Arbeitsprozesse

Ausbau der nutzungsspezifischen Anwenderdokumentationen

Konsolidierung und Ausbau der Testautomation aus Phase 1

Umfang:

Dauer: 6 Monate

Betroffene Mitarbeiter: 10 (+5 aus Phase 1)

16

© C1 SetCon 2012

Tosca-Einführung: Phase 2

Durchgeführte Maßnahmen (1/3):

Bestimmung von „Coaches“ aus Phase 1:

• Rollen-, aufgaben- und skillspezifische Betreuung der neuen Nutzer

Auf- und Ausbau der nutzungsspezifischen Dokumentation

Bereitstellung von lokalen „Spielwiesen“

Evaluierung des TestCaseDesigners hinsichtlich Bedienbarkeit und

Komplexität

Analyse der existierenden Anforderungs- und Testfalldokumente

• Reduzierung des Testfallbestandes

• Konvertierung und Import der Dokumente in Tosca

oder

• Einbinden der existierenden Dokumente in Tosca-Testfälle durch

Dateiverknüpfung

17

© C1 SetCon 2012

Tosca-Einführung: Phase 2

Durchgeführte Maßnahmen (2/3):

Analyse von Automatisierungsmöglichkeiten, z.B.

• Ergebnisvergleich bei datengetriebenen Tests

• Oberflächentests bei „geschlossenen“ Clients

Automatisierung von wiederkehrenden manuellen Testschritten, z.B.

• Aufrufe von Batchjobs

• Auswertung von Logfiles

Optimierung der Robustheit von bereits automatisierten Testfällen

• Verbesserte Dynamisierung (z.B. dynamische WaitOns)

• Verbesserte Objektidentifizierung

Implementierung projektspezifischer Tosca-Erweiterungen

Projektspezifische Erweiterung der Standard-Reports

18

© C1 SetCon 2012

Tosca-Einführung: Phase 2

Durchgeführte Maßnahmen (3/3):

Regelmäßige Jour-Fixes aller „Tosca-Beteiligten“

• Erfahrungsaustausch und gegenseitige Hilfestellung

• Vorbereitung eines Tricentis-Workshops

Projektspezifischer Workshop mit Tricentis:

• Klärung aller während dieser Phase entstandenen Fragen

• Abstimmung der definierten Arbeitsprozesse und Ordnungsstrukturen

hinsichtlich langfristiger „Lebbarkeit“

• Diskussion über die Nutzungsmöglichkeiten des TestCaseDesigners

19

Ergebnis:

„Steile Lernkurve“ in der Tosca-Bedienung für „manuelle Tester“

Übernahme der gesamten manuellen Testdokumentation nach Tosca

Ausbau der Testautomatisierung und Steigerung der Robustheit

Erste teamübergreifende Integrationstests

Erste teamübergreifende Reports

Sinkende Skepsis bei Tosca-Kritikern

© C1 SetCon 2012

Tosca-Einführung: Phase 2

Fazit der Phase 2

„Einführung in Teams mit geringer technischen Affinität, niedrigem

Automatisierungsgrad jedoch gut definiertem Testprozess und ausgeprägter

Dokumentation “

Auch Mitarbeiter mit gering ausgeprägter technischen Affinität kommen mit

persönlicher Unterstützung und an den Arbeitsprozess angepasster

Dokumentation schnell mit Tosca zurecht

Individuelles Coaching und eine am vertrauten Arbeitsprozess angelehnte

Tosca-Implementierung reduziert die anfängliche Ablehnungshaltung deutlich

Der Aufwand, bestehende Testfalldokumentation in Tosca zu integrieren,

wurde unterschätzt

Die „Wartungsfalle“ schlägt immer härter zu

Die tatsächliche bisherige Testabdeckung wird immer deutlicher

20

© C1 SetCon 2012

Tosca-Einführung: Phase 3

Aufgabe:

Tosca-Einführung in allen verbleibenden Testteams

Primärziele:

Einführung in die verbleibenden Testteams

Konsolidierung der bisher umgestellten Testabläufe

Steigerung des Automationsgrades

Sekundärziele:

Einbindung von Tosca in agilen Entwicklungsprozess

Reduzieren des Testdatenbestandes

Umfang:

Dauer: 12 Monate

Betroffene Mitarbeiter: ca. 10 (+ 15 aus Phasen 1 und 2)

21

© C1 SetCon 2012

Tosca-Einführung: Phase 3

Durchgeführte Maßnahmen bzw. in Planung:

Durchführung einer projektspezifisch und an den Teilnehmerkreis

angepassten Schulung „TOSCA Certified User Foundation Level” für alle

Keyuser (Multiplikatoren) der Phase 3

Erstellung von Testfall-Konvertern zur schnellen Übernahme der

bestehenden Testfalldokumente

Fortführen aller in den Phasen 1 und 2 begonnenen Maßnahmen

Evaluierung des Tosca „Testdaten-Objektregisters“ (TOR)

Verstärkter Einsatz des TestCaseDesigners

• Methodisches Testfalldesign

• Generierung von Testdaten

22

© C1 SetCon 2012

Übersicht: potentielle Stolpersteine

Allgemein

• Tosca-Updates

• Export / Import von Testartefakten (Austausch mit externen Dienstleistern)

• Export von Testartefakten (Archivierung, Versionierung)

Generelle Bedienung:

• Zahlreiche „kleinteilige“ Probleme

• Common Repository (Performance)

• Nutzung des TestCaseDesigners zur Testfallverwaltung

• TQL-Abfragen

• Darstellung (z.B. Screenshots)

• Massen-Updates von Attributen, Werten etc.

Tricentis:

• Durchwachsene Dokumentation

• Häufig wechselnde Ansprechpersonen

• Die optimale Nutzung des Tools steht im Vordergrund, nicht die

Arbeitsprozesse des Kunden („idealtypisches Vorgehen“)

• Oft ist ein „Übersetzer“ zwischen Kunde und Tricentis zielführend

23

© C1 SetCon 2012

Übersicht: potentielle Stolpersteine

Anforderungen

• Import kann aufwendig werden

• Gewichtung / Priorisierung überfordert Tester

Ausführungslisten / Testfallausführung

• Strukturierung von Ausführungslisten und Testaufträgen

• Synchronisierung

• Speichern und archivieren von Ausführungsergebnissen

• Duplizieren von Ausführungslisten

• Darstellung manueller Testfälle

Import bestehender Testfalldokumentation

• Beschränkungen des Excel-Imports

• Excel vs. Tosca: Unterschiede in den Darstellungsmöglichkeiten

• Excel vs. Tosca: Unterschiede in den Bearbeitungsfunktionen

24

© C1 SetCon 2012

Übersicht: potentielle Stolpersteine

Testautomatisierung:

• Konfiguration von Adaptoren und Engines

• Schneiden von Modulen

• Vergleichsmechanismen

• Start von Ausführungslisten aus dem Buildprozess

• Timeout-Verhalten

• Verhalten des Tosca-Wizard

• ReScan / manuelle Bearbeitung von Modulen

• Erzeugen bzw. importieren (und versionieren) von Testdaten

• Abbruch- und Recovery-Szenarien

• Tosca-Fehlermeldungen

Testdesign:

• Definition von Geschäftsobjekten, Objekthierarchien, Attributen und

Instanzen

• Aufbau von Klassen

• Stufenweises Instanzieren und nachbearbeiten

• Wartung des Modells und der Instanzen

25

26

Vielen Dank für Ihre Aufmerksamkeit!