SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Willkommen! Christian Hassa Jonas Bandi
Software Testing Today Ein Relikt aus dem goldenen Zeitalter des Wasserfalls?
Es war einmal ...
Und wenn sie nicht gestorben sind ...
... die goldenen Zeiten sind vorbei!
Hat sich etwas geändert? 2008 2000 Projekterfolglaut Chaos Report, Standish Group
Wann ist ein Projekt erfolgreich? Geschäftsnutzen
Geschäftsnutzen? Nutzung von Featureslaut Chaos Report 2000, Standish Group
Wo entstehen Fehler? Source: James Martin - An Information Systems Manifesto
Bugs früh bekämpfen? Testbare Spezifikationen?
„Wasserfallanalysen“ Detailgrad VerständnisgrenzeActor/Stakeholder Vision Lastenheft Pflichtenheft Designdokument Kein Feedback von Stakeholdern möglich! Code Manual Test„Usage“ Automated Test Zeit
Iterative Analyse Detailgrad VerständnisgrenzeActor/Stakeholder Vision Business goals Actor/Stakeholder goals Projektstart Stories Epics ProductBacklog Sprint Planning Preparation AcceptanceCriteria Stories SprintBacklog Sprint Planning Sprint 1-n Sprint Implementation AcceptanceTest Definition Code Kurze Feedbackzyklen mit Stakeholdern Manual Test/Demo Automated Test Zeit
Agilität löst alle Probleme?
Aufwand
Wann sind wir fertig?
Regression
Was nun ...?
"I believe that the hardest part of software projects, the most common source of project failure, is communication with the customers and users of that software.“  - Martin Fowler
„Vertrauenswürdige Kommunikation“
Vertrauenswürdige Kommunikation Gemeinsames Artefakt Lesbar für Business Ausführbar gegen Endprodukt Nachverfolgbar Konsistent
Aber Wo? Detailgrad VerständnisgrenzeActor/Stakeholder Vision Business goals Actor/Stakeholder goals Projektstart Stories Epics ProductBacklog Sprint Planning Preparation AcceptanceCriteria Stories SprintBacklog Sprint Planning Sprint 1-n Sprint Implementation AcceptanceTest Definition Code Kurze Feedbackzyklen mit Stakeholdern „VertrauenswürdigeKommunikation“ Manual Test/Demo Automated Test Zeit
FINALLY THE DEMO!
Bowling 10 Durchgänge 10 Kegel pro Durchgang 2 Kugeln pro Durchgang Strike: Alle 10 KegelmitdererstenKugel-> Die nächstenzweiWürfewerdenzumaktuellenDurchgangaddiert Spare: Alle 10 KegelmitzweiKugeln-> DernächsteWurfwirdzumaktuellenDurchgangaddiert DerletzteDurchgangkann 3 Kugelnumfassen
Das Konzept
Step 1: Write a feature
Step 2: Watch itfail
Step 3: Implementstepdefinitions
Step 4: Create a skeleton
Step 5: Watch itfail
Step 6: Implementthedomain
Step 7: Watch it pass
Repeat!Next Feature Please!
The Real World ## TC:110 ## @acceptance @TC110 Scenario: TC110 - Message with a rate for a currency that is not in the database (unknown currency)    Given the current time is '2009/09/15 13:52‘       And there are currencies in the database with the following data: 	| code	|   	| EUR	|        And there are exchange rates in the database with the following data: 	| code	| rate	| date	 	| error code  | 	| EUR	| 1.2	| 2009/09/14		| OK             |       And the maximum exchange rate deviation is 2%   When there are exchange rates received for '2009/09/15' on EMB with the following data: 	| code	  | rate        	  | 	| EUR	  | 1.2	  | 	| SKK	  | 1.3	  |       And wait until the exchange rate is porcessed   Then there is an exchange rate in the database with: 	| code	  | rate	  | date		| error code	   | 	| EUR	  | 1.2	  | 2009/09/14	| OK	   |       And there is no exchange rate in the database with: 	| code     	  | date		|  	| EUR	  | 2009/09/15	| 	       And an e-mail is sent by the CurrencyConverter service to 'error@import.info' (CC: 'error@import.info') with subject 'Unknown Currency‘       And the e-mail should contain 'Error during import!’
Es geht hier nicht ums Testen ...
Gemeinsame Abstraktion!
Spezifikation an Hand von Beispielen
Aber ... Müssen Entwickler jetzt Testen? Brauchen wir noch Tester? JA!
Entwickler ... Bindet Beispiele an Implementierung Worauf gebunden wird ist flexibel!
Tester ... 1 Test pro „Beispiel“ Econonmy of Scale Entwickeln „Testsprache“ Nutzung auch für manuelle Tests
Manuelle Tests?? Zur Validierung von Main-Flows und Integration Demo an Stakeholder Geringere Anzahl Unterstützt durch „Testsprache“ Automatisierung aufwändiger!
Aufwand? Ca. 15% Testspezifikation + manuelle Tests! Ca. 10-25%Binding Synergien!
Wartbarkeit? Richtiger Abstraktionsgrad Wiederverwenbarkeit von Bindings Ebene der Bindings
The Topic is Hot! www.cukes.info www.concordion.net www.fitnesse.org www.specflow.org JBehave / NBehave http://studios.thoughtworks.com/agile-test-automation
Gemeinsame Artefakte:Spezifikation, Test, Dokumentation Business lesbar (und schreibbar) An Implementierung gebunden, ausführbar Entwicklung auf Geschäftsnutzen fokussiert Nachverfolgbarkeit von Anforderungen Verfeinerung von gröberen Anforderungen (User Stories) Nutzen
Viel Erfolg bei der Kommunikation! Christian Hassa Jonas Bandi

