SlideShare a Scribd company logo
T14
Test Techniques
5/8/2014 1:30:00 PM
Build the Right Regression Suite
with Behavior-Driven Testing
Presented by:
Anand Bagmar
ThoughtWorks
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Anand Bagmar
ThoughtWorks
Anand Bagmar is a hands-on and result-oriented software quality evangelist with seventeen
years in the IT field. Passionate about shipping quality products, Anand specializes in building
automated testing tools, infrastructure, and frameworks. He writes testing-related blogs and has
built open-source tools related to software testing-WAAT (Web Analytics Automation Testing
Framework), TaaS (for automating integration testing in disparate systems), and TTA (Test
Trend Analyzer). Anand is the lead organizer for vodQA, the popular testing conference in India.
Follow him on Twitter @BagmarAnand, email him at abagmar@gmail.com, or read his Essence
of Testing blog.
Building	
  the	
  “right”	
  
regression	
  suite	
  using	
  
Behavior	
  Driven	
  Tes5ng	
  
(BDT)	
  
Anand	
  Bagmar	
  
So#ware	
  Quality	
  Evangelist	
  
Principal	
  Consultant,	
  ThoughtWorks	
  
•  “Succeeding	
  with	
  Agile”	
  –	
  Mike	
  Cohn	
  
•  MarCn	
  Fowler	
  –	
  Test	
  Pyramid	
  
–  hFp://marCnfowler.com/bliki/TestPyramid.html	
  
The	
  Test	
  Pyramid	
  
Func%onal	
  Tests	
  (GUI)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Web	
  Service	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Integra%on	
  tests	
  
• Developers	
  
Component	
  tests	
  
•  Developers	
  
Unit	
  Tests	
  
•  Developers	
  
Test	
  AutomaCon	
  Pyramid	
  
Manual	
  /	
  
Exploratory	
  
TesCng	
  
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)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Web	
  Service	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Integra%on	
  tests	
  
• Developers	
  
Component	
  tests	
  
•  Developers	
  
Unit	
  Tests	
  
•  Developers	
  
Manual	
  /	
  Exploratory	
  TesCng	
  
Test	
  	
  
Ice-­‐cream	
  cone	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
Test	
  Pyramid	
  –	
  AnC	
  PaFern	
  
Product	
  	
  
under	
  test	
  
Func%onal	
  Tests	
  (GUI)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Web	
  Service	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Integra%on	
  tests	
  
• Developers	
  
Component	
  tests	
  
•  Developers	
  
Unit	
  Tests	
  
•  Developers	
  
Manual	
  /	
  
Exploratory	
  
TesCng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
IdenCfy	
  the	
  right	
  type	
  of	
  tests	
  that	
  sit	
  
on	
  top	
  of	
  the	
  Test	
  Pyramid	
  
Case	
  Study	
  
•  MulCple,	
  long	
  
running	
  projects	
  
•  Legacy	
  
applicaCons	
  
•  Integrated	
  
•  Limited	
  AutomaCon	
  	
  
•  Long	
  regression	
  cycle	
  
•  Huge	
  cost	
  of	
  fixing	
  defects	
  
TesCng	
  Challenges	
  
•  No	
  visibility	
  into	
  what	
  is	
  tested	
  
•  Outdated	
  
•  BriFle	
  
•  LiFle	
  /	
  less	
  value	
  
•  Expensive	
  
•  Maintenance	
  nightmare	
  
As	
  a	
  result	
  
Biggest	
  problem	
  
•  Trust	
  deficit	
  on	
  the	
  team	
  
– In	
  exisCng	
  AutomaCon	
  
– In	
  manual	
  tesCng	
  
•  Finger	
  poinCng	
  /	
  blame	
  game	
  
•  Remove	
  the	
  ambiguity	
  
•  Same	
  visibility	
  for	
  all	
  
EvoluCon	
  of	
  Test	
  Frameworks	
  
Behavior	
  
Driven	
  
Development	
  
(BDD)	
  
OpCmized	
  
scripts	
  
Record	
  &	
  
Playback	
  	
  
Core	
  
Framework	
  
Behavior	
  Driven	
  Development	
  	
  
(BDD)	
  
RED	
  
