SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Building	
  the	
  “right”	
  
regression	
  suite	
  using	
  
Behavior	
  Driven	
  Tes5ng	
  
(BDT)	
  
Anand	
  Bagmar	
  
So#ware	
  Quality	
  Evangelist	
  
Principal	
  Consultant,	
  	
  	
  
abagmar@gmail.com	
  	
  
Anand.Bagmar@thoughtworks.com	
  
	
  
	
  	
  	
  	
  	
  @BagmarAnand	
  
	
  
about.me/anand.bagmar	
  
About	
  me	
  
What	
  do	
  you	
  expect	
  from	
  this	
  
session?	
  
Case	
  Study	
  
•  MulHple,	
  long	
  
running	
  projects	
  
•  Legacy	
  
applicaHons	
  
•  Integrated	
  
•  Limited	
  /	
  flaky	
  /	
  long-­‐running	
  
AutomaHon	
  	
  
•  Long	
  regression	
  cycle	
  
•  Huge	
  cost	
  of	
  fixing	
  defects	
  
FuncHonal	
  TesHng	
  Challenges	
  
•  BriRle	
  
•  LiRle	
  /	
  less	
  value	
  
•  No	
  visibility	
  into	
  what	
  is	
  tested	
  
•  Maintenance	
  nightmare	
  
•  Outdated	
  
•  Expensive	
  
As	
  a	
  result	
  
Biggest	
  problem	
  
•  Trust	
  deficit	
  on	
  the	
  team	
  
– In	
  exisHng	
  AutomaHon	
  
– In	
  manual	
  tesHng	
  
•  Finger	
  poinHng	
  /	
  blame	
  game	
  
My	
  Case	
  Study	
  
Concept	
  #	
  1	
  
	
  
The	
  Test	
  Pyramid	
  
AutomaHon	
  –	
  A	
  Safety	
  Net	
  
•  “Succeeding	
  with	
  Agile”	
  –	
  Mike	
  Cohn	
  
•  MarHn	
  Fowler	
  –	
  Test	
  Pyramid	
  
–  hRp://marHnfowler.com/bliki/TestPyramid.html	
  
The	
  Test	
  Pyramid	
  
Func%onal	
  Tests	
  (GUI)	
  
Web	
  Service	
  Tests	
  
View	
  Tests	
  
JavaScript	
  Tests	
  
Integra%on	
  tests	
  
Component	
  tests	
  
Unit	
  Tests	
  
Test	
  AutomaHon	
  Pyramid	
  
Manual	
  /	
  
Exploratory	
  
TesHng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
•  Cost	
  
•  Effort	
  
•  Time	
  
Test	
  Pyramid	
  reality	
  
Development	
  team	
  
Test	
  Pyramid	
   QA	
  team	
  
Test	
  Pyramid	
  
Func%onal	
  Tests	
  (GUI)	
  
Web	
  Service	
  Tests	
  
…	
  
…	
  	
  
Unit	
  Tests	
  
Manual	
  /	
  Exploratory	
  TesHng	
  
Test	
  	
  
Ice-­‐cream	
  cone	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
Test	
  Pyramid	
  –	
  AnH	
  PaRern	
  
Product	
  	
  
under	
  test	
  
Func%onal	
  Tests	
  (GUI)	
  
Web	
  Service	
  Tests	
  
…	
  
…	
  
Unit	
  Tests	
  
Manual	
  /	
  
Exploratory	
  
TesHng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
IdenHfy	
  the	
  right	
  type	
  of	
  tests	
  that	
  sit	
  
on	
  top	
  of	
  the	
  Test	
  Pyramid	
  
Concept	
  #	
  2	
  
	
  
BDD	
  &	
  BDT	
  
Behavior	
  Driven	
  Development	
  	
  
(BDD)	
  
RED	
  
GREEN	
  REFACTOR	
  
Behavior	
  Driven	
  TesHng	
  
(BDT)	
  
The	
  Big	
  Picture	
  
•  How	
  is	
  this	
  funcHonality	
  going	
  to	
  be	
  used	
  by	
  
the	
  end-­‐user?	
  	
  
•  What	
  is	
  their	
  thought	
  process	
  going	
  to	
  be	
  
