SlideShare a Scribd company logo
1 of 17
Download to read offline
 
	
  
	
  
	
  
	
  
W2	
  
Test	
  Techniques	
  
10/4/17	
  11:30	
  
	
  
	
  
	
  
	
  
The	
  Software	
  Testing	
  Pyramid:	
  A	
  
Concrete	
  Example	
  
	
  
Presented	
  by:	
  
	
  
Jim	
  Weaver	
  	
  
	
  Vanderbilt	
  University	
  Medical	
  Center	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
	
  
 
Jim	
  Weaver	
  	
  
Vanderbilt	
  University	
  Medical	
  Center	
  
	
  
Jim	
  Weaver	
  is	
  a	
  principal	
  developer	
  and	
  mentor	
  at	
  Vanderbilt	
  University	
  Medical	
  
Center	
  (VUMC).	
  Jim	
  has	
  decades	
  of	
  experience	
  building	
  software	
  products	
  in	
  a	
  
variety	
  of	
  industries,	
  with	
  a	
  focus	
  on	
  agile	
  practices	
  and	
  mentoring.	
  He	
  is	
  a	
  co-­‐
inventor	
  of	
  MyHealthAtVanderbilt,	
  a	
  VUMC	
  patient	
  web	
  portal.	
  Previously	
  at	
  
ThoughtWorks,	
  Jim	
  coauthored	
  JWebUnit,	
  an	
  open	
  source	
  web	
  testing	
  
framework.	
  At	
  GTE,	
  Jim	
  supported	
  and	
  trained	
  elements	
  of	
  the	
  US	
  Army	
  Signal	
  
Corps	
  on	
  network	
  control	
  software	
  he	
  helped	
  build.	
  He	
  regularly	
  works	
  with	
  
developers	
  and	
  testers	
  on	
  testing	
  strategies	
  for	
  products	
  built	
  in	
  a	
  variety	
  of	
  
languages,	
  and	
  has	
  helped	
  train	
  teams	
  in	
  Extreme	
  Programming.	
  Find	
  Jim	
  on	
  
Twitter	
  at	
  @tenoxtweets	
  and	
  on	
  LinkedIn.	
  
	
  
The  So'ware  Tes,ng  Pyramid:  
A  Concrete  Example
Jim	
  Weaver	
  
Vanderbilt	
  University	
  Medical	
  Center	
  
(weaver.je@gmail.com)	
  
	
  
Source	
  Code	
  and	
  Tests	
  
hBps://github.com/weaverj/testpyramidexample	
  
Selenium	
  tests:	
  Cindy	
  Leffler,	
  VUMC	
  
Mike  Cohn’s  Test  Pyramid
•  FoundaKonal	
  base	
  of	
  unit	
  
tests	
  
•  Minimum	
  necessary	
  tests	
  
through	
  user	
  interface	
  
•  Service	
  tests	
  in	
  the	
  middle	
  	
  
•  Service	
  refers	
  to	
  logical	
  
services	
  –	
  business	
  logic,	
  
required	
  outputs	
  to	
  inputs.	
  
Mo,va,ons
Many	
  teams	
  tested	
  primarily	
  
through	
  the	
  UI	
  
TesKng	
  through	
  UI	
  slower,	
  more	
  
briBle,	
  expensive,	
  less	
  precise	
  
Unit	
  tests	
  are	
  easy	
  for	
  developers	
  to	
  
write,	
  usually	
  in	
  same	
  language	
  as	
  
applicaKon,	
  locate	
  bugs	
  more	
  
precisely	
  
Service	
  level	
  tests	
  can	
  test	
  logic	
  
independent	
  of	
  UI	
  
Challenges
•  IntenKonal	
  Planning	
  and	
  E
•  Shared	
  Understanding	
  
•  Frequent	
  CommunicaKon
CollaboraKon	
  
Sample  Applica,on  :  RxDemo
  Rx	
  Demo:	
  	
  Web-­‐based	
  Prescribing	
  ApplicaKon,	
  extracted	
  from	
  real	
  clinical	
  app	
  in	
  
producKon	
  for	
  over	
  a	
  decade.	
  
RxDemo  Automated  Test  Strategy
Purpose	
   Authors	
   Tools	
  
UI	
   Test	
  UI	
  funcKonality,	
  
provide	
  some	
  end-­‐end	
  
confirmaKon	
  
QA	
  automaKon	
  
	
  
Junit	
  and	
  WebDriver	
  to	
  