GREEN	
  REFACTOR	
  
Behavior	
  Driven	
  TesCng	
  
(BDT)	
  
The	
  Big	
  Picture	
  
•  How	
  is	
  this	
  funcConality	
  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?	
  
Func%onal	
  Tests	
  (GUI)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Web	
  Service	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Integra%on	
  tests	
  
• Developers	
  
Component	
  tests	
  
•  Developers	
  
Unit	
  Tests	
  
•  Developers	
  
Manual	
  /	
  
Exploratory	
  
TesCng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
Business-­‐
facing	
  Tests	
  
Technology-­‐
facing	
  Tests	
  
IdenCfy	
  the	
  right	
  type	
  of	
  tests	
  that	
  sit	
  
on	
  top	
  of	
  the	
  Test	
  Pyramid	
  
Expected	
  Func%onality:	
  
	
  
The	
  customer	
  should	
  be	
  able	
  to	
  withdraw	
  
money	
  from	
  his	
  account	
  via	
  an	
  ATM	
  machine	
  
An	
  example	
  
Given	
  the	
  account	
  has	
  balance	
  of	
  INR	
  5000	
  
When	
  the	
  customer	
  requests	
  INR	
  1000	
  
Then	
  the	
  account	
  is	
  debited	
  by	
  INR	
  1000	
  
BDD	
  Example:	
  
Given	
  the	
  account	
  is	
  in	
  credit	
  
And	
  the	
  dispenser	
  contains	
  cash	
  
	
  
When	
  the	
  customer	
  requests	
  cash	
  
	
  
Then	
  ensure	
  the	
  account	
  is	
  debited	
  
And	
  ensure	
  cash	
  is	
  dispensed	
  
And	
  ensure	
  the	
  card	
  is	
  returned	
  
BDT	
  Example:	
  
New	
  Expected	
  Func%onality:	
  
	
  
The	
  customer	
  should	
  be	
  able	
  to	
  withdraw	
  
money	
  from	
  his	
  account	
  only	
  if	
  his	
  card	
  is	
  
valid	
  
Given	
  the	
  account	
  is	
  in	
  credit	
  
And	
  the	
  card	
  is	
  valid	
  
And	
  the	
  dispenser	
  contains	
  cash	
  
	
  
When	
  the	
  customer	
  requests	
  cash	
  
	
  
Then	
  ensure	
  the	
  account	
  is	
  debited	
  
And	
  ensure	
  cash	
  is	
  dispensed	
  
And	
  ensure	
  the	
  card	
  is	
  returned	
  
BDT	
  Example	
  -­‐	
  updated:	
  
Test	
  specificaCon	
  styles	
  
•  ImperaCve	
  
	
  
•  DeclaraCve	
  
•  Write	
  user	
  flows	
  based	
  on	
  personas,	
  and	
  how	
  
they	
  use	
  the	
  business	
  funcConality,	
  or,	
  
•  Write	
  business	
  flows,	
  and	
  how	
  different	
  user	
  
personas	
  can	
  use	
  that	
  
Another	
  example	
  
For	
  Indigo	
  Airlines	
  website	
  –	
  
•  Guest	
  User	
  is	
  able	
  to	
  search	
  for	
  a	
  flight	
  for	
  a	
  
single	
  traveller	
  
•  Ability	
  to	
  specify	
  contact	
  informaCon	
  for	
  
person	
  booking	
  the	
  flight	
  
Search	
  	
  
Search	
  
Results	
  
Contact	
  
Informa%on	
  
ImperaCve	
  style	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  on	
  the	
  Indigo	
  home	
  page	
  
And	
  I	
  select	
  “round”	
  trip	
  opCon	
  
And	
  I	
  select	
  “Pune”	
  from	
  the	
  origin	
  dropdown	
  
And	
  I	
  select	
  “Bangalore”	
  from	
  the	
  desCnaCon	
  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	
  opCon	
  for	
  my	
  criteria	
  
	
  
...	
  
…	
  
When	
  I	
  select	
  the	
  “first”	
  opCon	
  
Then	
  I	
  am	
  on	
  the	
  Contact	
  InformaCon	
  page	
  
	
  
When	
  I	
  enter	
  first	
  name	
  as	
  “foo”	
  
