SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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	
  

Más contenido relacionado

La actualidad más candente

How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
VodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSoniVodQA3_ATDD_KetanSoni
VodQA3_ATDD_KetanSonivodQA
 
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
 
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 trenchesSatish 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.comKlaus Salchner
 
A/B Testing Framework Design
A/B Testing Framework DesignA/B Testing Framework Design
A/B Testing Framework DesignPatrick 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 QuirksLucas 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 ToolbeltBrett Tramposh
 
Test automation - What? Why? How?
Test automation - What? Why? How?Test automation - What? Why? How?
Test automation - What? Why? How?Anand Bagmar
 
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 StoryXPDays
 
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 2005David O'Dowd
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsMikhail Laptev
 
Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Specification by Example - Agile India 2015
Specification by Example - Agile India 2015Ankur 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 CriteriaHoa 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 DahalQA or the Highway
 

La actualidad más candente (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
 

Destacado

Lean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software ProfessionalsLean Entrepreneurship for Software Professionals
Lean Entrepreneurship for Software ProfessionalsTechWell
 
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 OrganizationsTechWell
 
Testing Is the Profession I Chose
Testing Is the Profession I ChoseTesting Is the Profession I Chose
Testing Is the Profession I ChoseTechWell
 
Agile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse EnvironmentsAgile Adoption in Risk-Averse Environments
Agile Adoption in Risk-Averse EnvironmentsTechWell
 
Mobile Testing in the Cloud
Mobile Testing in the CloudMobile Testing in the Cloud
Mobile Testing in the CloudTechWell
 
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 LanguageTechWell
 
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 ApplicationsTechWell
 
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 DivisionTechWell
 
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 CloudTechWell
 
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 AgileTechWell
 
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 StartTechWell
 
Performance Testing Cloud-Based Systems
Performance Testing Cloud-Based SystemsPerformance Testing Cloud-Based Systems
Performance Testing Cloud-Based SystemsTechWell
 
Harness the Power of Checklists
Harness the Power of ChecklistsHarness the Power of Checklists
Harness the Power of ChecklistsTechWell
 
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 PracticeTechWell
 
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 ProjectsTechWell
 

Destacado (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 a 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)Thoughtworks
 
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
 
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
 
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 EnterpriseQASymphony
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
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 DeliveryOptimizely
 
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
 
Agile Testing 2020
Agile Testing 2020Agile Testing 2020
Agile Testing 2020arzu 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 InfotechCalidad Infotech
 
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 DevelopmentDynatrace
 
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 2011TEST Huddle
 

Similar a 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
 

Más de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
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 ArchitectureTechWell
 
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 StartTechWell
 
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 StrategyTechWell
 
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 SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
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 SanityTechWell
 
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 StrategyTechWell
 
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 DevOpsTechWell
 
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—LeadershipTechWell
 
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 TeamsTechWell
 
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 GameTechWell
 
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 TeamsTechWell
 
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 ImplementationTechWell
 
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 ProcessTechWell
 
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 AutomateTechWell
 
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 SuccessTechWell
 
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 TransformationTechWell
 

Más de 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
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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