when	
  using	
  this	
  product?	
  	
  
•  What	
  is	
  the	
  “core-­‐business-­‐value”	
  I	
  am	
  
delivering	
  to	
  the	
  end-­‐user?	
  
Concept	
  #	
  3	
  
	
  
Test	
  Specifica5on	
  Styles	
  
Test	
  specificaHon	
  styles	
  
•  ImperaHve	
  
	
  
•  DeclaraHve	
  
Search	
  	
  
Search	
  
Results	
  
Contact	
  
Informa%on	
  
An	
  example	
  
For	
  SomeAwesomeAirlines	
  website	
  –	
  
	
  
A	
  Guest	
  User	
  can	
  …	
  
ImperaHve	
  style	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  on	
  the	
  home	
  page	
  
And	
  I	
  choose	
  “round”	
  trip	
  opHon	
  
And	
  I	
  select	
  “Chicago”	
  from	
  the	
  origin	
  dropdown	
  
And	
  I	
  select	
  “San	
  Francisco”	
  from	
  the	
  desHnaHon	
  drop	
  down	
  
And	
  I	
  select	
  departure	
  date	
  as	
  “5	
  December	
  2013”	
  
And	
  I	
  select	
  returning	
  date	
  as	
  “25	
  December	
  2013”	
  
	
  
When	
  I	
  click	
  on	
  Search	
  
	
  
Then	
  I	
  should	
  see	
  the	
  search	
  results	
  page	
  	
  
And	
  I	
  should	
  see	
  at	
  least	
  1	
  opHon	
  for	
  my	
  criteria	
  
	
  
...	
  
…	
  
When	
  I	
  select	
  the	
  “first”	
  opHon	
  
Then	
  I	
  am	
  on	
  the	
  Contact	
  InformaHon	
  page	
  
	
  
When	
  I	
  enter	
  first	
  name	
  as	
  “foo”	
  
And	
  I	
  enter	
  last	
  name	
  as	
  “bar”	
  
…	
  
…	
  
And	
  I	
  click	
  the	
  “Select	
  and	
  Con%nue”	
  buRon	
  
	
  
Then	
  I	
  should	
  be	
  on	
  the	
  next	
  page	
  
	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  
	
  
When	
  I	
  search	
  for	
  flight	
  opHons	
  for	
  a	
  “one-­‐way”	
  trip	
  
for	
  “1”	
  “Adult”	
  from	
  “Chicago”	
  to	
  “San	
  Francisco”	
  
And	
  I	
  select	
  the	
  “first”	
  flight	
  
And	
  I	
  enter	
  “valid”	
  contact	
  details	
  for	
  “traveller1”	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  ConHnue	
  
DeclaraHve	
  style	
  
References	
  
•  Ben	
  Mabey	
  -­‐	
  
hRp://benmabey.com/2008/05/19/
imperaHve-­‐vs-­‐declaraHve-­‐scenarios-­‐in-­‐user-­‐
stories.html	
  
•  Alister	
  ScoR	
  -­‐	
  
hRp://waHrmelon.com/2010/12/10/
cucumber-­‐imperaHve-­‐or-­‐declaraHve-­‐that-­‐is-­‐
the-­‐quesHon/	
  
My	
  Case	
  Study	
  
•  Remove	
  the	
  ambiguity	
  
•  Same	
  visibility	
  for	
  all	
  
How	
  did	
  we	
  accomplish	
  this?	
  
•  IdenHfy	
  business	
  flows	
  based	
  on	
  personas,	
  
and	
  how	
  the	
  personas	
  use	
  the	
  business	
  
funcHonality,	
  or,	
  
•  IdenHfy	
  business	
  flows,	
  and	
  how	
  different	
  user	
  
personas	
  can	
  use	
  the	
  business	
  flows	
  
1st	
  candidate	
  
•  Automate!	
  
•  High	
  Value,	
  Low	
  
Cost	
  
2nd	
  candidate	
  
•  Automate!	
  
•  High	
  Value,	
  High	
  
Cost	
  
Can	
  Automate?	
  
•  Manual	
  
Regression?	
  
•  Low	
  Value,	
  Low	
  
Cost	
  
Do	
  Not	
  Automate	
  
•  Manual	
  
Regression!	
  