And	
  I	
  enter	
  last	
  name	
  as	
  “bar”	
  
…	
  
…	
  
And	
  I	
  click	
  the	
  “Select	
  and	
  Con%nue”	
  buFon	
  
	
  
Then	
  I	
  should	
  be	
  on	
  the	
  next	
  page	
  
	
  
Given	
  I	
  am	
  a	
  guest	
  user	
  
	
  
When	
  I	
  search	
  for	
  flight	
  opCons	
  for	
  a	
  “one-­‐way”	
  trip	
  
for	
  “1”	
  “Adult”	
  from	
  “Delhi”	
  to	
  “Bangalore”	
  
And	
  I	
  select	
  the	
  “first”	
  flight	
  
And	
  I	
  enter	
  “valid”	
  contact	
  details	
  for	
  “traveller1”	
  
	
  
Then	
  I	
  am	
  able	
  to	
  Save	
  and	
  ConCnue	
  
DeclaraCve	
  style	
  
What’s	
  next?	
  
DO	
  NOT	
  
AUTOMATE	
  
•  Low	
  Value,	
  High	
  Cost	
  
•  Manual	
  
Regression!	
  
2nd	
  candidate	
  for	
  
automa%on	
  
•  High	
  Value,	
  High	
  Cost	
  
Automate	
  ONLY	
  if	
  
you	
  have	
  %me	
  
•  Low	
  Value,	
  Low	
  Cost	
  
•  ?	
  Manual	
  
Regression?	
  
1st	
  candidate	
  for	
  
automa%on	
  
•  High	
  Value,	
  Low	
  Cost	
  
Cost	
  
Value	
  
Func%onal	
  Tests	
  (GUI)	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Web	
  Service	
  Tests	
  
•  Developers	
  &	
  /	
  QA	
  team	
  
Integra%on	
  tests	
  
• Developers	
  
Component	
  tests	
  
•  Developers	
  
Unit	
  Tests	
  
•  Developers	
  
BDT	
  helps	
  iden5fy	
  the	
  “right”	
  type	
  of	
  
regression	
  tests!	
  
Manual	
  /	
  
Exploratory	
  
TesCng	
  
Product	
  
under	
  test	
  
Ideal	
  Test	
  
Pyramid	
  
A	
  real	
  world	
  Case	
  Study	
  
How	
  did	
  we	
  accomplish	
  this?	
  
Who	
  is	
  doing	
  the	
  
acCon?	
  
What	
  is	
  the	
  business	
  
funcConality?	
  
AcCons	
  and	
  
verificaCons	
  happen	
  
implicitly	
  
Depicts	
  a	
  user	
  flow	
  
Given	
  auc%oneer	
  creates	
  a	
  sale	
  
And	
  5	
  items	
  are	
  added	
  to	
  the	
  
sale	
  
	
  	
  	
  	
  	
  
When	
  auc%oneer	
  starts	
  the	
  
sale	
  
And	
  auc%oneer	
  sets	
  a	
  starCng	
  
bid	
  of	
  5000	
  
And	
  buyer_1	
  bids	
  
And	
  buyer_2	
  bids	
  
	
  
Then	
  auc%oneer	
  Sells	
  the	
  item	
  
And	
  buyer_2	
  wins	
  the	
  item	
  
Final	
  state	
  
Tests	
  running	
  on	
  Hudson	
  /	
  Jenkins	
   Since	
  1st	
  test	
  was	
  automated	
  
Feature	
  files	
   33	
  
Scenarios	
   65	
  
Smoke	
  tests	
  execuCon	
  Cme	
   15	
  minutes	
  
Regression	
  tests	
  execuCon	
  Cme	
   45	
  minutes	
  
Test	
  case	
  repository	
  (manual	
  +	
  
automated)	
  
Cucumber	
  .feature	
  files	
  with	
  
appropriate	
  tagging	
  
Project	
  Management	
  tool	
   Mingle	
  
?	
  
Incrementally	
  build	
  
User	
  Flows	
  
Regress	
  required	
  
Product	
  Business	
  
Value	
  
Tests	
  in-­‐sync	
  
EffecCve	
  Tests	
   	
  	
  
Remove	
  
ambiguity	
  