Selenium	
  Server	
  
	
  
Service	
   Test	
  business	
  logic,	
  
publically	
  verifiable	
  
Customers	
  (including	
  
QA)	
  and	
  Developers	
  
Fitnesse	
  
	
  
Unit	
   Test	
  implementaKon,	
  
aid	
  with	
  design	
  and	
  
internal	
  code	
  quality	
  
Developers	
   Junit,	
  Jasmine	
  
	
  
Feature:    Limit  Opiate  Rx  Dura,on
  When	
  clinician	
  is	
  prescribing	
  Opiates	
  or	
  Benzodiazepines,	
  limit	
  the	
  
duraKon	
  of	
  the	
  prescripKon	
  to	
  30	
  days	
  or	
  under.	
  
Feature  Test  Plan
Feature	
  Part	
   Unit	
  (Junit/Jasmine)	
   Service	
  (Fitnesse)	
   UI	
  (Selenium	
  +	
  Junit)	
  
denKfy	
  if	
  drug	
  being	
  
prescribed	
  is	
  Opiate	
  
Calculate	
  duraKon	
  
Apply	
  rule	
  to	
  
prescripKon	
  and	
  
eturn	
  response	
  
nform	
  user	
  in	
  UI	
  if	
  
ule	
  violated	
  
Iden,fy  Opiates  /  Benzos
Feature	
  Part	
   Unit	
  (Junit/Jasmine)	
   Service	
  (Fitnesse)	
   UI	
  (Selenium	
  +	
  Junit)	
  
denKfy	
  if	
  drug	
  being	
  
prescribed	
  is	
  Opiate	
  
Test	
  source	
  Test	
  source	
  
Calculate  Dura,on  in  Days
Feature	
  Part	
   Unit	
  (Junit/Jasmine)	
   Service	
  (Fitnesse)	
   UI	
  (Selenium	
  +	
  Junit)	
  
Calculate	
  duraKon	
  
DuraKonParserShould	
  
EDuraKonUnitShould	
  
DuraKonToDays	
  
Dura,on  Valida,on  Rule  Applied
Feature	
  Part	
   Unit	
  (Junit/Jasmine)	
   Service	
  (Fitnesse)	
   UI	
  
Apply	
  rule	
  to	
  
prescripKon	
  and	
  
eturn	
  response	
  
RxValidatorShould	
  
OpiateDuraKonValidaKonRuleShould	
  
OpiateDuraKonRule	
  
ValidatePrescripKonCommandShould	
  
Inform  User  in  UI  if  Rule  Violated
Feature	
  Part	
   Unit	
  (Junit/Jasmine)	
   Service	
  
(Fitnesse)	
  
UI	
  (Selenium	
  /	
  Junit)	
  
nform	
  user	
  in	
  UI	
  if	
  
ule	
  violated	
  
OpiateUnder30Allowed	
  
OpiateOver30NotAllowed
RxValidatorShould	
  
App.spec.js	
  
RxValidaKonResponseHandler.spec.js	
  
Team  Process  and  Habits
  Discuss	
  applicaKon-­‐wide	
  tesKng	
  strategy	
  –	
  layers	
  of	
  tests,	
  their	
  
purpose,	
  tools,	
  team-­‐member	
  responsibiliKes.	
  
  Keep	
  all	
  team	
  members	
  involved	
  in	
  all	
  types	
  of	
  tests.	
  
  For	
  each	
  feature,	
  explicitly	
  discuss	
  a	
  test	
  plan	
  –	
  what	
  automated	
  tests
will	
  there	
  be	
  at	
  what	
  levels?	
  
  Watch	
  for	
  unwanted	
  duplicaKon	
  or	
  gaps	
  in	
  test	
  coverage.	
  
  When	
  a	
  bug	
  hits	
  producKon,	
  don’t	
  just	
  fix	
  it	
  -­‐	
  find	
  the	
  test	
  gaps	
  and	
  
close	
  them.	
  
References
  Succeeding	
  with	
  Agile:	
  Sobware	
  Development	
  Using	
  Scrum	
  by	
  Mike	
  
Cohn,	
  Addison-­‐Wesley,	
  2009	
  
  The	
  ForgoBen	
  Layer	
  of	
  the	
  Test	
  AutomaKon	
  Pyramid:	
  Mike	
  Cohn,	
  
2009.	
  
  TestPyramid:	
  MarKn	
  Fowler,	
  2012.	
  
  Small,	
  Medium,	
  Large:	
  Mike	
  Bland,	
  2011.	
  
  Methodology	
  Per	
  Project:	
  	
  Alistair	
  Cockburn,	
  1999.	
  