Weitere ähnliche Inhalte

Ähnlich wie Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?

Application Readiness - Automatisierung beschleunigt Client Migrationen
Application Readiness - Automatisierung beschleunigt Client MigrationenApplication Readiness - Automatisierung beschleunigt Client Migrationen
Application Readiness - Automatisierung beschleunigt Client MigrationenDr. Hartmut Henk
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...OPITZ CONSULTING Deutschland
 
Dokumentenerfassung mit Alfresco
Dokumentenerfassung mit AlfrescoDokumentenerfassung mit Alfresco
Dokumentenerfassung mit AlfrescoEphesoft, Inc.
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeDevOps Meetup Bern
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsGünther Haslbeck
 
JimFlow - Die Evolution von Kanban bei Jimdo
JimFlow - Die Evolution von Kanban bei JimdoJimFlow - Die Evolution von Kanban bei Jimdo
JimFlow - Die Evolution von Kanban bei JimdoNadja Macht
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Jürg Stuker
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Nico Orschel
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deHolger Hammel
 
Europeana Newspapers German Infoday Quality Assessment
Europeana Newspapers German Infoday Quality AssessmentEuropeana Newspapers German Infoday Quality Assessment
Europeana Newspapers German Infoday Quality AssessmentEuropeana Newspapers
 
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeams
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeamsJimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeams
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeamsMichi Lehr
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
Den falschen plan perfekt ausführen
Den falschen plan perfekt ausführenDen falschen plan perfekt ausführen
Den falschen plan perfekt ausführenNils Langner
 
Codewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenCodewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenAndré Krämer
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersUlrich Krause
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesMichael Plöd
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...Optekom
 

Ähnlich wie Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls? (20)

Application Readiness - Automatisierung beschleunigt Client Migrationen
Application Readiness - Automatisierung beschleunigt Client MigrationenApplication Readiness - Automatisierung beschleunigt Client Migrationen
Application Readiness - Automatisierung beschleunigt Client Migrationen
 
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
Wie baue ich eine KI, die besser als jeder Mensch ein Problem und dessen Ursa...
 
Dokumentenerfassung mit Alfresco
Dokumentenerfassung mit AlfrescoDokumentenerfassung mit Alfresco
Dokumentenerfassung mit Alfresco
 
Config as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as CodeConfig as Code: Der Weg zu Configuration as Code
Config as Code: Der Weg zu Configuration as Code
 
Ueberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web ApplicationsUeberlegungen Projektmanagement Web Applications
Ueberlegungen Projektmanagement Web Applications
 
JimFlow - Die Evolution von Kanban bei Jimdo
JimFlow - Die Evolution von Kanban bei JimdoJimFlow - Die Evolution von Kanban bei Jimdo
JimFlow - Die Evolution von Kanban bei Jimdo
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013Testing XAML-based Windows Store Apps mit VS 2013
Testing XAML-based Windows Store Apps mit VS 2013
 
SignalR
SignalRSignalR
SignalR
 
