SlideShare a Scribd company logo
@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
Ad

More Related Content

What's hot (6)

Art of Persuasion by Perry Belcher
Art of Persuasion by Perry BelcherArt of Persuasion by Perry Belcher
Art of Persuasion by Perry Belcher
Perry Belcher
 
E-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEOE-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEO
Ian Lurie
 
8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website
SiteGround.com
 
Hands-On With Reactive Web Design
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web Design
OutSystems
 
Data Driven SEO in iGaming niche
Data Driven SEOin iGaming nicheData Driven SEOin iGaming niche
Data Driven SEO in iGaming niche
SeoProfy Presentations
 
Victor Karpenko (SeoProfy) CMSEO 2019 Presentation
Victor Karpenko (SeoProfy) CMSEO 2019 PresentationVictor Karpenko (SeoProfy) CMSEO 2019 Presentation
Victor Karpenko (SeoProfy) CMSEO 2019 Presentation
SeoProfy Presentations
 
Art of Persuasion by Perry Belcher
Art of Persuasion by Perry BelcherArt of Persuasion by Perry Belcher
Art of Persuasion by Perry Belcher
Perry Belcher
 
E-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEOE-A-T: Myths, Truths, And Implications for SEO
E-A-T: Myths, Truths, And Implications for SEO
Ian Lurie
 
8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website8 Ways to Hack a WordPress website
8 Ways to Hack a WordPress website
SiteGround.com
 
Hands-On With Reactive Web Design
Hands-On With Reactive Web DesignHands-On With Reactive Web Design
Hands-On With Reactive Web Design
OutSystems
 
Victor Karpenko (SeoProfy) CMSEO 2019 Presentation
Victor Karpenko (SeoProfy) CMSEO 2019 PresentationVictor Karpenko (SeoProfy) CMSEO 2019 Presentation
Victor Karpenko (SeoProfy) CMSEO 2019 Presentation
SeoProfy Presentations
 

Similar to Screenplay - Next generation automated acceptance testing (20)

Serenity/JS - next generation acceptance testing for modern web applications
Serenity/JS - next generation acceptance testing for modern web applicationsSerenity/JS - next generation acceptance testing for modern web applications
Serenity/JS - next generation acceptance testing for modern web applications
Jan Molak
 
Microservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrowMicroservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrow
Jonah Kowall
 
Code Review: How And When
Code Review: How And WhenCode Review: How And When
Code Review: How And When
Paul Gower
 
Behaviour driven architecture
Behaviour driven architectureBehaviour driven architecture
Behaviour driven architecture
Jan 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 2015
Click 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 Index
Jamie 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 Puram
QA 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 Experience
Compuware 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
 
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?
OnBoard Security, Inc. - a Qualcomm Company
 
Bdd with Cucumber and Mocha
Bdd with Cucumber and MochaBdd with Cucumber and Mocha
Bdd with Cucumber and Mocha
Atish 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 DevOps
Mike 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.pdf
tanguran
 
'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps
CA Technologies
 
resume
resumeresume
resume
keshav parashar
 
"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
Fwdays
 
The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptx
Monica 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 requirements
Nagarro
 
Serenity/JS - next generation acceptance testing for modern web applications
Serenity/JS - next generation acceptance testing for modern web applicationsSerenity/JS - next generation acceptance testing for modern web applications
Serenity/JS - next generation acceptance testing for modern web applications
Jan Molak
 
Microservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrowMicroservices the modern it stack trends of tomorrow
Microservices the modern it stack trends of tomorrow
Jonah Kowall
 
Code Review: How And When
Code Review: How And WhenCode Review: How And When
Code Review: How And When
Paul Gower
 
Behaviour driven architecture
Behaviour driven architectureBehaviour driven architecture
Behaviour driven architecture
Jan 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 2015
Click 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 Index
Jamie 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 Puram
QA 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 Experience
Compuware 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 Mocha
Atish 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 DevOps
Mike 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.pdf
tanguran
 
'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps'Shift-Right' - Rapid Evolution with DesignOps
'Shift-Right' - Rapid Evolution with DesignOps
CA 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 Brand
Fwdays
 
The ilities of software engineering.pptx
The ilities of software engineering.pptxThe ilities of software engineering.pptx
The ilities of software engineering.pptx
Monica 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 requirements
Nagarro
 
Ad

More from 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
John 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 difference
John Ferguson Smart Limited
 
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
John 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 Screenplay
John Ferguson Smart Limited
 
Feature Mapping Workshop
Feature Mapping WorkshopFeature Mapping Workshop
Feature Mapping Workshop
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 difference
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
 
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
 
Shift left-devoxx-pl
Shift left-devoxx-plShift left-devoxx-pl
Shift left-devoxx-pl
John Ferguson Smart Limited
 
Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
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 practices
John Ferguson Smart Limited
 
CukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning WorkshopCukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning Workshop
John Ferguson Smart Limited
 
Serenity and the Journey Pattern
Serenity and the Journey PatternSerenity and the Journey Pattern
Serenity and the Journey Pattern
John Ferguson Smart Limited
 
BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!
John Ferguson Smart Limited
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
John Ferguson Smart Limited
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
John 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 Testers
John Ferguson Smart Limited
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
John Ferguson Smart Limited
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
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 Scenarios
John 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 difference
John 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 Screenplay
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 difference
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
 
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 practices
John 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 Testers
John Ferguson Smart Limited
 
BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
John Ferguson Smart Limited
 
Ad

Recently uploaded (20)

Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 

Screenplay - Next generation automated acceptance testing