SlideShare ist ein Scribd-Unternehmen logo

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

J
jbandi

Testing in Agile Projects. Introduction to ATDD and BDD.

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

Recomendados

Java & JavaScript: Best Friends?
Java & JavaScript: Best Friends?Java & JavaScript: Best Friends?
Java & JavaScript: Best Friends?jbandi
 
Testing: Chances and Challenges in an agile World
Testing: Chances and Challenges in an agile WorldTesting: Chances and Challenges in an agile World
Testing: Chances and Challenges in an agile Worldjbandi
 
Professional JavaScript Development (An Introduction for Java Developers)
Professional JavaScript Development (An Introduction for Java Developers)Professional JavaScript Development (An Introduction for Java Developers)
Professional JavaScript Development (An Introduction for Java Developers)jbandi
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014jbandi
 
Kann JavaScript elegant sein?
Kann JavaScript elegant sein?Kann JavaScript elegant sein?
Kann JavaScript elegant sein?jbandi
 
Javascript explained
Javascript explainedJavascript explained
Javascript explainedJana Karceska
 
Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Continuous Integration / Deployment mit Jenkins CI
Continuous Integration / Deployment mit Jenkins CI Florian Bosselmann
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Mayflower GmbH
 

Más contenido relacionado

Ä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?

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.

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