iOS Testautomation bei mobile.de
iOS Testautomation bei mobile.deiOS Testautomation bei mobile.de
iOS Testautomation bei mobile.de
 
Europeana Newspapers German Infoday Quality Assessment
Europeana Newspapers German Infoday Quality AssessmentEuropeana Newspapers German Infoday Quality Assessment
Europeana Newspapers German Infoday Quality Assessment
 
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeams
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeamsJimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeams
JimFlow - Die Evolution von Kanban bei Jimdo @ Tools4AgileTeams
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Den falschen plan perfekt ausführen
Den falschen plan perfekt ausführenDen falschen plan perfekt ausführen
Den falschen plan perfekt ausführen
 
Codewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximierenCodewiederverwendung in Xamarin-Apps maximieren
Codewiederverwendung in Xamarin-Apps maximieren
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Event Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best PracticesEvent Sourcing: Einführung und Best Practices
Event Sourcing: Einführung und Best Practices
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...
Optimierung der Prozesse zwischen Dokumentation, Einkauf und Übersetzungsdien...
 

Mehr von jbandi

From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reactionjbandi
 
From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reactionjbandi
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?jbandi
 
The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015jbandi
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMjbandi
 
NDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDDNDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDDjbandi
 
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETNDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETjbandi
 

Mehr von jbandi (7)

From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reaction
 
From User Action to Framework Reaction
From User Action to Framework ReactionFrom User Action to Framework Reaction
From User Action to Framework Reaction
 
Angular 2: What's New?
Angular 2: What's New?Angular 2: What's New?
Angular 2: What's New?
 
The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015The curious Life of JavaScript - Talk at SI-SE 2015
The curious Life of JavaScript - Talk at SI-SE 2015
 
vert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVMvert.x - asynchronous event-driven web applications on the JVM
vert.x - asynchronous event-driven web applications on the JVM
 
NDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDDNDC 2011 - Building .NET Applications with BDD
NDC 2011 - Building .NET Applications with BDD
 
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NETNDC 2011 - SpecFlow: Pragmatic BDD for .NET
NDC 2011 - SpecFlow: Pragmatic BDD for .NET
 