•  Low	
  Value,	
  High	
  
Cost	
  
High	
  
Value	
  
High	
  	
  
Cost	
  
Low	
  
Value	
  
Low	
  
Cost	
  
Who	
  is	
  doing	
  the	
  
acHon?	
  
What	
  is	
  the	
  business	
  
funcHonality?	
  
Depicts	
  a	
  user	
  flow	
  /	
  
user	
  journey	
  
Given	
  auc%oneer	
  creates	
  an	
  
aucHon	
  
And	
  5	
  vehicles	
  are	
  added	
  to	
  the	
  
aucHon	
  
	
  	
  	
  	
  	
  
When	
  auc%oneer	
  starts	
  the	
  aucHon	
  
And	
  auc%oneer	
  sets	
  a	
  starHng	
  bid	
  
of	
  5000	
  
And	
  buyer_1	
  bids	
  
And	
  buyer_2	
  bids	
  
	
  
Then	
  auc%oneer	
  Sells	
  the	
  vehicle	
  
And	
  buyer_2	
  wins	
  the	
  vehicle	
  
What	
  next?	
  
•  IdenHficaHon	
  of	
  Tests	
  
•  Automate	
  it!	
  
Automate	
  tests	
  that	
  are	
  valuable,	
  not	
  
because	
  you	
  can	
  or	
  like	
  to	
  automate!	
  
Who	
  is	
  doing	
  the	
  
acHon?	
  
What	
  is	
  the	
  business	
  
funcHonality?	
  
Depicts	
  a	
  user	
  flow	
  /	
  
user	
  journey	
  
Ac5ons	
  and	
  
verifica5ons	
  happen	
  
implicitly	
  
Given	
  auc%oneer	
  creates	
  an	
  
aucHon	
  
And	
  5	
  vehicles	
  are	
  added	
  to	
  the	
  
aucHon	
  
	
  	
  	
  	
  	
  
When	
  auc%oneer	
  starts	
  the	
  aucHon	
  
And	
  auc%oneer	
  sets	
  a	
  starHng	
  bid	
  
of	
  5000	
  
And	
  buyer_1	
  bids	
  
And	
  buyer_2	
  bids	
  
	
  
Then	
  auc%oneer	
  Sells	
  the	
  vehicle	
  
And	
  buyer_2	
  wins	
  the	
  vehicle	
  
Delete
profile
1st	
  candidate	
  
•  Automate!	
  
•  High	
  Value,	
  Low	
  
Cost	
  
2nd	
  candidate	
  
•  Automate!	
  
•  High	
  Value,	
  High	
  
Cost	
  
Can	
  Automate?	
  
•  Manual	
  
Regression?	
  
•  Low	
  Value,	
  Low	
  
Cost	
  
Do	
  Not	
  Automate	
  
•  Manual	
  
Regression!	
  
•  Low	
  Value,	
  High	
  
Cost	
  
High	
  
Value	
  
High	
  	
  
Cost	
  
Low	
  
Value	
  
Low	
  
Cost	
  
Final	
  state	
  
Project	
  Management	
  tool	
   Mingle	
  
Test	
  case	
  repository	
  (manual	
  +	
  
automated)	
  
Cucumber	
  .feature	
  files	
  with	
  
appropriate	
  tagging	
  
Feature	
  files	
  /	
  Scenarios	
   33	
  /	
  65	
  
#	
  of	
  Manual	
  Tests	
   0	
  
Tests	
  running	
  on	
  CI	
  (Jenkins)	
   Since	
  the	
  1st	
  test	
  was	
  automated	
  
Smoke	
  tests	
  execuHon	
  Hme	
   15	
  minutes	
  
Regression	
  tests	
  execuHon	
  Hme	
   45	
  minutes	
  
How	
  did	
  this	
  technique	
  ever	
  
become	
  successful?	
  
Context	
  is	
  KING!	
  
Domain	
  
Product-­‐
under-­‐test	
  
Distributed	
  
Teams	
  
Skills	
  
Capability	
  
Tech	
  Stack	
  
Process	
   Tools	
  
BDT	
  will	
  ….	
  
•  NOT	
  work	
  in	
  isola5on	
  
Requires	
  more	
  dedicated	
  and	
  focused	
  
