from system.out to executable specifications · from system.out to executable specifications ....

20
From System.out to Executable Specifications

Upload: others

Post on 03-Oct-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

From System.out to Executable Specifications

Page 2: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

Vorstellung

• Langjährige Erfahrungen als Entwickler, Architekt & Coach in verschiedenen Projekten mit Fokus eGovernment und Automobilindustrie

• Leiter der Competence Area " Client Architecture & Technology " mit 3 dazugehörigen Competence Groups und ca. 15 Mitarbeitern

• Mehrjährige Durchführung von Vorlesungen an der Dualen Hochschule Baden-Württemberg

Page 3: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

3

Die Anfänge

Fachexperte

Kunde

Entwickler

Entwurf, Design

Implementierung

Test

_________________ ?

Page 4: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

4

Die Zeit danach…

• Komplexere Anforderungen

Komplexere Lösungen

Grössere Teams

Aufgabenteilung , Spezialisierung

Page 5: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

5

Wasserfall Trennung der Experten

Fach-

experten

Entwickler

Test & QA

Architekt

Anforderungen Anforderungen

Bug-Report Design /

Architecture

Deliverables

Overhead !

Page 6: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

6

Probleme

Kein gemeinsames Verständnis !

Page 7: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

7

Probleme

Redundanzen Hoher Pflegeaufwand

Fach-

experten Entwickler

Test & QA

Requirement

Management Tool

Architekt

Models

Deliverables

Source Code

Test scripts

Bug

reports

Documen

tation

Test

Specification

Page 8: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

8

Traceability als Lösungsansatz

Fach-

experten Entwickler

Test & QA

Requirement

Management Tool

Architekt

Models

Deliverables

Source Code

Documen

tation

Test

Specification

Test scripts

Bug

reports

Page 9: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

9

Traceability als Lösungsansatz?

• Nur Verlinkung Keine Synchronisierung

• Eigentlich Schuldzuweisung !

Page 10: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

EIN crossfunctional TEAM !

Besser : Mauern brechen !

Fach-

experten Entwickler

Test & QA Architekt

Page 11: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

1. Specification Workshops

Kollaboration aller Experten ! 11

Fachbereich

Anwender

Product Owner

Developer

Architects

Test & QA

Page 12: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

12

2. Verfeinerung mit Schlüsselbeispielen

Sind Grundlage für

Page 13: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

13

Ergebnis : Specification with Examples

User story

Scenarios, Akzeptanzkriterien

Schlüsselbeispiele

Page 14: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

14

3. Automatisierung der Validierung

Die Spezifikation inkl. Beispiele & Szenarien

Die Fixture als Glue-Code

Das System Under Test

Page 15: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

15

Ergebnis: ausführbare Spezifikation

Page 16: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

Vorteile

• Trennung WAS WIE testen

Testdaten nicht im Code

Schlankerer Code !

Page 17: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

Vorteile

• Einfache Erfassung Testfälle & -

szenarien

• Schnellere Entwicklung der Tests

Page 18: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

18

4. Regelmässige Validierung

1. Strukuturierung der ausführbaren Spezifikationen

2. Einbindung in die CI-Umgebung

Page 19: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

19

Ergebnis: Living Documentation

• Für alle zugänglich

• Verständlich für alle !

• Abbildung des aktuellen Stands der entwickelten Software

Page 20: From System.out to Executable Specifications · From System.out to Executable Specifications . Vorstellung ... Das System Under Test . 15 Ergebnis: ausführbare Spezifikation . Vorteile

20