SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
@JanMolak@wakaleo
The next step in automated testing practices
All the world’s a stage
@wakaleo @JanMolak
John
Ferguson
Smart
John Ferguson Smart
“I help teams of smart people 

learn to work together more efficiently, 

to deliver better software sooner”
@wakaleo @JanMolak
Jan Molak
“Having great ideas is not enough, 

it’s the execution that matters”
JanMolak jan.molak@smartcodeltd.co.uk
Jan Molak
@wakaleo @JanMolak
Test Automation
Do it well, or don’t do it at all
@JanMolak@wakaleo
How much are your tests worth?
Weekly cost
vs
weekly savings
$0
$20,000
$40,000
$60,000
$80,000
$100,000
$120,000
$140,000
$160,000
$180,000
1/09/2015 1/10/2015 1/11/2015 1/12/2015
Test0suite0cost0vs0savings0(per0week)
Cost0saved0par0week Test0suite0cost0per0week
Team cost is constant
Time saved increases with the
number of executed tests
@JanMolak@wakaleo
How much are your tests worth?
$0
$200,000
$400,000
$600,000
$800,000
$1,000,000
$1,200,000
1/09/2015 1/10/2015 1/11/2015 1/12/2015
What0is0your0test0suite0worth?
Test0suite0ROI Test0suite0cost
Cumulated cost
vs
cumulated savings
Cumulated value should increase
faster than cumulated cost
@JanMolak@wakaleo
Now factor in high maintenance
40-60%
Typical maintenance overhead
for poorly-written test suites
@JanMolak@wakaleo
Now factor in high maintenance
Number of tests
Maintenanceoverhead
@JanMolak@wakaleo
$0
$50,000
$100,000
$150,000
$200,000
$250,000
$300,000
$350,000
$400,000
$450,000
$500,000
1/09/2015 1/10/2015 1/11/2015 1/12/2015 1/01/2016
What0is0your0test0suite0worth?
Test0suite0cost Test0suite0ROI
Now factor in high maintenance
High-maintenance costs
reduce the number of
tests a team can write
High maintenance costs can
cause your test suite to lose value
@wakaleo
Narrative Coding
Style
Open-Closed
Principle
Single
Responsibility
Principle
Separation of
Concerns
Software Engineering Principles can help you write
more maintainable tests
@wakaleo
Narrative Coding
Style
Open-Closed
Principle
Single
Responsibility
Principle
Separation of
Concerns
Software Engineering Principles can help you write
more maintainable tests
@wakaleo
Narrative Coding
Style
Open-Closed
Principle
Single
Responsibility
Principle
Separation of
Concerns
Software Engineering Principles can help you write
more maintainable tests
@wakaleo
Narrative Coding
Style
Open-Closed
Principle
Single
Responsibility
Principle
Separation of
Concerns
Software Engineering Principles can help you write
more maintainable tests
@wakaleo
Narrative Coding
Style
Open-Closed
Principle
Single
Responsibility
Principle
Separation of
Concerns
Software Engineering Principles can help you write
more maintainable tests
@JanMolak@wakaleo
Separation of Concerns - Layers
Goals
Tasks
Actions
What are you trying to achieve?
What do you need to do to achieve
this goal?
What interactions with the
system do you need for each
task?
16
@JanMolak@wakaleo
Separation of Concerns - Layers
Scenario: Add a new todo entry on the todo home page

Given I am on the Todo application home page

When I enter 'Buy some milk' into the New Todo field

And I press ENTER

Then the todo list box should contain 'Buy some milk'
@JanMolak@wakaleo
Separation of Concerns - Layers
Scenario: Add a new todo entry on the todo home page

Given I am on the Todo application home page

When I enter 'Buy some milk' into the New Todo field

And I press ENTER

Then the todo list box should contain 'Buy some milk'
Scenario: Record a new todo action for future use

Given I need to buy some milk

When I add the todo action 'Buy some milk'