tesHng	
  (manual	
  /	
  exploratory)	
  
Requires	
  lower	
  layers	
  of	
  Test	
  Pyramid	
  to	
  be	
  
automaHon	
  and	
  implemented	
  well!	
  
Func%onal	
  Tests	
  (GUI)	
  
Web	
  Service	
  Tests	
  
…	
  
…	
  
Unit	
  Tests	
  
Manual	
  /	
  
Exploratory	
  
TesHng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
IdenHfy	
  the	
  right	
  type	
  of	
  tests	
  that	
  sit	
  
on	
  top	
  of	
  the	
  Test	
  Pyramid	
  
AddiHonally	
  …	
  
•  Builds	
  and	
  deployments	
  are	
  automated	
  
•  FuncHonal	
  Performance	
  and	
  Concurrent	
  
TesHng	
  automated	
  and	
  run	
  on	
  demand	
  
BDT	
  Value	
  ProposiHon	
  
?	
  
Incrementally	
  
build	
  User	
  Flows	
  
Regress	
  required	
  
Product	
  Business	
  
Value	
  
Tests	
  in-­‐sync	
  
Effec%ve	
  Tests	
   	
  	
  
Remove	
  
ambiguity	
  
Understand	
  
new	
  
func%onality	
  
Living	
  
Documenta%on	
  
Onboarding	
  
Executable	
  
Specs	
  
BDT	
  
Scenarios	
  
	
  	
  
Func%onal	
  Tests	
  (GUI)	
  
Web	
  Service	
  Tests	
  
…	
  
…	
  
Unit	
  Tests	
  
BDT	
  helps	
  iden5fy	
  the	
  “right”	
  type	
  of	
  
regression	
  tests!	
  
Manual	
  /	
  
Exploratory	
  
TesHng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Tools	
  to	
  enable	
  BDT	
  
•  Whiteboards	
  
•  Mind	
  maps	
  
•  Flow	
  charts	
  
•  Collabora5on!!	
  
Automate	
  the	
  top	
  layer	
  
Automate	
  using	
  -­‐	
  	
  
	
  
•  BDD	
  Tools,	
  or,	
  
	
  
•  Directly	
  in	
  any	
  appropriate	
  programming	
  
language	
  /	
  tools	
  
abagmar@gmail.com	
  	
  
Anand.Bagmar@thoughtworks.com	
  
	
  
	
  	
  	
  	
  	
  @BagmarAnand	
  
	
  
about.me/anand.bagmar	
  
Thank	
  you	
  

Mais conteúdo relacionado

Mais procurados

What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?Anand Bagmar
 
Test pyramid agile pune conference
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conferenceSachin Natu
 
A/B Testing Framework Design
A/B Testing Framework DesignA/B Testing Framework Design
A/B Testing Framework DesignPatrick McKenzie
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable RequirementsIntergen
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSAnand Bagmar
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterTechWell
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?vodQA
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Ankur Sambhar
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingAnand Bagmar
 
Say NO To (More) Selenium Tests
Say NO To (More) Selenium TestsSay NO To (More) Selenium Tests
Say NO To (More) Selenium TestsAnand Bagmar
 
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum TeamScrum Breakfast Vietnam
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teamsgojkoadzic
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisAnand Bagmar
 
Cucumber From the Ground Up - Joseph Beale
Cucumber From the Ground Up - Joseph BealeCucumber From the Ground Up - Joseph Beale
Cucumber From the Ground Up - Joseph BealeQA or the Highway
 
Specification by example - course summary
Specification by example - course summarySpecification by example - course summary
Specification by example - course summaryJakub Holy
 
Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConfChris Lema
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...Mek Srunyu Stittri
 
Adam carmi
Adam carmiAdam carmi
Adam carmiCodeFest
 

Mais procurados (19)

What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 
Test pyramid agile pune conference
Test pyramid   agile pune conferenceTest pyramid   agile pune conference
Test pyramid agile pune conference
 
A/B Testing Framework Design
A/B Testing Framework DesignA/B Testing Framework Design
A/B Testing Framework Design
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable Requirements
 
