SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
@Wakaleo @JanMolak#SerenityBDD
Screenplay

Next generation automated
acceptance testing
AUTHOR OF ‘BDD IN ACTION’
@wakaleo
www.johnfergusonsmart.com
@Wakaleo @JanMolak#SerenityBDD
Sustainable test automation
to deliver features that matter
@Wakaleo @JanMolak#SerenityBDD
Learn
Measure
Build
@Wakaleo @JanMolak#SerenityBDD
Requirements
Discovery
Automation and
Feedback
Software
Craftsmanship
Learn Build
Measure
@Wakaleo @JanMolak#SerenityBDD
Requirements
Discovery
Automation and
Feedback
Software
Craftsmanship
Learn Build
Measure
@Wakaleo @JanMolak#SerenityBDD
source:
- 44% - “Out of Control - Why Control Systems Go Wrong and How to Prevent Failure”
- 56% - “An Information Systems Manifesto”
- 80% - “Requirements: A quick and inexpensive way to improve testing”
44-80%of all defects are caused by unclear,
ambiguous or incorrect requirements
@Wakaleo @JanMolak#SerenityBDD
Behaviour-Driven Development
@Wakaleo @JanMolak#SerenityBDD
Behaviour-Driven Development
Domain-Driven Design
@Wakaleo @JanMolak#SerenityBDD
Domain-Driven Design
Behaviour-Driven Development
User-Centred Design
@Wakaleo @JanMolak#SerenityBDD
Building the
application
Testing the
application
When we are…
We model…
The domain
How the user interacts
with the application
Account
Purchase
Product
Open an account
Look for a
product
Completes a
purchase
NOUNS VERBS
The key
concepts
are…
@Wakaleo @JanMolak#SerenityBDD #Devoxx
HOW
Enter the value ‘Get a
coffee’



Click on TAB
WHAT
Record a todo item
WHY
Keep a list of things I need
to do
@Wakaleo @JanMolak#SerenityBDD
Actors
Goals
Tasks
Interactions
System
have
involve
require
with the
Focus on
outstanding
items
@Wakaleo @JanMolak#SerenityBDD
Actor Goals Tasks Interactions
Press “Enter”
Type “Walk the dog”
Record things
I need to do
Mark as complete
Record an item
Filter the list
@Wakaleo @JanMolak#SerenityBDD
Feature:	Filter	the	list	to	find	items	of	interest



		In	order	to	focus	on	outstanding	items

		James	would	like	to	filter	his	todo	list	

		to	only	show	items	of	interest	
		Scenario:	Viewing	Active	items	only



		Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee

				And	he	completes	Walk	the	dog

			When	he	filters	his	list	to	show	only	Active	tasks

			Then	his	todo	list	should	contain	Get	a	coffee
@Wakaleo @JanMolak#SerenityBDD
Feature:	Filter	the	list	to	find	items	of	interest



		In	order	to	focus	on	outstanding	items	
		James	would	like	to	filter	his	todo	list		
		to	only	show	items	of	interest	
		Scenario:	Viewing	Active	items	only	
		Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
				And	he	completes	Walk	the	dog

			When	he	filters	his	list	to	show	only	Active	tasks

			Then	his	todo	list	should	contain	Get	a	coffee
Actor
@Wakaleo @JanMolak#SerenityBDD
Feature:	Filter	the	list	to	find	items	of	interest

		In	order	to	focus	on	outstanding	items	
		James	would	like	to	filter	his	todo	list	

		to	only	show	items	of	interest	
		Scenario:	Viewing	Active	items	only	


		Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee

				And	he	completes	Walk	the	dog

			When	he	filters	his	list	to	show	only	Active	tasks

			Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog

		When	he	filters	his	list	to	show	only	Active	tasks

		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

	Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks

		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

	Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

	Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

	Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Given	James	has	a	list	with	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog

		When	he	filters	his	list	to	show	only	Active	tasks

		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
			And	he	completes	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks

		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks

		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
		When	he	filters	his	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
Filter	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
Filter	list	to	show	only	Active	tasks	
		Then	his	todo	list	should	contain	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
Filter	list	to	show	only	Active	tasks	
Expect	to	see:	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
Complete	a	todo	item	called:	Walk	the	dog	
Filter	list	to	show	only	Active	tasks	
Expect	to	see:	Get	a	coffee
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
Scenario:	Viewing	Active	items	only

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
		Open	browser	on	‘todomvc.com/examples/angularjs/'	
		Resize	browser	window	to	maximum	
		Add	a	todo	item	called	‘Walk	the	dog’	
		Add	a	todo	item	called	‘Get	a	coffee’	