Understand	
  
new	
  
funcConality	
  
Living	
  
DocumentaCon	
  
Onboarding	
  
Tools	
  to	
  enable	
  BDD	
  /	
  BDT	
  
•  Cucumber	
  
•  JBehave	
  
•  SpecFlow	
  
•  Twist	
  
•  Concordion	
  
abagmar@gmail.com	
  	
  
	
  
	
  	
  	
  	
  	
  @BagmarAnand	
  
	
  
about.me/anand.bagmar	
  
Thank	
  you	
  

More Related Content

What's hot

How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
Klaus Salchner
 
BDD in Automation Testing
BDD in Automation TestingBDD in Automation Testing
BDD in Automation Testing
Scrum Breakfast Vietnam
 
VodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSoniVodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSoni
vodQA
 
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
TechWell
 
The Test Pyramid
The Test PyramidThe Test Pyramid
The Test Pyramid
Thiago Ghisi
 
Are you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenchesAre you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenches
Satish Chandra
 
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
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Klaus Salchner
 
A/B Testing Framework Design
A/B Testing Framework DesignA/B Testing Framework Design
A/B Testing Framework Design
Patrick McKenzie
 
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
QA or the Highway
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
Lucas Pang
 
How to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance ToolbeltHow to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance Toolbelt
Brett Tramposh
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
Anand Bagmar
 
Advanced structures india introduction
Advanced structures india introductionAdvanced structures india introduction
Advanced structures india introduction
Advanced Structures India Private Limited
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
XPDays
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
David O'Dowd
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
Mikhail Laptev
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015
Ankur Sambhar
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
Hoa Le
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
QA or the Highway
 

What's hot (20)

How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
BDD in Automation Testing
BDD in Automation TestingBDD in Automation Testing
BDD in Automation Testing
 
VodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSoniVodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSoni
 
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
 
The Test Pyramid
The Test PyramidThe Test Pyramid
The Test Pyramid
 
Are you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenchesAre you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenches
 
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?
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
 
A/B Testing Framework Design
A/B Testing Framework DesignA/B Testing Framework Design
A/B Testing Framework Design
 
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
 
How to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance ToolbeltHow to Add Test Automation to your Quality Assurance Toolbelt
How to Add Test Automation to your Quality Assurance Toolbelt
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?
 
Advanced structures india introduction
Advanced structures india introductionAdvanced structures india introduction
Advanced structures india introduction
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Susan windsor soft test 16th november 2005
Susan windsor soft test   16th november 2005Susan windsor soft test   16th november 2005
Susan windsor soft test 16th november 2005
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 

Viewers also liked

Lean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software ProfessionalsLean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software Professionals
TechWell
 
Emerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large OrganizationsEmerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large Organizations
TechWell
 
Testing Is the Profession I Chose
Testing Is the Profession I ChoseTesting Is the Profession I Chose
Testing Is the Profession I Chose
TechWell
 
Agile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse EnvironmentsAgile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse Environments
TechWell
 
Mobile Testing in the Cloud
Mobile Testing in the CloudMobile Testing in the Cloud
Mobile Testing in the Cloud
TechWell
 
Bugfest!
Bugfest!Bugfest!
Bugfest!
TechWell
 
Accelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageAccelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain Language
TechWell
 
Using the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your ApplicationsUsing the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your Applications
TechWell
 
Our Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer DivisionOur Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer Division
TechWell
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
TechWell
 
Don't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for AgileDon't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for Agile
TechWell
 
Going Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You StartGoing Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You Start
TechWell
 
Performance Testing Cloud-Based Systems
Performance Testing Cloud-Based SystemsPerformance Testing Cloud-Based Systems
Performance Testing Cloud-Based Systems
TechWell
 
Harness the Power of Checklists
Harness the Power of ChecklistsHarness the Power of Checklists
Harness the Power of Checklists
TechWell
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to Practice
TechWell
 
Applying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile ProjectsApplying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile Projects
TechWell
 

Viewers also liked (16)

Lean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software ProfessionalsLean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software Professionals
 
Emerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large OrganizationsEmerging Product Owner Patterns in Large Organizations
Emerging Product Owner Patterns in Large Organizations
 