Then 'Buy some milk' should be recorded in my todo list
@wakaleo
Feature documentationDetailed feedbackHigh level feedback
Communication and documentation
@wakaleo @JanMolak
Serenity BDD
“Because life is too short to
h a v e t o m a i n t a i n u g l y
automated test suites”
@wakaleo
Living
documentation
Strong Selenium
WebDriver support
JUnit, Cucumber
or JBehave
A layered approach
Serenity BDD
@JanMolak@wakaleo
The Serenity layered architecture
Goals
Tasks
Interactions
Tests or scenarios
“Steps”
Page Objects or other technical
components
@JanMolak@wakaleo
The Serenity layered architecture
Feature: Add new todos

James needs to be able to jot down actions he needs to do as he
thinks of them



Scenario: Record a new todo action for future use

Given James needs to buy some milk

When James adds the todo action 'Buy some milk'

Then 'Buy some milk' should be recorded in his todo list
A goal
A task
@Steps ATodoUser james;



@When(“^(?:.*) (?:adds|has added) the todo action '(.*)'$")

public void add_the_todo_action(String actionName) {

james.adds_an_action_called(actionName);

}
The task definition
TodoPage onTheTodoHomePage;



@Step

public void adds_an_action_called(String actionName) {

onTheTodoHomePage.addAnActionCalled(actionName);

}
An interaction
@JanMolak@wakaleo
Serenity for Living Documentation
Feature: Add new todos

I need to be able to jot down actions I need to do as fast as I think of them



Scenario: Record a new todo action for future use

Given I need to buy some milk

When I add the todo action 'Buy some milk'

Then 'Buy some milk' should be recorded in my todo list
@wakaleo
Coding demo
26
@wakaleo
Hard to apply to
Single Page Apps
Need modifications
to extend
Multiple
Responsibilities
Bloat
Page Objects considered harmful
@wakaleo @JanMolak
Introducing the Screenplay
Pattern
@wakaleo
Highly readable
style
Encourages reuse
and maintainable,
scaleable code
Small, reusable
interaction
components
User-centric
The Screenplay Pattern
@JanMolak@wakaleo
Origins of the Screenplay Pattern in Serenity
Antony Marcano
“Page Objects kinda suck. Why
not try this pattern instead?”
Agile Alliance Functional Test Tools Workshop 2007
2007
*
* Based on actual events
@JanMolak@wakaleo
Origins of the Screenplay Pattern in Serenity
Antony Marcano
2007 2009
More people should know
about this pattern
JNarrate
Andy Palmer
Let’s write a reference
implementation!
@JanMolak@wakaleo
Origins of the Screenplay Pattern in Serenity
Antony Marcano
2007 2009
“Coronation Street”
rocks
2012
Andy Palmer
Eureka! “Soap Opera Personas”
@JanMolak@wakaleo
Andy Palmer
Origins of the Screenplay Pattern in Serenity
Antony Marcano
2007 2009 2012
Jan Molak
You should call this “The
Journey Pattern”
Damn!
Why didn’t we
think of that!
@JanMolak@wakaleo
Andy
Palmer
Origins of the Screenplay Pattern in Serenity
Antony
Marcano
2007 2009 2012
Jan Molak
2015
John Smart
Serenity is cool
So let’s make it
happen!
But it needs the
Journey Pattern
@JanMolak@wakaleo
Andy
Palmer
Origins of the Screenplay Pattern in Serenity
Antony
Marcano
2007 2009 2012 2015
John Smart
Actually, the pattern has
evolved a lot
Jan Molak
Let’s call it the
‘Screenplay’ pattern
@JanMolak@wakaleo
The Screenplay Pattern - A User-Centric model
Actors have goals I’d like to be able to recall all
the things I need to do
Meet James
@JanMolak@wakaleo
The Screenplay Pattern - A User-Centric model
Actors have abilities I can browse the web with my
browser
I can also query REST services
@JanMolak@wakaleo
I’d like to be able to recall all
the things I need to do
The Screenplay Pattern - A User-Centric model
Actors perform tasks
I’ll add ‘Buy some milk’ to my
todo list
@JanMolak@wakaleo
I’d like to be able to recall all
the things I need to do
The Screenplay Pattern - A User-Centric model
Actors may interact with the system to
perform these tasks
I’ll add ‘Buy some milk’ to my
todo list
Type ‘Buy the milk’
Press ‘ENTER’
@JanMolak@wakaleo
The Screenplay Pattern in Serenity
Actors have goals
Feature: Add new todos

James would like to be able to recall all the things he needs to do



Scenario: Record a new todo action for future use

Given James needs to buy some milk

When James adds the todo action 'Buy some milk'

Then 'Buy some milk' should be recorded in his todo list
I’d like to be able to recall all
the things I need to do
@JanMolak@wakaleo
A User-Centric model
Actors have abilities I can browse the web with my
browser
Actor james = Actor.named(“James");
@Managed

WebDriver hisBrowser;
…
james.can(BrowseTheWeb.with(hisBrowser));
@JanMolak@wakaleo
A User-Centric model
Actors perform tasks I’ll add ‘Buy some milk’ to my
todo list
@Steps

AddItem addATodoItem;
…
james.attemptsTo(addATodoItem.called("Buy some milk"));
@JanMolak@wakaleo
A User-Centric model
Actors perform tasks I’ll add ‘Buy some milk’ to my
todo list
@Steps

AddItem addATodoItem;
…
james.attemptsTo(addATodoItem.called("Buy some milk"));
actor.attemptsTo(

Enter.theValue(thingToDo).into(ToDoList.NEW_TODO_FIELD),

Hit.the(RETURN).keyIn(ToDoList.NEW_TODO_FIELD)

);
Type ‘Buy the milk’
Press ‘ENTER’
@JanMolak@wakaleo
A User-Centric model
james.should(seeThat(TheItems.displayed(), hasItem("Buy some milk")));
using a Hamcrest matcher
of a question
regarding the state
of the application
Check the answer
@JanMolak@wakaleo
A User-Centric model
Actor
Abilities
has
Tasks
Actions
performs
made up of
enable
Questions
asks
Elements
interact with
about the state of
Screen
on a
@wakaleo
Coding demo
47
@wakaleo
Focus on the user
journey and a
common business
vocabulary
Scales well to
teams with varying
levels of experience
Good design
principles leading
to lower
maintenance costs
Code reuse within
and across teams
Key Benefits
@JanMolak@wakaleo
References
• https://github.com/serenity-bdd/serenity-web-todomvc-journey

• “Beyond Page Objects: Next Generation Test Automation with
Serenity and the Screenplay Pattern” - InfoQ

• “Page Objects Refactored: SOLID Steps to the Screenplay/
Journey Pattern” - DZone

• http://www.serenity-bdd.info
@JanMolak@wakaleo
Want to learn more?
Ask us about training and mentoring
John Ferguson Smart
wakaleo
http://johnfergusonsmart.com
Jan Molak
http://janmolak.com
JanMolak

Contenu connexe

Tendances

iOS Testing With Appium at Gilt
iOS Testing With Appium at GiltiOS Testing With Appium at Gilt
iOS Testing With Appium at GiltGilt Tech Talks
 
Cleaning up a WordPress Mess
Cleaning up a WordPress MessCleaning up a WordPress Mess
Cleaning up a WordPress MessJonny Shaw
 
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Pebble Technology
 
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Brie Hoblin
 
A Principles Based Approach to SAFe
A Principles Based Approach to SAFeA Principles Based Approach to SAFe
A Principles Based Approach to SAFeEm Campbell-Pretty
 
7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testingSOASTA
 
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarVisual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarApplitools
 
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...Em Campbell-Pretty
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at EtsyPremshree Pillai
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessSOASTA
 
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchLoad Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchAcquia
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015Marcus Merrell
 
5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing StrategySOASTA
 
Designing Your Backend for Better User Experience (Ruby on Rails)
Designing Your Backend for Better User Experience (Ruby on Rails)Designing Your Backend for Better User Experience (Ruby on Rails)
Designing Your Backend for Better User Experience (Ruby on Rails)Elizabeth Hubertz
 
Visual AI Enhanced Testing on Dynamic Websites
Visual AI Enhanced Testing on Dynamic WebsitesVisual AI Enhanced Testing on Dynamic Websites
Visual AI Enhanced Testing on Dynamic WebsitesApplitools
 
Final tips holiday readiness 2015 for slide share
Final tips holiday readiness 2015 for slide shareFinal tips holiday readiness 2015 for slide share
Final tips holiday readiness 2015 for slide shareSOASTA
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013Nick Galbreath
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesCrashlytics
 

Tendances (20)

iOS Testing With Appium at Gilt
iOS Testing With Appium at GiltiOS Testing With Appium at Gilt
iOS Testing With Appium at Gilt
 
Cleaning up a WordPress Mess
Cleaning up a WordPress MessCleaning up a WordPress Mess
Cleaning up a WordPress Mess
 
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
Thomas Sarlandie Kickoff Talk | Pebble Developer Retreat 2014
 
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
 
A Principles Based Approach to SAFe
A Principles Based Approach to SAFeA Principles Based Approach to SAFe
A Principles Based Approach to SAFe
 
7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing7 steps to pragmatic mobile testing
7 steps to pragmatic mobile testing
 
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarVisual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
 
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...
How We Became World Leaders in Agile Data Warehousing - Teradata Partners - O...
 
Continuous Deployment at Etsy
Continuous Deployment at EtsyContinuous Deployment at Etsy
Continuous Deployment at Etsy
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
 
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth LaunchLoad Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
Load Testing & Drupal 8: What You Need to Do to Ensure a Smooth Launch
 
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015
 
5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy
 
Designing Your Backend for Better User Experience (Ruby on Rails)
Designing Your Backend for Better User Experience (Ruby on Rails)Designing Your Backend for Better User Experience (Ruby on Rails)
Designing Your Backend for Better User Experience (Ruby on Rails)
 
Visual AI Enhanced Testing on Dynamic Websites
Visual AI Enhanced Testing on Dynamic WebsitesVisual AI Enhanced Testing on Dynamic Websites
Visual AI Enhanced Testing on Dynamic Websites
 
Final tips holiday readiness 2015 for slide share
Final tips holiday readiness 2015 for slide shareFinal tips holiday readiness 2015 for slide share
Final tips holiday readiness 2015 for slide share
 
Making operations visible - devopsdays tokyo 2013
Making operations visible  - devopsdays tokyo 2013Making operations visible  - devopsdays tokyo 2013
Making operations visible - devopsdays tokyo 2013
 
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and PromisesBeyond DOM Manipulations: Building Stateful Modules with Events and Promises
Beyond DOM Manipulations: Building Stateful Modules with Events and Promises
 

En vedette

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 SoftwareJohn 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
 
Bdd training v5.2.0 - public
Bdd training   v5.2.0 - publicBdd training   v5.2.0 - public
Bdd training v5.2.0 - publicArnauld Loyer
 
Functional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyFunctional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyJohn 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 – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationJohn Ferguson Smart Limited
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleTasktop
 
#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistake#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistakeEwa Koprowska
 
Executable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveExecutable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveJohn Ferguson Smart Limited
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDDAlan Parkinson
 

En vedette (20)

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
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
 
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 Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
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
 
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
 
Bdd training-v1
Bdd training-v1Bdd training-v1
Bdd training-v1
 
Bdd training v5.2.0 - public
Bdd training   v5.2.0 - publicBdd training   v5.2.0 - public
Bdd training v5.2.0 - public
 
BDD: The unit test of the product owner
BDD: The unit test of the product ownerBDD: The unit test of the product owner
BDD: The unit test of the product owner
 
Functional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_uglyFunctional testing the_good_the_bad_and_the_ugly
Functional testing the_good_the_bad_and_the_ugly
 
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
 
Beyond Page Objects
Beyond Page ObjectsBeyond Page Objects
Beyond Page Objects
 
Serenity-BDD training
Serenity-BDD trainingSerenity-BDD training
Serenity-BDD training
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 
Beyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at ScaleBeyond the Scrum Team: Delivering "Done" at Scale
Beyond the Scrum Team: Delivering "Done" at Scale
 
#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistake#abe15 From SAFe to Nexus the story of a mistake
#abe15 From SAFe to Nexus the story of a mistake
 
Executable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDaveExecutable requirements: BDD with easyb and JDave
Executable requirements: BDD with easyb and JDave
 
Testing requirements with BDD
Testing requirements with BDDTesting requirements with BDD
Testing requirements with BDD
 

Similaire à All the world's a stage – the next step in automated testing practices

Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experimentslacyrhoades
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진VMware Tanzu Korea
 
Efficient Search Campaigns SAScon May 2012
Efficient Search Campaigns SAScon May 2012Efficient Search Campaigns SAScon May 2012
Efficient Search Campaigns SAScon May 2012Steve Lock
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOSteve Lock
 
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOsSearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOsDistilled
 
Double Loop: TDD & BDD Done Right!
Double Loop: TDD & BDD Done Right!Double Loop: TDD & BDD Done Right!
Double Loop: TDD & BDD Done Right!Jessica Mauerhan
 
ScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA AutomationScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA AutomationCOMAQA.BY
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsMikhail Laptev
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum teamagilebin
 
Double Loop: TDD & BDD Done Right
Double Loop: TDD & BDD Done RightDouble Loop: TDD & BDD Done Right
Double Loop: TDD & BDD Done RightJessica Mauerhan
 
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...
Migrating off legacy platforms while still delivering value -   DNA & SAFe AU...Migrating off legacy platforms while still delivering value -   DNA & SAFe AU...
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...Em Campbell-Pretty
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsYan Cui
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsYan Cui
 
Fast Track to Adobe Captivate
Fast Track to Adobe CaptivateFast Track to Adobe Captivate
Fast Track to Adobe Captivateeaselsolutions
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsNLJUG
 
Fast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
Fast prototyping apps using AngularJS, RequireJS and Twitter BootstrapFast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
Fast prototyping apps using AngularJS, RequireJS and Twitter BootstrapYuriy Silvestrov
 
Visual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonVisual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonMek Srunyu Stittri
 
Stories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoStories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoESUG
 
Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Yuriy Tymchuk
 

Similaire à All the world's a stage – the next step in automated testing practices (20)

Mobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B ExperimentsMobile App Feature Configuration and A/B Experiments
Mobile App Feature Configuration and A/B Experiments
 
SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진SpringOne Platform recap 정윤진
SpringOne Platform recap 정윤진
 
Efficient Search Campaigns SAScon May 2012
Efficient Search Campaigns SAScon May 2012Efficient Search Campaigns SAScon May 2012
Efficient Search Campaigns SAScon May 2012
 
International Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEOInternational Search Summit 2013 - International Magento SEO
International Search Summit 2013 - International Magento SEO
 
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOsSearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs
 
Double Loop: TDD & BDD Done Right!
Double Loop: TDD & BDD Done Right!Double Loop: TDD & BDD Done Right!
Double Loop: TDD & BDD Done Right!
 
ScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA AutomationScreenPlay Design Patterns for QA Automation
ScreenPlay Design Patterns for QA Automation
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
 
26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team26 story slicing techniques for any scrum team
26 story slicing techniques for any scrum team
 
Double Loop: TDD & BDD Done Right
Double Loop: TDD & BDD Done RightDouble Loop: TDD & BDD Done Right
Double Loop: TDD & BDD Done Right
 
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...
Migrating off legacy platforms while still delivering value -   DNA & SAFe AU...Migrating off legacy platforms while still delivering value -   DNA & SAFe AU...
Migrating off legacy platforms while still delivering value - DNA & SAFe AU...
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Fast Track to Adobe Captivate
Fast Track to Adobe CaptivateFast Track to Adobe Captivate
Fast Track to Adobe Captivate
 
Double Loop
Double LoopDouble Loop
Double Loop
 
Akka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based ApplicationsAkka in Practice: Designing Actor-based Applications
Akka in Practice: Designing Actor-based Applications
 
Fast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
Fast prototyping apps using AngularJS, RequireJS and Twitter BootstrapFast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
Fast prototyping apps using AngularJS, RequireJS and Twitter Bootstrap
 
Visual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonVisual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot Comparison
 
Stories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of PharoStories About Renraku — the new Quality Model of Pharo
Stories About Renraku — the new Quality Model of Pharo
 
Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)Stories About Renraku — the new Quality Model of Pharo (esug2016)
Stories About Renraku — the new Quality Model of Pharo (esug2016)
 

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
 

Plus de John Ferguson Smart Limited (16)

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...
 
Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
 
Its testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxxIts testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxx
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 
BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
 
Help! My Legacy Application is Unmaintainable!
Help! My Legacy Application is Unmaintainable!Help! My Legacy Application is Unmaintainable!
Help! My Legacy Application is Unmaintainable!
 

Dernier

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Dernier (20)

A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

All the world's a stage – the next step in automated testing practices