BDD in Automation Testing
BDD in Automation TestingBDD in Automation Testing
BDD in Automation Testing
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 
Baking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile TesterBaking In Quality: The Evolving Role of the Agile Tester
Baking In Quality: The Evolving Role of the Agile Tester
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015
 
Enabling CD in Enterprises with Testing
Enabling CD in Enterprises with TestingEnabling CD in Enterprises with Testing
Enabling CD in Enterprises with Testing
 
Say NO To (More) Selenium Tests
Say NO To (More) Selenium TestsSay NO To (More) Selenium Tests
Say NO To (More) Selenium Tests
 
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team[HCM Scrum Breakfast] How to improve product quality in Scrum Team
[HCM Scrum Breakfast] How to improve product quality in Scrum Team
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teams
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
 
Cucumber From the Ground Up - Joseph Beale
Cucumber From the Ground Up - Joseph BealeCucumber From the Ground Up - Joseph Beale
Cucumber From the Ground Up - Joseph Beale
 
Specification by example - course summary
Specification by example - course summarySpecification by example - course summary
Specification by example - course summary
 
Impact Analysis - LoopConf
Impact Analysis - LoopConfImpact Analysis - LoopConf
Impact Analysis - LoopConf
 
The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...The journey to Native Cloud Architecture & Microservices, tracing the footste...
The journey to Native Cloud Architecture & Microservices, tracing the footste...
 
Adam carmi
Adam carmiAdam carmi
Adam carmi
 

Destaque

Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftAspire Systems
 
Strategies for Distributed Agile Testing
Strategies for Distributed Agile TestingStrategies for Distributed Agile Testing
Strategies for Distributed Agile TestingAnand Bagmar
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testingSlideshare
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?Anand Bagmar
 
Behavioral assessment
Behavioral assessmentBehavioral assessment
Behavioral assessmentEllain Durate
 
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)Thoughtworks
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?Anand Bagmar
 

Destaque (7)

Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
 
Strategies for Distributed Agile Testing
Strategies for Distributed Agile TestingStrategies for Distributed Agile Testing
Strategies for Distributed Agile Testing
 
Black box testing or behavioral testing
Black box testing or behavioral testingBlack box testing or behavioral testing
Black box testing or behavioral testing
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
 
Behavioral assessment
Behavioral assessmentBehavioral assessment
Behavioral assessment
 
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
​Build the ‘Right’ Regression Suite using Behavior Driven Testing (BDT)
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 

Semelhante a Building the "right" regression suite using Behavior Driven Testing (BDT)

Conversionista : Conversion manager course - Stockholm 20 march 2013
Conversionista : Conversion manager course  - Stockholm 20 march 2013Conversionista : Conversion manager course  - Stockholm 20 march 2013
Conversionista : Conversion manager course - Stockholm 20 march 2013Craig Sullivan
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabbleCraig Sullivan
 
Natural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamNatural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamCraig Sullivan
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.Test Evolve
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Niels Frydenholm
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...UserZoom
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingXBOSoft
 
Bt masterclass 2 - Value proposition development
Bt masterclass 2  -  Value proposition developmentBt masterclass 2  -  Value proposition development
Bt masterclass 2 - Value proposition developmentEmanuele Musa
 
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to Me
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to MeBrighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to Me
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to MeCraig Sullivan
 
Toolkits and tips of the conversion pros v 1.6
Toolkits and tips of the conversion pros v 1.6Toolkits and tips of the conversion pros v 1.6
Toolkits and tips of the conversion pros v 1.6Craig Sullivan
 
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...Invest Northern Ireland
 
Conversion Matters: Getting Started With CRO
Conversion Matters: Getting Started With CROConversion Matters: Getting Started With CRO
Conversion Matters: Getting Started With CROHanapin Marketing
 
12 reasons your site sucks - InvestNI
12 reasons your site sucks - InvestNI12 reasons your site sucks - InvestNI
12 reasons your site sucks - InvestNICraig Sullivan
 
Velocity Campus - Customer Discovery 2
Velocity Campus - Customer Discovery 2Velocity Campus - Customer Discovery 2
Velocity Campus - Customer Discovery 2Henry S
 

Semelhante a Building the "right" regression suite using Behavior Driven Testing (BDT) (20)