Testing Is the Profession I Chose
Testing Is the Profession I ChoseTesting Is the Profession I Chose
Testing Is the Profession I Chose
 
Agile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse EnvironmentsAgile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse Environments
 
Mobile Testing in the Cloud
Mobile Testing in the CloudMobile Testing in the Cloud
Mobile Testing in the Cloud
 
Bugfest!
Bugfest!Bugfest!
Bugfest!
 
Accelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain LanguageAccelerate Testing in Agile through a Shared Business Domain Language
Accelerate Testing in Agile through a Shared Business Domain Language
 
Using the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your ApplicationsUsing the Cloud to Load Test and Monitor Your Applications
Using the Cloud to Load Test and Monitor Your Applications
 
Our Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer DivisionOur Journey to Agile in the Microsoft Developer Division
Our Journey to Agile in the Microsoft Developer Division
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
 
Don't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for AgileDon't Bulldoze a Vibrant Ecosystem for Agile
Don't Bulldoze a Vibrant Ecosystem for Agile
 
Going Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You StartGoing Agile? Three Conversations to Have Before You Start
Going Agile? Three Conversations to Have Before You Start
 
Performance Testing Cloud-Based Systems
Performance Testing Cloud-Based SystemsPerformance Testing Cloud-Based Systems
Performance Testing Cloud-Based Systems
 
Harness the Power of Checklists
Harness the Power of ChecklistsHarness the Power of Checklists
Harness the Power of Checklists
 
Mobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to PracticeMobile Applications Testing: From Concepts to Practice
Mobile Applications Testing: From Concepts to Practice
 
Applying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile ProjectsApplying Lean Startup Principles to Agile Projects
Applying Lean Startup Principles to Agile Projects
 

Similar to Build the Right Regression Suite with Behavior-Driven Testing

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)
Anand Bagmar
 
​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
 
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
Dimitri 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
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
QASymphony
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
Naveen Kumar Singh
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
Vladimir Primakov (Volodymyr Prymakov)
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
Optimizely
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
Hariprakash Agrawal
 
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
Agile Montréal
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
arzu TR
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Turkish Testing Board
 
Load and Performance Testing Services for Mobile Applications | Calidad Infotech
Load and Performance Testing Services for Mobile Applications | Calidad InfotechLoad and Performance Testing Services for Mobile Applications | Calidad Infotech
Load and Performance Testing Services for Mobile Applications | Calidad Infotech
Calidad Infotech
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
Dynatrace
 
Grothues ndc oslo_2016
Grothues ndc oslo_2016Grothues ndc oslo_2016
Grothues ndc oslo_2016
Katrin Grothues
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
TEST Huddle
 

Similar to Build the Right Regression Suite with Behavior-Driven Testing (20)

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)
 
​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)
 
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.
 
Quality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the EnterpriseQuality Jam: BDD, TDD and ATDD for the Enterprise
Quality Jam: BDD, TDD and ATDD for the Enterprise
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
 
Tec314f
Tec314fTec314f
Tec314f
 
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
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020
 
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
 
Future of QA
Future of QAFuture of QA
Future of QA
 
Futureofqa
FutureofqaFutureofqa
Futureofqa
 
Load and Performance Testing Services for Mobile Applications | Calidad Infotech
Load and Performance Testing Services for Mobile Applications | Calidad InfotechLoad and Performance Testing Services for Mobile Applications | Calidad Infotech
Load and Performance Testing Services for Mobile Applications | Calidad Infotech
 
Agile testing
Agile testingAgile testing
Agile testing
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
Grothues ndc oslo_2016
Grothues ndc oslo_2016Grothues ndc oslo_2016
Grothues ndc oslo_2016
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 