Ques,ons?

More Related Content

What's hot

Certified Software Testing Professional
Certified Software Testing ProfessionalCertified Software Testing Professional
Certified Software Testing ProfessionalNarender Rana
 
Web App Testing - A Practical Approach
Web App Testing - A Practical ApproachWeb App Testing - A Practical Approach
Web App Testing - A Practical ApproachWalter Mamed
 
Do The Right Thing - Empowering Your Test Teams
Do The Right Thing - Empowering Your Test TeamsDo The Right Thing - Empowering Your Test Teams
Do The Right Thing - Empowering Your Test TeamsSmartBear
 
Zado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium RobotiumZado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium RobotiumZado Technologies
 
Session 09 - Defect Management
Session 09 - Defect ManagementSession 09 - Defect Management
Session 09 - Defect ManagementPoojaLQA
 
Siva Sharan P Resume
Siva Sharan P ResumeSiva Sharan P Resume
Siva Sharan P ResumePinupolu Siva
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersSachin Gupta
 
Priority based software development and testing technique
Priority based software development and testing techniquePriority based software development and testing technique
Priority based software development and testing techniqueBTCTechnologies
 
Session 06 - Types of Testing
Session 06 - Types of TestingSession 06 - Types of Testing
Session 06 - Types of TestingPoojaLQA
 
Mayuri Kulkarni_istqb cv (1)
Mayuri Kulkarni_istqb cv (1)Mayuri Kulkarni_istqb cv (1)
Mayuri Kulkarni_istqb cv (1)mayuri kulkarni
 
Basics of Automation & Manual Software Testing
Basics of Automation & Manual Software TestingBasics of Automation & Manual Software Testing
Basics of Automation & Manual Software TestingGusani Tech Ideation
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienceddilipambhore
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbupalla subrahmanyam
 

What's hot (20)

Certified Software Testing Professional
Certified Software Testing ProfessionalCertified Software Testing Professional
Certified Software Testing Professional
 
Web App Testing - A Practical Approach
Web App Testing - A Practical ApproachWeb App Testing - A Practical Approach
Web App Testing - A Practical Approach
 
OMSOFTWARE NEW Service
OMSOFTWARE NEW ServiceOMSOFTWARE NEW Service
OMSOFTWARE NEW Service
 
Rahul Jajoo
Rahul JajooRahul Jajoo
Rahul Jajoo
 
Do The Right Thing - Empowering Your Test Teams
Do The Right Thing - Empowering Your Test TeamsDo The Right Thing - Empowering Your Test Teams
Do The Right Thing - Empowering Your Test Teams
 
vercha_resumeNew
vercha_resumeNewvercha_resumeNew
vercha_resumeNew
 
Zado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium RobotiumZado Success Story - Mobile Automation using Selenium Robotium
Zado Success Story - Mobile Automation using Selenium Robotium
 
Session 09 - Defect Management
Session 09 - Defect ManagementSession 09 - Defect Management
Session 09 - Defect Management
 
Siva Sharan P Resume
Siva Sharan P ResumeSiva Sharan P Resume
Siva Sharan P Resume
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answers
 
Priority based software development and testing technique
Priority based software development and testing techniquePriority based software development and testing technique
Priority based software development and testing technique
 
Session 06 - Types of Testing
Session 06 - Types of TestingSession 06 - Types of Testing
Session 06 - Types of Testing
 
Mayuri Kulkarni_istqb cv (1)
Mayuri Kulkarni_istqb cv (1)Mayuri Kulkarni_istqb cv (1)
Mayuri Kulkarni_istqb cv (1)
 
Basics of Automation & Manual Software Testing
Basics of Automation & Manual Software TestingBasics of Automation & Manual Software Testing
Basics of Automation & Manual Software Testing
 
Testing web application
Testing web applicationTesting web application
Testing web application
 
30 testing interview questions for experienced
30 testing interview questions for experienced30 testing interview questions for experienced
30 testing interview questions for experienced
 
Manual testing real time questions by subbu
Manual testing real time questions by subbuManual testing real time questions by subbu
Manual testing real time questions by subbu
 
2.3 years experience
2.3 years experience2.3 years experience
2.3 years experience
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 

