18
Der wendige Testfall TED 2015 Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 [email protected] www.realtime-projects.com 2015-06-01 1 Abstract Wie können hohe Qualitätsansprüche an Softwareprojekte und deren Testing in einem agilen Entwicklungsprozess unter der Verwendung von automatisierten Tests erfüllt werden? 2

TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 [email protected] 2015-06-01 1 ... agile Planung Product

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Der wendige Testfall

TED 2015Agile Softwareentwicklung erfordert agiles Testing.

Claudio Klingler

+49 1520 1000 988

[email protected]

www.realtime-projects.com

2015-06-01

1

Abstract

Wie können hohe Qualitätsansprüche an Softwareprojekte

und deren Testing in einem agilen Entwicklungsprozess

unter der Verwendung von automatisierten Tests erfüllt

werden?

2

Page 2: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Überblick

● Warum agil?

● Die Grundlage agiler Softwareentwicklung

● Agil & Test = automatisiert?

● Die Umsetzung im agilen Projekt

● Erfahrungen

3

Warum agil und regulativ?

● Effizienz

● schneller Marktzugang

● unklare Ziele

● Steuerbarkeit des Projektes

● Komplexität und Beherrschbarkeit des Systems

4

Page 3: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Softwarequalität umfasst

Version Control

RequirementsDesign

Release Management

Reviews

ChangeManagementRisk

Analysis

Branching

Project Management

5

Die Grundlagen agiler Softwareentwicklung

6

Page 4: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Sprints produzieren “usable Software”

Sprint1 Sprint2 Sprint... SprintN

7

agile Planung

Product Backlog(User Stories)

Sprint Backlog

Issues(Bugs)

TEAM

Done(Usable

Software)

8

Page 5: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Ein agiler Sprint

User StoriesUseable Software

Iteration

9

Chance: Wiederholung

Was ich wiederhole, kann ich optimieren.

10

● Fehlerquellen beseitigen● Effizienz steigern

Page 6: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Was bedeutet agile Softwareentwicklung?

● Kurze Releasezyklen (1-2 Wochen)

● Continuous Integration

● Zeit zwischen 'neuer Anforderung’, bzw.

Änderungsanfrage und Release optimal 2 Wochen

● Häufiges Refactoring (auch von Schnittstellen)

● Planungshorizont 2-3 Monate?

● Anpassungen an bestehenden Tests notwendig

11

Agil + Testing = automatisiert?

● Die Entwickler profitieren von schnellem und direktem

Feedback durch das agile Test-Team für Themen, die sie

gerade bearbeiten

● Häufiges Refactoring ist nur möglich, wenn

automatisierte Tests die Funktion des Systems sicher

stellen

● Agil und Testing macht erst mit Testautomatisierung richtig Sinn

12

Page 7: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

qualitätsgetriebene Projekte

● document what you do

and do what you document● auf Ebene des Systems, der Software, der Organisation

und der Vorgehensweisen● test what you do (bottom-up)

and test what you document (top-down)

13

Tracebility

Anfor- derungen

Tests

Risiko- analyse

14

Page 8: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

2-3 chooser

2-3 chooser

v1

v2

v3

v0

15

Ein Lösungsansatz

● Alle für die Erfüllung der Qualitätsvorgaben notwendigen

Tests werden vollständig automatisiert ausgeführt.

● Die gesamte notwendige Dokumentation wird

automatisch generiert.

● Das ermöglicht, das jeder Change (Commit) am System

Under Test auf “Knopfdruck” getestet und validiert werden kann.

16

Page 9: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Dies umfasst

● Testplan

● Testprotokoll

● Traceability Matrix

● Schnittstellen-Dokumentation

● Software-Dokumentation

● Release-Notes

● Anforderungsdokument

● Designdokument

● Review-Protokolle

17

Warum?

● “It’s done, when it’s done”

○ Agil im regulativen Umfeld macht erst dann richtig Sinn,

wenn alle Aufgaben, auch die formalen erledigt sind.

● Frühes Feedback über Auswirkungen von Changes auf

die Validierung für den Entwickler (KnowHow-

Halbwertszeit)

● Frühzeitiges Einbinden der Entwicklung in regulative

Themen

● Grenzen zwischen Testing und Entwicklung

verschwimmen

18

Page 10: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Beispiel: Live-View ins ProjektId Anforderung Risiko Test Klassifiz

ierungMassnahme

R100 Wenn alle Signalquellen (v1, v2, v3) den gleichen Eingangswert liefern, soll das System den Eingangswert als Ausgangswert v0 auf der Anzeige darstellen

Das System zeigt einen falschen Messwert an

T105, PASSED 1A Testfall

R101

R102

Wenn 2 Signalquellen den gleichen Eingangswert liefern und eine Eingangsquelle einen abweichenden Wert liefert, so soll der Ausgangswert v0 den Eingangswert der gleichen Signalquellen darstellen und gleichzeitig die gelbe Warnlampe aktivieren.