Testing Heute: ein Relikt aus dem Zeitalter des goldenen Wasserfalls?

  • 2. Software Testing Today Ein Relikt aus dem goldenen Zeitalter des Wasserfalls?
  • 4. Und wenn sie nicht gestorben sind ...
  • 5. ... die goldenen Zeiten sind vorbei!
  • 6. Hat sich etwas geändert? 2008 2000 Projekterfolglaut Chaos Report, Standish Group
  • 7. Wann ist ein Projekt erfolgreich? Geschäftsnutzen
  • 8. Geschäftsnutzen? Nutzung von Featureslaut Chaos Report 2000, Standish Group
  • 9. Wo entstehen Fehler? Source: James Martin - An Information Systems Manifesto
  • 10. Bugs früh bekämpfen? Testbare Spezifikationen?
  • 11. „Wasserfallanalysen“ Detailgrad VerständnisgrenzeActor/Stakeholder Vision Lastenheft Pflichtenheft Designdokument Kein Feedback von Stakeholdern möglich! Code Manual Test„Usage“ Automated Test Zeit
  • 12. Iterative Analyse Detailgrad VerständnisgrenzeActor/Stakeholder Vision Business goals Actor/Stakeholder goals Projektstart Stories Epics ProductBacklog Sprint Planning Preparation AcceptanceCriteria Stories SprintBacklog Sprint Planning Sprint 1-n Sprint Implementation AcceptanceTest Definition Code Kurze Feedbackzyklen mit Stakeholdern Manual Test/Demo Automated Test Zeit
  • 13. Agilität löst alle Probleme?
  • 15. Wann sind wir fertig?
  • 18. "I believe that the hardest part of software projects, the most common source of project failure, is communication with the customers and users of that software.“ - Martin Fowler
  • 20. Vertrauenswürdige Kommunikation Gemeinsames Artefakt Lesbar für Business Ausführbar gegen Endprodukt Nachverfolgbar Konsistent
  • 21. Aber Wo? Detailgrad VerständnisgrenzeActor/Stakeholder Vision Business goals Actor/Stakeholder goals Projektstart Stories Epics ProductBacklog Sprint Planning Preparation AcceptanceCriteria Stories SprintBacklog Sprint Planning Sprint 1-n Sprint Implementation AcceptanceTest Definition Code Kurze Feedbackzyklen mit Stakeholdern „VertrauenswürdigeKommunikation“ Manual Test/Demo Automated Test Zeit
  • 23. Bowling 10 Durchgänge 10 Kegel pro Durchgang 2 Kugeln pro Durchgang Strike: Alle 10 KegelmitdererstenKugel-> Die nächstenzweiWürfewerdenzumaktuellenDurchgangaddiert Spare: Alle 10 KegelmitzweiKugeln-> DernächsteWurfwirdzumaktuellenDurchgangaddiert DerletzteDurchgangkann 3 Kugelnumfassen
  • 25. Step 1: Write a feature
  • 26. Step 2: Watch itfail
  • 28. Step 4: Create a skeleton
  • 29. Step 5: Watch itfail
  • 31. Step 7: Watch it pass
  • 33. The Real World ## TC:110 ## @acceptance @TC110 Scenario: TC110 - Message with a rate for a currency that is not in the database (unknown currency) Given the current time is '2009/09/15 13:52‘ And there are currencies in the database with the following data: | code | | EUR | And there are exchange rates in the database with the following data: | code | rate | date | error code | | EUR | 1.2 | 2009/09/14 | OK | And the maximum exchange rate deviation is 2% When there are exchange rates received for '2009/09/15' on EMB with the following data: | code | rate | | EUR | 1.2 | | SKK | 1.3 | And wait until the exchange rate is porcessed Then there is an exchange rate in the database with: | code | rate | date | error code | | EUR | 1.2 | 2009/09/14 | OK | And there is no exchange rate in the database with: | code | date | | EUR | 2009/09/15 | And an e-mail is sent by the CurrencyConverter service to 'error@import.info' (CC: 'error@import.info') with subject 'Unknown Currency‘ And the e-mail should contain 'Error during import!’
  • 34. Es geht hier nicht ums Testen ...
  • 36. Spezifikation an Hand von Beispielen
  • 37. Aber ... Müssen Entwickler jetzt Testen? Brauchen wir noch Tester? JA!
  • 38. Entwickler ... Bindet Beispiele an Implementierung Worauf gebunden wird ist flexibel!
  • 39. Tester ... 1 Test pro „Beispiel“ Econonmy of Scale Entwickeln „Testsprache“ Nutzung auch für manuelle Tests
  • 40. Manuelle Tests?? Zur Validierung von Main-Flows und Integration Demo an Stakeholder Geringere Anzahl Unterstützt durch „Testsprache“ Automatisierung aufwändiger!
  • 41. Aufwand? Ca. 15% Testspezifikation + manuelle Tests! Ca. 10-25%Binding Synergien!
  • 42. Wartbarkeit? Richtiger Abstraktionsgrad Wiederverwenbarkeit von Bindings Ebene der Bindings
  • 43. The Topic is Hot! www.cukes.info www.concordion.net www.fitnesse.org www.specflow.org JBehave / NBehave http://studios.thoughtworks.com/agile-test-automation
  • 44. Gemeinsame Artefakte:Spezifikation, Test, Dokumentation Business lesbar (und schreibbar) An Implementierung gebunden, ausführbar Entwicklung auf Geschäftsnutzen fokussiert Nachverfolgbarkeit von Anforderungen Verfeinerung von gröberen Anforderungen (User Stories) Nutzen
  • 45. Viel Erfolg bei der Kommunikation! Christian Hassa Jonas Bandi

Hinweis der Redaktion

  1. Sie sind nicht alleineLaut Standish ist das seit Jahren so.
  2. Es geht nicht um Zeit/Scope/Budget sondern um Geschäftsnutzen!
  3. Liefern wir immer Geschäftsnutzen?Im Jahr 20089 noch immer nur bei 40%
  4. Jeder stimmt über ein, Fehler früh zu stoppen.
  5. Nicht iterativ erstelltEin wesentlicher Teil unter der Verständnisgrenze des AnwendersErst wieder bei den Tests
  6. Freibrief für Anwender, seine Meinung zu ändern?
  7. Kommunikation aber auch Übergabe und gegenseitiges Vertrauen, dass diese Übergabe funktioniert.
  8. This was an evolutionarytechnicalapproach… still not convinced?Let´stryanotherapproach.
  9. Sondern um das gemeinsame Verständnis
  10. ... Ist das Erfolgsrezept!
  11. Sicherung der „Ausführbarkeit“Flexibilität: Aufwand, Wartung