Similar to The Software Testing Pyramid: A Concrete Example

Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSrikanth Krishnamoorthy
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibraSoft Technologies
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussionajrhem
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingPerfecto by Perforce
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentationsureshpkumar
 
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | EdurekaJMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | EdurekaEdureka!
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTechWell
 
Continuous Deployment at Etsy — TimesOpen NYC
Continuous Deployment at Etsy — TimesOpen NYCContinuous Deployment at Etsy — TimesOpen NYC
Continuous Deployment at Etsy — TimesOpen NYCMike Brittain
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional TestingMatthew Allen
 
What is the Difference between Functional Testing and UAT?
What is the Difference between Functional Testing and UAT?What is the Difference between Functional Testing and UAT?
What is the Difference between Functional Testing and UAT?Serena Gray
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visoniaVisoniaTechlab
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answersGaruda Trainings
 

Similar to The Software Testing Pyramid: A Concrete Example (20)

Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
Zibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company InidaZibrasoft | Software QA Testing Company Inida
Zibrasoft | Software QA Testing Company Inida
 
Tdd dev session
Tdd dev sessionTdd dev session
Tdd dev session
 
AJRA Test Strategy Discussion
AJRA Test Strategy DiscussionAJRA Test Strategy Discussion
AJRA Test Strategy Discussion
 
Best Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility TestingBest Practices for Shifting Left Performance and Accessibility Testing
Best Practices for Shifting Left Performance and Accessibility Testing
 
Resume_Joydip Mukherjee
Resume_Joydip MukherjeeResume_Joydip Mukherjee
Resume_Joydip Mukherjee
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Testing Presentation
Testing PresentationTesting Presentation
Testing Presentation
 
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | EdurekaJMeter Interview Questions | Performance Testing Interview Questions | Edureka
JMeter Interview Questions | Performance Testing Interview Questions | Edureka
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Kasi Viswanath
Kasi ViswanathKasi Viswanath
Kasi Viswanath
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every Build
 
Continuous Deployment at Etsy — TimesOpen NYC
Continuous Deployment at Etsy — TimesOpen NYCContinuous Deployment at Etsy — TimesOpen NYC
Continuous Deployment at Etsy — TimesOpen NYC
 
A Complete Guide to Functional Testing
A Complete Guide to Functional TestingA Complete Guide to Functional Testing
A Complete Guide to Functional Testing
 
Raji_QA
Raji_QARaji_QA
Raji_QA
 
Resume 2 year
Resume  2 yearResume  2 year
Resume 2 year
 
What is the Difference between Functional Testing and UAT?
What is the Difference between Functional Testing and UAT?What is the Difference between Functional Testing and UAT?
What is the Difference between Functional Testing and UAT?
 
Manual testing visonia
Manual testing   visoniaManual testing   visonia
Manual testing visonia
 
manual interview q.pdf
manual interview q.pdfmanual interview q.pdf
manual interview q.pdf
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 

More from 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
 

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

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