Das System zeigtnicht den Wert der 2 gleichen Signalquellen

Das System aktiviert nicht die gelbe Warnlampe

T101, PASSED

Stelle sicher, dass das System den

gleichen Wert der 2 verbliebenen Eingangsquellen darstellt, wenn der Wert der dritten Eingangsquelle abweicht.

T102, FAILED

1A

1C

Testfall

kein Qualitätsrisiko

R103 Wenn alle Singalquellen einen abweichenden Wert liefern, so soll das System als Ausgangswert v0 den Wert "0" darstellen und gleichzeitig die rote Warnlampe aktivieren.

... R101, NOTIMPLEMENTED

19

Fragen an das (Live-) Reporting

● Welche Anforderungen / Risiken sind nicht mit Tests

verlinkt?

● Welche Anforderungen / Risiken haben noch keinen

implementierten Test?

● Welche Anforderungen / Risiken sind mit

fehlschlagenden Tests verknüpft?

20

Page 11: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Ein Feature-Test

@R101, @REVIEWEDFeature: T101 One_Input_Deviation

Stelle sicher, dass das System den gleichen Wert der 2

verbliebenen Eingangsquellen darstellt, wenn der Wert der

dritten Eingangsquelle abweicht.

Scenario: T101 V1_Input_Deviation

Given I supply 50 as v1

And I supply 35 as v2

And I supply 35 as v3

Then I want to see 35 in the display

And I want to see the yellow warning light

Scenario: T101 V2_Input_Deviation

...

21

Artefakte

Anfor- derungen

Testplan

Risiko- analyse

Test- protokollTestrun

22

Page 12: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

managing changes

Product Backlog(User Stories)

Change Reasons

Issues(Bugs)

TEAM

Changes in Version Control

23

warum wurde eine Änderung in der Software bzw. am Test durchgeführt?

Ein agiler Sprint im regulativen Umfeld

User Stories

Useable Software

Iteration

Regulatory stuff

24

Page 13: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Aufwand für “Changes”

Funktionaler Aufwand:

● Analyse

● Architektur

● Implementierung

● Refactoring

● Test

Formaler Aufwand:

● Review

● Change Management

● Anforderungen

● Testplanung

● Tracing

● Dokumentation

● Release Notes, …

25

Aufwand für “Changes”

Funktionaler Aufwand:

● Analyse

● Architektur

● Implementierung

● Refactoring

● Test

Formaler Aufwand:

● Review

● Change Management

● Anforderung

● Testplanung

● Tracing

● Dokumentation

● Review

● Release Notes, …

DEFINITION OF DONE

26

Page 14: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Die Phasen eines "Changes"Analyse Anforderung Entwurf Implementier

ungTest Freigabe

Story1

Story3

Story4

Story5

Story6

StoryA

StoryB

StoryC

27

Organisation in Iterations/SprintsAnforderung Entwurf Implementier

ungTest Freigabe

Story1

Story3

Story4

Story5

Story6

StoryA

Was packe ich in einen Sprint ( )?

28

Page 15: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Der Ablauf aus der Sicht des Tests

1. Analyse der Anforderung

2. Risikobewertung

3. Testplanung (welche Testfälle benötige ich?)

4. Verlinkung der Test mit den Risiken / Anforderungen

5. Testimplementierung

6. Testrun

7. Auswertung der Ergebnisse

8. Tracebility Analyse

9. Review

29

Daily Statistics

Code

Tests

ScheduledBuild Release

Test Agent TestResult

Documentation

Traceability, Statistics

30

Page 16: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Erfahrungen

31

Erfahrungen

● Der Aufwand ist abhängig von der Erfahrung des Teams

mit agilen und regulativen Projekten.

● Ein eingespieltes Team hat effiziente Abläufe.

● Nicht alle im Team müssen Vorkenntnisse mitbringen, 2

oder 3 Zugpferde mobilisieren das Team

● Qualtät & Agil ist eine TEAM-Fähigkeit, keine

PROJEKT-Fähigkeit

● DO CRASH INVESTIGATIONS

32

Page 17: TED 2015 Der wendige Testfall · Agile Softwareentwicklung erfordert agiles Testing. Claudio Klingler +49 1520 1000 988 ck@realtime-projects.com 2015-06-01 1 ... agile Planung Product

Anforderungen an das Tooling

● Unterstützung von eindeutigen Ids für Anforderungen und Test Cases● versionierte Verlinkung zwischen Anforderungen und TestCases● Einfacher export / import der Daten ohne Informationsverlust● Änderungsverfolgung für Anforderungen und Test Cases mit

leistungsfähigem Diff auf Dokumenten- und Anforderungsebene● einfache Report-Generierung

33

Speicher

● Performance / Skalierbarkeit

● Definition of Done - Mit oder ohne Tests?

● Agile Code Reviews

● Flexible Teammitglieder können jede Task erledigen.

● Version Control: Test und Entwicklung in einem Projekt?

34