Post on 13-Nov-2021
transcript
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
stefan.blindzellner@c1-setcon.de
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