...
Actor
Goals
Tasks
@Wakaleo @JanMolak#SerenityBDD
To	view	Active	items	only,	James	attempts	to:

Start	with	a	list	containing:	Walk	the	dog,	Get	a	coffee	
		Open	browser	on	‘todomvc.com/examples/angularjs/'	
		Resize	browser	window	to	maximum	
		Add	a	todo	item	called	‘Walk	the	dog’	
		Add	a	todo	item	called	‘Get	a	coffee’	
				Enter	the	value	‘Get	a	coffee’	
				Hit	the	Enter	key	
...
Actor
Goals
Tasks
Interactions
Software
Craftsmanship
Automation and
Feedback
@Wakaleo @JanMolak#SerenityBDD
Requirements
Discovery
Learn Build
Measure
@Wakaleo @JanMolak#SerenityBDD
40-70%maintenance overhead for poorly-written test suites
@Wakaleo @JanMolak#SerenityBDD
Serenity BDD
and the Screenplay Pattern
@Wakaleo @JanMolak#SerenityBDD
Complete the requirements circle
Serenity BDD and the Screenplay Pattern
@Wakaleo @JanMolak#SerenityBDD
Serenity BDD and the Screenplay Pattern
User-centric
@Wakaleo @JanMolak#SerenityBDD
Serenity BDD and the Screenplay Pattern
Reusable business DSL…in code
@Wakaleo @JanMolak#SerenityBDD
Serenity BDD and the Screenplay Pattern
Designed to scale
@Wakaleo @JanMolak#SerenityBDD
Serenity BDD
and the Screenplay Pattern
in action
Focus on
outstanding
items
@Wakaleo @JanMolak#SerenityBDD
Actor Goals Tasks Interactions
Press “Enter”
Type “Walk the dog”
Mark as complete
Record an item
Filter the list
Record things
I need to do
@Wakaleo @JanMolak#SerenityBDD
		Actor	james	=	Actor.named(“James”);	actor
@Wakaleo @JanMolak#SerenityBDD
		@Managed	WebDriver	hisBrowser;	
		…	
		

		james.can(BrowseTheWeb.with(hisBrowser));	
an actor
has
abilities
@Wakaleo @JanMolak#SerenityBDD
		james.attemptsTo(

						AddATodoItem.called("Buy	some	milk")

		);	
an actor
performs
tasks
@Wakaleo @JanMolak#SerenityBDD
	@Given(“^.*	has	a	todo	list	containing	(.*)$")

	public	void	has_a_list_with(List<String>	items)	{	
				james.attemptsTo(	
								Start.withATodoListContaining(items)	
				);

	}	
an actor
performs
tasks
@Wakaleo @JanMolak#SerenityBDD
public	class	Start	implements	Task	{



		@Step("{0}	starts	with	#items")

		public	<T	extends	Actor>	void	performAs(T	actor)	{

					actor.attemptsTo(	
									Open.browserOn().the(applicationHomePage),

									AddTodoItems.called(items))	
					);

		}	
		//	...	
}
tasks
can use
other
tasks
@Wakaleo @JanMolak#SerenityBDD
public	class	AddATodoItem	implements	Task	{



		@Step("{0}	adds	a	todo	item	called:	#thingToDo")