The Software Testing Pyramid: A Concrete Example

  • 1.           W2   Test  Techniques   10/4/17  11:30           The  Software  Testing  Pyramid:  A   Concrete  Example     Presented  by:     Jim  Weaver      Vanderbilt  University  Medical  Center     Brought  to  you  by:                   350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/              
  • 2.   Jim  Weaver     Vanderbilt  University  Medical  Center     Jim  Weaver  is  a  principal  developer  and  mentor  at  Vanderbilt  University  Medical   Center  (VUMC).  Jim  has  decades  of  experience  building  software  products  in  a   variety  of  industries,  with  a  focus  on  agile  practices  and  mentoring.  He  is  a  co-­‐ inventor  of  MyHealthAtVanderbilt,  a  VUMC  patient  web  portal.  Previously  at   ThoughtWorks,  Jim  coauthored  JWebUnit,  an  open  source  web  testing   framework.  At  GTE,  Jim  supported  and  trained  elements  of  the  US  Army  Signal   Corps  on  network  control  software  he  helped  build.  He  regularly  works  with   developers  and  testers  on  testing  strategies  for  products  built  in  a  variety  of   languages,  and  has  helped  train  teams  in  Extreme  Programming.  Find  Jim  on   Twitter  at  @tenoxtweets  and  on  LinkedIn.    
  • 3. The  So'ware  Tes,ng  Pyramid:   A  Concrete  Example Jim  Weaver   Vanderbilt  University  Medical  Center   (weaver.je@gmail.com)     Source  Code  and  Tests   hBps://github.com/weaverj/testpyramidexample   Selenium  tests:  Cindy  Leffler,  VUMC  
  • 4. Mike  Cohn’s  Test  Pyramid •  FoundaKonal  base  of  unit   tests   •  Minimum  necessary  tests   through  user  interface   •  Service  tests  in  the  middle     •  Service  refers  to  logical   services  –  business  logic,   required  outputs  to  inputs.  
  • 5. Mo,va,ons Many  teams  tested  primarily   through  the  UI   TesKng  through  UI  slower,  more   briBle,  expensive,  less  precise   Unit  tests  are  easy  for  developers  to   write,  usually  in  same  language  as   applicaKon,  locate  bugs  more   precisely   Service  level  tests  can  test  logic   independent  of  UI  
  • 6. Challenges •  IntenKonal  Planning  and  E •  Shared  Understanding   •  Frequent  CommunicaKon CollaboraKon  
  • 7. Sample  Applica,on  :  RxDemo   Rx  Demo:    Web-­‐based  Prescribing  ApplicaKon,  extracted  from  real  clinical  app  in   producKon  for  over  a  decade.  
  • 8. RxDemo  Automated  Test  Strategy Purpose   Authors   Tools   UI   Test  UI  funcKonality,   provide  some  end-­‐end   confirmaKon   QA  automaKon     Junit  and  WebDriver  to   Selenium  Server     Service   Test  business  logic,   publically  verifiable   Customers  (including   QA)  and  Developers   Fitnesse     Unit   Test  implementaKon,   aid  with  design  and   internal  code  quality   Developers   Junit,  Jasmine    
  • 9. Feature:    Limit  Opiate  Rx  Dura,on   When  clinician  is  prescribing  Opiates  or  Benzodiazepines,  limit  the   duraKon  of  the  prescripKon  to  30  days  or  under.  
  • 10. Feature  Test  Plan Feature  Part   Unit  (Junit/Jasmine)   Service  (Fitnesse)   UI  (Selenium  +  Junit)   denKfy  if  drug  being   prescribed  is  Opiate   Calculate  duraKon   Apply  rule  to   prescripKon  and   eturn  response   nform  user  in  UI  if   ule  violated  
  • 11. Iden,fy  Opiates  /  Benzos Feature  Part   Unit  (Junit/Jasmine)   Service  (Fitnesse)   UI  (Selenium  +  Junit)   denKfy  if  drug  being   prescribed  is  Opiate   Test  source  Test  source  
  • 12. Calculate  Dura,on  in  Days Feature  Part   Unit  (Junit/Jasmine)   Service  (Fitnesse)   UI  (Selenium  +  Junit)   Calculate  duraKon   DuraKonParserShould   EDuraKonUnitShould   DuraKonToDays  
  • 13. Dura,on  Valida,on  Rule  Applied Feature  Part   Unit  (Junit/Jasmine)   Service  (Fitnesse)   UI   Apply  rule  to   prescripKon  and   eturn  response   RxValidatorShould   OpiateDuraKonValidaKonRuleShould   OpiateDuraKonRule   ValidatePrescripKonCommandShould  
  • 14. Inform  User  in  UI  if  Rule  Violated Feature  Part   Unit  (Junit/Jasmine)   Service   (Fitnesse)   UI  (Selenium  /  Junit)   nform  user  in  UI  if   ule  violated   OpiateUnder30Allowed   OpiateOver30NotAllowed RxValidatorShould   App.spec.js   RxValidaKonResponseHandler.spec.js  
  • 15. Team  Process  and  Habits   Discuss  applicaKon-­‐wide  tesKng  strategy  –  layers  of  tests,  their   purpose,  tools,  team-­‐member  responsibiliKes.     Keep  all  team  members  involved  in  all  types  of  tests.     For  each  feature,  explicitly  discuss  a  test  plan  –  what  automated  tests will  there  be  at  what  levels?     Watch  for  unwanted  duplicaKon  or  gaps  in  test  coverage.     When  a  bug  hits  producKon,  don’t  just  fix  it  -­‐  find  the  test  gaps  and   close  them.  
  • 16. References   Succeeding  with  Agile:  Sobware  Development  Using  Scrum  by  Mike   Cohn,  Addison-­‐Wesley,  2009     The  ForgoBen  Layer  of  the  Test  AutomaKon  Pyramid:  Mike  Cohn,   2009.     TestPyramid:  MarKn  Fowler,  2012.     Small,  Medium,  Large:  Mike  Bland,  2011.     Methodology  Per  Project:    Alistair  Cockburn,  1999.