Conversionista : Conversion manager course - Stockholm 20 march 2013
Conversionista : Conversion manager course  - Stockholm 20 march 2013Conversionista : Conversion manager course  - Stockholm 20 march 2013
Conversionista : Conversion manager course - Stockholm 20 march 2013
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabble
 
Natural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamNatural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion Jam
 
Website Testing WINS!
Website Testing WINS!Website Testing WINS!
Website Testing WINS!
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
The complete guide to BDD + Cucumber Best Practices and Anti-Patterns.
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...
UserZoom Education Series - Research Deep Dive - Advanced - Task-Based TOL (b...
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance Testing
 
Bt masterclass 2 - Value proposition development
Bt masterclass 2  -  Value proposition developmentBt masterclass 2  -  Value proposition development
Bt masterclass 2 - Value proposition development
 
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to Me
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to MeBrighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to Me
Brighton CRO Meetup #1 - Oh Boy These AB tests Sure Look Like Bullshit to Me
 
One day Course On Agile
One day Course On AgileOne day Course On Agile
One day Course On Agile
 
Toolkits and tips of the conversion pros v 1.6
Toolkits and tips of the conversion pros v 1.6Toolkits and tips of the conversion pros v 1.6
Toolkits and tips of the conversion pros v 1.6
 
Prototype to production a startup perspective
Prototype to production   a startup perspectivePrototype to production   a startup perspective
Prototype to production a startup perspective
 
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...
Driving Online Sales - Craig Sullivan, The future of the online marketplace 2...
 
Conversion Matters: Getting Started With CRO
Conversion Matters: Getting Started With CROConversion Matters: Getting Started With CRO
Conversion Matters: Getting Started With CRO
 
12 reasons your site sucks - InvestNI
12 reasons your site sucks - InvestNI12 reasons your site sucks - InvestNI
12 reasons your site sucks - InvestNI
 
Grothues ndc oslo_2016
Grothues ndc oslo_2016Grothues ndc oslo_2016
Grothues ndc oslo_2016
 
Velocity Campus - Customer Discovery 2
Velocity Campus - Customer Discovery 2Velocity Campus - Customer Discovery 2
Velocity Campus - Customer Discovery 2
 

Mais de Anand Bagmar

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky TestsAnand Bagmar
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAnand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Anand Bagmar
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in AutomationAnand Bagmar
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteAnand Bagmar
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Anand Bagmar
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...Anand Bagmar
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Anand Bagmar
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0Anand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Anand Bagmar
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep DiveAnand Bagmar
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?Anand Bagmar
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E TestsAnand Bagmar
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Anand Bagmar
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumAnand Bagmar
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!Anand Bagmar
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidAnand Bagmar
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopAnand Bagmar
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingAnand Bagmar
 

Mais de Anand Bagmar (20)

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E Tests
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
 

Último

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Último (20)

Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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.
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Building the "right" regression suite using Behavior Driven Testing (BDT)

  • 1. Building  the  “right”   regression  suite  using   Behavior  Driven  Tes5ng   (BDT)   Anand  Bagmar   So#ware  Quality  Evangelist   Principal  Consultant,      
  • 2. abagmar@gmail.com     Anand.Bagmar@thoughtworks.com              @BagmarAnand     about.me/anand.bagmar   About  me  
  • 3. What  do  you  expect  from  this   session?  
  • 4. Case  Study   •  MulHple,  long   running  projects   •  Legacy   applicaHons   •  Integrated  
  • 5. •  Limited  /  flaky  /  long-­‐running   AutomaHon     •  Long  regression  cycle   •  Huge  cost  of  fixing  defects   FuncHonal  TesHng  Challenges  
  • 6. •  BriRle   •  LiRle  /  less  value   •  No  visibility  into  what  is  tested   •  Maintenance  nightmare   •  Outdated   •  Expensive   As  a  result  
  • 7. Biggest  problem   •  Trust  deficit  on  the  team   – In  exisHng  AutomaHon   – In  manual  tesHng   •  Finger  poinHng  /  blame  game  
  • 9.
  • 10. Concept  #  1     The  Test  Pyramid  
  • 11. AutomaHon  –  A  Safety  Net  
  • 12. •  “Succeeding  with  Agile”  –  Mike  Cohn   •  MarHn  Fowler  –  Test  Pyramid   –  hRp://marHnfowler.com/bliki/TestPyramid.html   The  Test  Pyramid  
  • 13. Func%onal  Tests  (GUI)   Web  Service  Tests   View  Tests   JavaScript  Tests   Integra%on  tests   Component  tests   Unit  Tests   Test  AutomaHon  Pyramid   Manual  /   Exploratory   TesHng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   •  Cost   •  Effort   •  Time  
  • 14.
  • 15. Test  Pyramid  reality   Development  team   Test  Pyramid   QA  team   Test  Pyramid  
  • 16. Func%onal  Tests  (GUI)   Web  Service  Tests   …   …     Unit  Tests   Manual  /  Exploratory  TesHng   Test     Ice-­‐cream  cone   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   Test  Pyramid  –  AnH  PaRern   Product     under  test  
  • 17. Func%onal  Tests  (GUI)   Web  Service  Tests   …   …   Unit  Tests   Manual  /   Exploratory   TesHng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   IdenHfy  the  right  type  of  tests  that  sit   on  top  of  the  Test  Pyramid  
  • 18. Concept  #  2     BDD  &  BDT  
  • 22. The  Big  Picture   •  How  is  this  funcHonality  going  to  be  used  by   the  end-­‐user?     •  What  is  their  thought  process  going  to  be   when  using  this  product?     •  What  is  the  “core-­‐business-­‐value”  I  am   delivering  to  the  end-­‐user?  
  • 23. Concept  #  3     Test  Specifica5on  Styles  
  • 24. Test  specificaHon  styles   •  ImperaHve     •  DeclaraHve  
  • 25. Search     Search   Results   Contact   Informa%on   An  example   For  SomeAwesomeAirlines  website  –     A  Guest  User  can  …  
  • 26. ImperaHve  style   Given  I  am  a  guest  user  on  the  home  page   And  I  choose  “round”  trip  opHon   And  I  select  “Chicago”  from  the  origin  dropdown   And  I  select  “San  Francisco”  from  the  desHnaHon  drop  down   And  I  select  departure  date  as  “5  December  2013”   And  I  select  returning  date  as  “25  December  2013”     When  I  click  on  Search     Then  I  should  see  the  search  results  page     And  I  should  see  at  least  1  opHon  for  my  criteria     ...  
  • 27. …   When  I  select  the  “first”  opHon   Then  I  am  on  the  Contact  InformaHon  page     When  I  enter  first  name  as  “foo”   And  I  enter  last  name  as  “bar”   …   …   And  I  click  the  “Select  and  Con%nue”  buRon     Then  I  should  be  on  the  next  page    
  • 28. Given  I  am  a  guest  user     When  I  search  for  flight  opHons  for  a  “one-­‐way”  trip   for  “1”  “Adult”  from  “Chicago”  to  “San  Francisco”   And  I  select  the  “first”  flight   And  I  enter  “valid”  contact  details  for  “traveller1”     Then  I  am  able  to  Save  and  ConHnue   DeclaraHve  style  
  • 29. References   •  Ben  Mabey  -­‐   hRp://benmabey.com/2008/05/19/ imperaHve-­‐vs-­‐declaraHve-­‐scenarios-­‐in-­‐user-­‐ stories.html   •  Alister  ScoR  -­‐   hRp://waHrmelon.com/2010/12/10/ cucumber-­‐imperaHve-­‐or-­‐declaraHve-­‐that-­‐is-­‐ the-­‐quesHon/  
  • 31.
  • 32.
  • 33.
  • 34. •  Remove  the  ambiguity   •  Same  visibility  for  all  
  • 35. How  did  we  accomplish  this?  
  • 36.
  • 37. •  IdenHfy  business  flows  based  on  personas,   and  how  the  personas  use  the  business   funcHonality,  or,   •  IdenHfy  business  flows,  and  how  different  user   personas  can  use  the  business  flows  
  • 38.
  • 39. 1st  candidate   •  Automate!   •  High  Value,  Low   Cost   2nd  candidate   •  Automate!   •  High  Value,  High   Cost   Can  Automate?   •  Manual   Regression?   •  Low  Value,  Low   Cost   Do  Not  Automate   •  Manual   Regression!   •  Low  Value,  High   Cost   High   Value   High     Cost   Low   Value   Low   Cost  
  • 40. Who  is  doing  the   acHon?   What  is  the  business   funcHonality?   Depicts  a  user  flow  /   user  journey   Given  auc%oneer  creates  an   aucHon   And  5  vehicles  are  added  to  the   aucHon             When  auc%oneer  starts  the  aucHon   And  auc%oneer  sets  a  starHng  bid   of  5000   And  buyer_1  bids   And  buyer_2  bids     Then  auc%oneer  Sells  the  vehicle   And  buyer_2  wins  the  vehicle  
  • 41. What  next?   •  IdenHficaHon  of  Tests   •  Automate  it!  
  • 42. Automate  tests  that  are  valuable,  not   because  you  can  or  like  to  automate!  
  • 43. Who  is  doing  the   acHon?   What  is  the  business   funcHonality?   Depicts  a  user  flow  /   user  journey   Ac5ons  and   verifica5ons  happen   implicitly   Given  auc%oneer  creates  an   aucHon   And  5  vehicles  are  added  to  the   aucHon             When  auc%oneer  starts  the  aucHon   And  auc%oneer  sets  a  starHng  bid   of  5000   And  buyer_1  bids   And  buyer_2  bids     Then  auc%oneer  Sells  the  vehicle   And  buyer_2  wins  the  vehicle  
  • 45. 1st  candidate   •  Automate!   •  High  Value,  Low   Cost   2nd  candidate   •  Automate!   •  High  Value,  High   Cost   Can  Automate?   •  Manual   Regression?   •  Low  Value,  Low   Cost   Do  Not  Automate   •  Manual   Regression!   •  Low  Value,  High   Cost   High   Value   High     Cost   Low   Value   Low   Cost  
  • 46. Final  state   Project  Management  tool   Mingle   Test  case  repository  (manual  +   automated)   Cucumber  .feature  files  with   appropriate  tagging   Feature  files  /  Scenarios   33  /  65   #  of  Manual  Tests   0   Tests  running  on  CI  (Jenkins)   Since  the  1st  test  was  automated   Smoke  tests  execuHon  Hme   15  minutes   Regression  tests  execuHon  Hme   45  minutes  
  • 47. How  did  this  technique  ever   become  successful?  
  • 48. Context  is  KING!   Domain   Product-­‐ under-­‐test   Distributed   Teams   Skills   Capability   Tech  Stack   Process   Tools  
  • 49. BDT  will  ….   •  NOT  work  in  isola5on  
  • 50. Requires  more  dedicated  and  focused   tesHng  (manual  /  exploratory)  
  • 51. Requires  lower  layers  of  Test  Pyramid  to  be   automaHon  and  implemented  well!  
  • 52. Func%onal  Tests  (GUI)   Web  Service  Tests   …   …   Unit  Tests   Manual  /   Exploratory   TesHng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   IdenHfy  the  right  type  of  tests  that  sit   on  top  of  the  Test  Pyramid  
  • 53. AddiHonally  …   •  Builds  and  deployments  are  automated   •  FuncHonal  Performance  and  Concurrent   TesHng  automated  and  run  on  demand  
  • 55. ?   Incrementally   build  User  Flows   Regress  required   Product  Business   Value   Tests  in-­‐sync   Effec%ve  Tests       Remove   ambiguity   Understand   new   func%onality   Living   Documenta%on   Onboarding  
  • 56. Executable   Specs   BDT   Scenarios      
  • 57.
  • 58. Func%onal  Tests  (GUI)   Web  Service  Tests   …   …   Unit  Tests   BDT  helps  iden5fy  the  “right”  type  of   regression  tests!   Manual  /   Exploratory   TesHng   Product   under  test   Ideal  Test   Pyramid  
  • 59. Tools  to  enable  BDT   •  Whiteboards   •  Mind  maps   •  Flow  charts   •  Collabora5on!!  
  • 60. Automate  the  top  layer   Automate  using  -­‐       •  BDD  Tools,  or,     •  Directly  in  any  appropriate  programming   language  /  tools  
  • 61. abagmar@gmail.com     Anand.Bagmar@thoughtworks.com              @BagmarAnand     about.me/anand.bagmar   Thank  you