Build the Right Regression Suite with Behavior-Driven Testing

  • 1. T14 Test Techniques 5/8/2014 1:30:00 PM Build the Right Regression Suite with Behavior-Driven Testing Presented by: Anand Bagmar ThoughtWorks Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Anand Bagmar ThoughtWorks Anand Bagmar is a hands-on and result-oriented software quality evangelist with seventeen years in the IT field. Passionate about shipping quality products, Anand specializes in building automated testing tools, infrastructure, and frameworks. He writes testing-related blogs and has built open-source tools related to software testing-WAAT (Web Analytics Automation Testing Framework), TaaS (for automating integration testing in disparate systems), and TTA (Test Trend Analyzer). Anand is the lead organizer for vodQA, the popular testing conference in India. Follow him on Twitter @BagmarAnand, email him at abagmar@gmail.com, or read his Essence of Testing blog.
  • 3. Building  the  “right”   regression  suite  using   Behavior  Driven  Tes5ng   (BDT)   Anand  Bagmar   So#ware  Quality  Evangelist   Principal  Consultant,  ThoughtWorks  
  • 4. •  “Succeeding  with  Agile”  –  Mike  Cohn   •  MarCn  Fowler  –  Test  Pyramid   –  hFp://marCnfowler.com/bliki/TestPyramid.html   The  Test  Pyramid  
  • 5. Func%onal  Tests  (GUI)   •  Developers  &  /  QA  team   Web  Service  Tests   •  Developers  &  /  QA  team   Integra%on  tests   • Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   Test  AutomaCon  Pyramid   Manual  /   Exploratory   TesCng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   •  Cost   •  Effort   •  Time  
  • 6.
  • 7. Test  Pyramid  reality   Development  team   Test  Pyramid   QA  team   Test  Pyramid  
  • 8. Func%onal  Tests  (GUI)   •  Developers  &  /  QA  team   Web  Service  Tests   •  Developers  &  /  QA  team   Integra%on  tests   • Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   Manual  /  Exploratory  TesCng   Test     Ice-­‐cream  cone   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   Test  Pyramid  –  AnC  PaFern   Product     under  test  
  • 9. Func%onal  Tests  (GUI)   •  Developers  &  /  QA  team   Web  Service  Tests   •  Developers  &  /  QA  team   Integra%on  tests   • Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   Manual  /   Exploratory   TesCng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   IdenCfy  the  right  type  of  tests  that  sit   on  top  of  the  Test  Pyramid  
  • 10. Case  Study   •  MulCple,  long   running  projects   •  Legacy   applicaCons   •  Integrated  
  • 11. •  Limited  AutomaCon     •  Long  regression  cycle   •  Huge  cost  of  fixing  defects   TesCng  Challenges  
  • 12. •  No  visibility  into  what  is  tested   •  Outdated   •  BriFle   •  LiFle  /  less  value   •  Expensive   •  Maintenance  nightmare   As  a  result  
  • 13. Biggest  problem   •  Trust  deficit  on  the  team   – In  exisCng  AutomaCon   – In  manual  tesCng   •  Finger  poinCng  /  blame  game  
  • 14.
  • 15.
  • 16. •  Remove  the  ambiguity   •  Same  visibility  for  all  
  • 17. EvoluCon  of  Test  Frameworks   Behavior   Driven   Development   (BDD)   OpCmized   scripts   Record  &   Playback     Core   Framework  
  • 21. The  Big  Picture   •  How  is  this  funcConality  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?  
  • 22. Func%onal  Tests  (GUI)   •  Developers  &  /  QA  team   Web  Service  Tests   •  Developers  &  /  QA  team   Integra%on  tests   • Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   Manual  /   Exploratory   TesCng   Product   under  test   Ideal  Test   Pyramid   Business-­‐ facing  Tests   Technology-­‐ facing  Tests   IdenCfy  the  right  type  of  tests  that  sit   on  top  of  the  Test  Pyramid  
  • 23. Expected  Func%onality:     The  customer  should  be  able  to  withdraw   money  from  his  account  via  an  ATM  machine   An  example  
  • 24. Given  the  account  has  balance  of  INR  5000   When  the  customer  requests  INR  1000   Then  the  account  is  debited  by  INR  1000   BDD  Example:  
  • 25. Given  the  account  is  in  credit   And  the  dispenser  contains  cash     When  the  customer  requests  cash     Then  ensure  the  account  is  debited   And  ensure  cash  is  dispensed   And  ensure  the  card  is  returned   BDT  Example:  
  • 26. New  Expected  Func%onality:     The  customer  should  be  able  to  withdraw   money  from  his  account  only  if  his  card  is   valid  
  • 27. Given  the  account  is  in  credit   And  the  card  is  valid   And  the  dispenser  contains  cash     When  the  customer  requests  cash     Then  ensure  the  account  is  debited   And  ensure  cash  is  dispensed   And  ensure  the  card  is  returned   BDT  Example  -­‐  updated:  
  • 28. Test  specificaCon  styles   •  ImperaCve     •  DeclaraCve  
  • 29. •  Write  user  flows  based  on  personas,  and  how   they  use  the  business  funcConality,  or,   •  Write  business  flows,  and  how  different  user   personas  can  use  that  
  • 30. Another  example   For  Indigo  Airlines  website  –   •  Guest  User  is  able  to  search  for  a  flight  for  a   single  traveller   •  Ability  to  specify  contact  informaCon  for   person  booking  the  flight  
  • 31. Search     Search   Results   Contact   Informa%on  
  • 32. ImperaCve  style   Given  I  am  a  guest  user  on  the  Indigo  home  page   And  I  select  “round”  trip  opCon   And  I  select  “Pune”  from  the  origin  dropdown   And  I  select  “Bangalore”  from  the  desCnaCon  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  opCon  for  my  criteria     ...  
  • 33. …   When  I  select  the  “first”  opCon   Then  I  am  on  the  Contact  InformaCon  page     When  I  enter  first  name  as  “foo”   And  I  enter  last  name  as  “bar”   …   …   And  I  click  the  “Select  and  Con%nue”  buFon     Then  I  should  be  on  the  next  page    
  • 34. Given  I  am  a  guest  user     When  I  search  for  flight  opCons  for  a  “one-­‐way”  trip   for  “1”  “Adult”  from  “Delhi”  to  “Bangalore”   And  I  select  the  “first”  flight   And  I  enter  “valid”  contact  details  for  “traveller1”     Then  I  am  able  to  Save  and  ConCnue   DeclaraCve  style  
  • 36. DO  NOT   AUTOMATE   •  Low  Value,  High  Cost   •  Manual   Regression!   2nd  candidate  for   automa%on   •  High  Value,  High  Cost   Automate  ONLY  if   you  have  %me   •  Low  Value,  Low  Cost   •  ?  Manual   Regression?   1st  candidate  for   automa%on   •  High  Value,  Low  Cost   Cost   Value  
  • 37. Func%onal  Tests  (GUI)   •  Developers  &  /  QA  team   Web  Service  Tests   •  Developers  &  /  QA  team   Integra%on  tests   • Developers   Component  tests   •  Developers   Unit  Tests   •  Developers   BDT  helps  iden5fy  the  “right”  type  of   regression  tests!   Manual  /   Exploratory   TesCng   Product   under  test   Ideal  Test   Pyramid  
  • 38. A  real  world  Case  Study  
  • 39.
  • 40. How  did  we  accomplish  this?  
  • 41.
  • 42. Who  is  doing  the   acCon?   What  is  the  business   funcConality?   AcCons  and   verificaCons  happen   implicitly   Depicts  a  user  flow   Given  auc%oneer  creates  a  sale   And  5  items  are  added  to  the   sale             When  auc%oneer  starts  the   sale   And  auc%oneer  sets  a  starCng   bid  of  5000   And  buyer_1  bids   And  buyer_2  bids     Then  auc%oneer  Sells  the  item   And  buyer_2  wins  the  item  
  • 43. Final  state   Tests  running  on  Hudson  /  Jenkins   Since  1st  test  was  automated   Feature  files   33   Scenarios   65   Smoke  tests  execuCon  Cme   15  minutes   Regression  tests  execuCon  Cme   45  minutes   Test  case  repository  (manual  +   automated)   Cucumber  .feature  files  with   appropriate  tagging   Project  Management  tool   Mingle  
  • 44. ?   Incrementally  build   User  Flows   Regress  required   Product  Business   Value   Tests  in-­‐sync   EffecCve  Tests       Remove   ambiguity   Understand   new   funcConality   Living   DocumentaCon   Onboarding  
  • 45. Tools  to  enable  BDD  /  BDT   •  Cucumber   •  JBehave   •  SpecFlow   •  Twist   •  Concordion  
  • 46. abagmar@gmail.com                @BagmarAnand     about.me/anand.bagmar   Thank  you