		public	void	performAs(Actor	theActor)	{

						theActor.attemptsTo(

										Enter.theValue(thingToDo)

															.into(TodoList.WHAT_NEEDS_TO_BE_DONE)

															.thenHit(RETURN)

						);

		}	
		//	...	

}
tasks
use
inter-
actions
@Wakaleo @JanMolak#SerenityBDD
public class TodoList {
public static Target WHAT_NEEDS_TO_BE_DONE = Target.the("'What needs to be done?' field")
.locatedBy(“#new-todo");
public static Target ITEMS = Target.the("List of todo items")
.locatedBy(".view label");
public static Target ITEMS_LEFT = Target.the("Count of items left")
.locatedBy("#todo-count strong”);
public static Target FILTER = Target.the("filter")
.locatedBy("//*[@id='filters']//a[.='{0}']");
}
Page
Objects
are much
simpler
Automation and
Feedback
@Wakaleo @JanMolak#SerenityBDD
Requirements
Discovery
Software
Craftsmanship
Learn Build
Measure
@Wakaleo @JanMolak#SerenityBDD
Levels of communication
-
+
@Wakaleo @JanMolak#SerenityBDD
10,000 ft

Release Readiness
-
+
@Wakaleo @JanMolak#SerenityBDD
1000 ft

Capabilities and Features
-
+
@Wakaleo @JanMolak#SerenityBDD
100 ft

Scenarios and Steps
-
+
Focus on
outstanding
items
@Wakaleo @JanMolak#SerenityBDD
Actor Goals Capabilities Features
Keeping the
list up to date
Mark as
complete
Record an
item
Remove an
item
Focus on
important
tasks
Scenarios
Complete a
todo item
@Wakaleo @JanMolak#SerenityBDD
Release
Readiness
-
+
-
+
@Wakaleo @JanMolak#SerenityBDD
Release
Readiness
Capabilities
-
+
@Wakaleo @JanMolak#SerenityBDD
Release
Readiness
Capabilities
Features
-
+
@Wakaleo @JanMolak#SerenityBDD
Release
Readiness
Capabilities
Features
Scenarios
@Wakaleo @JanMolak#SerenityBDD
‣ “Page Objects Refactored: SOLID Steps to the Screenplay/
Journey Pattern” - DZone 

Antony Marcano, Andy Palmer, Jan Molak, John Ferguson Smart 

bit.ly/screenplay-page-objects
‣ “Beyond Page Objects: Next Generation Test Automation
with Serenity and the Screenplay Pattern” - InfoQ

John Ferguson Smart, Antony Marcano, Andy Palmer, Jan Molak
bit.ly/screenplay-introduction
Want to know more?
@Wakaleo @JanMolak#SerenityBDD
Want to know more?
Learn about Serenity:

serenity-bdd.info
Learn more about BDD and Serenity, and how we can help:

http://johnfergusonsmart.com
See the project in action:

bit.ly/screenplay-jvm-demo
@Wakaleo @JanMolak#SerenityBDD
Questions?
AUTHOR OF ‘BDD IN ACTION’
@wakaleo
www.johnfergusonsmart.com

Contenu connexe

Similaire à Screenplay - Next generation automated acceptance testing

Behaviour driven architecture
Behaviour driven architectureBehaviour driven architecture
Behaviour driven architectureJan Molak
 
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015Click Consult (Part of Ceuta Group)
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...Eurapp
 
Optimizing for Mobile First Index
Optimizing for Mobile First IndexOptimizing for Mobile First Index
Optimizing for Mobile First IndexJamie Indigo
 
Where are you in your mobile maturity … and where do you want to be?
Where are you in your mobile maturity … and where do you want to be?Where are you in your mobile maturity … and where do you want to be?
Where are you in your mobile maturity … and where do you want to be?Axway Appcelerator
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramQA or the Highway
 
Compuware ASEAN APM User Conference 2013 - University of Customer Experience
Compuware ASEAN APM User Conference 2013 - University of Customer ExperienceCompuware ASEAN APM User Conference 2013 - University of Customer Experience
Compuware ASEAN APM User Conference 2013 - University of Customer ExperienceCompuware ASEAN
 
Car Cybersecurity: What do Automakers Really Think?
Car Cybersecurity: What do Automakers Really Think?Car Cybersecurity: What do Automakers Really Think?
Car Cybersecurity: What do Automakers Really Think?Security Innovation
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and MochaAtish Narlawar
 
Designing a secure software development process with DevOps
Designing a secure software development process with DevOpsDesigning a secure software development process with DevOps
Designing a secure software development process with DevOpsMike Long
 
DarkReading - Securing Your APIs What You Need to Know.pdf
DarkReading - Securing Your APIs What You Need to Know.pdfDarkReading - Securing Your APIs What You Need to Know.pdf
DarkReading - Securing Your APIs What You Need to Know.pdftanguran
 
'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOpsCA Technologies
 
"Security is Everybody's Job", Akira Brand
"Security is Everybody's Job", Akira Brand"Security is Everybody's Job", Akira Brand
"Security is Everybody's Job", Akira BrandFwdays
 
The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptxMonica Beckwith
 
Integrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirementsIntegrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirementsNagarro
 
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & Tools
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & ToolsHow to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & Tools
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & ToolsAleyda Solís
 
Progressive enhancement: a mindset for designing no-code platforms - No Code ...
Progressive enhancement: a mindset for designing no-code platforms - No Code ...Progressive enhancement: a mindset for designing no-code platforms - No Code ...
Progressive enhancement: a mindset for designing no-code platforms - No Code ...Webflow
 
kirusanthan_Automotive_validation_engineer_4Year_experince
kirusanthan_Automotive_validation_engineer_4Year_experincekirusanthan_Automotive_validation_engineer_4Year_experince
kirusanthan_Automotive_validation_engineer_4Year_experinceGiri Kirush
 

Similaire à Screenplay - Next generation automated acceptance testing (20)

Behaviour driven architecture
Behaviour driven architectureBehaviour driven architecture
Behaviour driven architecture
 
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015
Understanding The Mobile SEO Opportunity | Benchmark Search Conference 2015
 
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn..."How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
"How Can Web Devs Reach the Mobile Market?" by Dimitris Michalakos, Web Techn...
 
Optimizing for Mobile First Index
Optimizing for Mobile First IndexOptimizing for Mobile First Index
Optimizing for Mobile First Index
 
Where are you in your mobile maturity … and where do you want to be?
Where are you in your mobile maturity … and where do you want to be?Where are you in your mobile maturity … and where do you want to be?
Where are you in your mobile maturity … and where do you want to be?
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita Puram
 
Compuware ASEAN APM User Conference 2013 - University of Customer Experience
Compuware ASEAN APM User Conference 2013 - University of Customer ExperienceCompuware ASEAN APM User Conference 2013 - University of Customer Experience
Compuware ASEAN APM User Conference 2013 - University of Customer Experience
 
Car Cybersecurity: What do Automakers Really Think?
Car Cybersecurity: What do Automakers Really Think?Car Cybersecurity: What do Automakers Really Think?
Car Cybersecurity: What do Automakers Really Think?
 
Car cybersecurity: What do automakers really think?
Car cybersecurity: What do automakers really think?Car cybersecurity: What do automakers really think?
Car cybersecurity: What do automakers really think?
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
 
Designing a secure software development process with DevOps
Designing a secure software development process with DevOpsDesigning a secure software development process with DevOps
Designing a secure software development process with DevOps
 
DarkReading - Securing Your APIs What You Need to Know.pdf
DarkReading - Securing Your APIs What You Need to Know.pdfDarkReading - Securing Your APIs What You Need to Know.pdf
DarkReading - Securing Your APIs What You Need to Know.pdf
 
'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps
 
resume
resumeresume
resume
 
"Security is Everybody's Job", Akira Brand
"Security is Everybody's Job", Akira Brand"Security is Everybody's Job", Akira Brand
"Security is Everybody's Job", Akira Brand
 
The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptx
 
Integrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirementsIntegrating AI in software quality in absence of a well-defined requirements
Integrating AI in software quality in absence of a well-defined requirements
 
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & Tools
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & ToolsHow to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & Tools
How to Perform a Mobile Web & App SEO Audit: Key Criteria, Validations & Tools
 
Progressive enhancement: a mindset for designing no-code platforms - No Code ...
Progressive enhancement: a mindset for designing no-code platforms - No Code ...Progressive enhancement: a mindset for designing no-code platforms - No Code ...
Progressive enhancement: a mindset for designing no-code platforms - No Code ...
 
kirusanthan_Automotive_validation_engineer_4Year_experince
kirusanthan_Automotive_validation_engineer_4Year_experincekirusanthan_Automotive_validation_engineer_4Year_experince
kirusanthan_Automotive_validation_engineer_4Year_experince
 

Plus de John Ferguson Smart Limited

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosJohn Ferguson Smart Limited
 
Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...John Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
Sustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplaySustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplayJohn Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...John Ferguson Smart Limited
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...John Ferguson Smart Limited
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesJohn Ferguson Smart Limited
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersJohn Ferguson Smart Limited
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityJohn Ferguson Smart Limited
 

Plus de John Ferguson Smart Limited (20)

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
 
Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANTBE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
 
Sustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplaySustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and Screenplay
 
Feature Mapping Workshop
Feature Mapping WorkshopFeature Mapping Workshop
Feature Mapping Workshop
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
 
Shift left-devoxx-pl
Shift left-devoxx-plShift left-devoxx-pl
Shift left-devoxx-pl
 
Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practices
 
CukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning WorkshopCukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning Workshop
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
Serenity and the Journey Pattern
Serenity and the Journey PatternSerenity and the Journey Pattern
Serenity and the Journey Pattern
 
BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for Testers
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and Serenity
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Screenplay - Next generation automated acceptance testing