SlideShare a Scribd company logo
1 of 25
Quest for an ultimate
autotest
...Coverage?
A. Pushkarev 2018
Spoiler
• I hope that nothing in this presentation is
new for the audience
• The real projected value is to put things
we already know together
Who am I? Alex Pushkarev
• ~ 11 years in IT
• Test focused developer/Development focused
tester
• Agile fan, XP practitioner
Why do we need “ultimate" coverage recipe?
-> We don’t!
-> We just want our tests not to be
useless…
Why do we need [automated] tests?
-> We don’t!
-> We need a stability
and certainty…
Mission: gather data and information
“Best practices” will fail you
-> There’s always a context where best
practice will fit
-> And won’t fit
Figure out the context
Figure out the context
Minimizing risk
Minimizing
time-to-prod
Limited
resources
• Agile never meant we should not have a
strategy
Adequate test automation coverage
• Can be measured via lines of code (i.e.
Code coverage)
• Can be measured via featurestories
mapping (i.e. traceability matrix,
feature coverage, etc)
Code coverage tools
• JaCoCo
• DotCover
• CodeCoverage
Feature coverage
• Traceability matrix
• ATDD
• Feature mapping
How to misuse code coverage
-> Low coverage may show there’s a
problem
http://www.exampler.com/testing-com/writings/coverage.pdf
-> High coverage does not prove there’s no
problem
What is adequate?
Minimizing risk Limited resources Minimizing time
• Duplication is alright
• Both code and feature
coverage are used
• It is OK to have
separate QA team as a
gatekeeper
Common sense?.. • Duplication is not
acceptable
• Separate teams are
waste
• It is ok to use only
code coverage
What is adequate?
Minimizing risk Limited resources Minimizing time
• Duplication is alright
• Both code and feature
coverage are used
• It is OK to have
separate QA team as a
gatekeeper
Common sense?.. • Duplication is not
acceptable
• Separate teams are
waste
• It is ok to use only
code coverage
Risk-driven test automation coverage
-> We don’t need coverage
-> We need a certainty…
-> That a particular bad thing does not
happen
Two different views on Test Automation
Risk-driven test automation coverage
Testing dashboard
Application Demo - Requirements
1. As a system administrator I want to be able to add new
user to a system
2. As a system administrator I want my user form to be
automatically validated
3. As a system administrator I want my user form check if
password is strong enough
Show me the application
https://github.com/senpay/
feature-test-master-class
Wonna-be algorithm
• Understand the context
[and challenge context assumptions]
• Define a goal/mission/risks
[does anybody have an idea what the heck you’re doing here]
• Use an appropriate way to support your coverage
• Code coverage
• Feature coverage
• Risk coverage
Final element: the team of individuals
who care about the crafts
Individuals and interactions over processes and tools
Essential complexity and Accidental
complexity
Why software testing is hard?
• It is because software is complex.
• The more complex the thing you test - the more complex it is
to test it
• Your design (for testability) is influencing your test automation
success much higher than frameworks and tools
Should you have any questions
Alex Pushkarev
http://aqaguy.blogspot.com
https://www.linkedin.com/in/alexpushkarev/
https://twitter.com/aqaguy

More Related Content

What's hot

Better tests automagically (big sky dev con 2015)
Better tests automagically (big sky dev con 2015)Better tests automagically (big sky dev con 2015)
Better tests automagically (big sky dev con 2015)
roblund
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
Duy Tan Geek
 

What's hot (20)

RIA 05 - Unit Testing by Ajinkya Prabhune
RIA 05 - Unit Testing by Ajinkya PrabhuneRIA 05 - Unit Testing by Ajinkya Prabhune
RIA 05 - Unit Testing by Ajinkya Prabhune
 
How to get the most out of code reviews
How to get the most out of code reviewsHow to get the most out of code reviews
How to get the most out of code reviews
 
Episode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in SalesforceEpisode 5 - Writing unit tests in Salesforce
Episode 5 - Writing unit tests in Salesforce
 
The Art of Giving and Receiving Code Reviews
The Art of Giving and Receiving Code ReviewsThe Art of Giving and Receiving Code Reviews
The Art of Giving and Receiving Code Reviews
 
Developer + tester = quality++
Developer + tester = quality++Developer + tester = quality++
Developer + tester = quality++
 
Apex trigger framework Salesforce #ApexTrigger #Salesforce #SFDCPanther
Apex trigger framework Salesforce #ApexTrigger #Salesforce #SFDCPantherApex trigger framework Salesforce #ApexTrigger #Salesforce #SFDCPanther
Apex trigger framework Salesforce #ApexTrigger #Salesforce #SFDCPanther
 
Onlinequiz games
Onlinequiz gamesOnlinequiz games
Onlinequiz games
 
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedTest Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
 
Episode 1 - PathToCode.com
Episode 1 - PathToCode.comEpisode 1 - PathToCode.com
Episode 1 - PathToCode.com
 
Better tests automagically (big sky dev con 2015)
Better tests automagically (big sky dev con 2015)Better tests automagically (big sky dev con 2015)
Better tests automagically (big sky dev con 2015)
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
 
Continuous improvements of developer efficiency with modern IDE
Continuous improvements of developer efficiency with modern IDEContinuous improvements of developer efficiency with modern IDE
Continuous improvements of developer efficiency with modern IDE
 
Funny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscapeFunny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscape
 
ITTM: Service Desk Skill Automation
ITTM: Service Desk Skill AutomationITTM: Service Desk Skill Automation
ITTM: Service Desk Skill Automation
 
Insoft training day_1
Insoft training day_1Insoft training day_1
Insoft training day_1
 
Unit testing in PHP
Unit testing in PHPUnit testing in PHP
Unit testing in PHP
 
How to Create Python scripts
How to Create Python scriptsHow to Create Python scripts
How to Create Python scripts
 
Being Lean Agile
Being Lean AgileBeing Lean Agile
Being Lean Agile
 
Kuldeep Automation Testing engineer
Kuldeep Automation Testing engineerKuldeep Automation Testing engineer
Kuldeep Automation Testing engineer
 
All About Test Class in #Salesforce
All About Test Class in #SalesforceAll About Test Class in #Salesforce
All About Test Class in #Salesforce
 

Similar to Quest for the ultimate autotest coverage

An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)
Rodrigo Lopes
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
gaoliang641
 

Similar to Quest for the ultimate autotest coverage (20)

Sustainable agile testing
Sustainable agile testingSustainable agile testing
Sustainable agile testing
 
Pull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptxPull_Request_PAW_Shared_Rohit.pptx
Pull_Request_PAW_Shared_Rohit.pptx
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Guidelines to Measuring Test Automation ROI
 Guidelines to Measuring Test Automation ROI Guidelines to Measuring Test Automation ROI
Guidelines to Measuring Test Automation ROI
 
What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdf
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
An Overview of automated testing (1)
An Overview of automated testing (1)An Overview of automated testing (1)
An Overview of automated testing (1)
 
How to become a testing expert
How to become a testing expertHow to become a testing expert
How to become a testing expert
 
Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Software Quality without Testing
Software Quality without TestingSoftware Quality without Testing
Software Quality without Testing
 
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
 
agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.ppt
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3
 
Scaling security in a cloud environment v0.5 (Sep 2017)
Scaling security in a cloud environment  v0.5 (Sep 2017)Scaling security in a cloud environment  v0.5 (Sep 2017)
Scaling security in a cloud environment v0.5 (Sep 2017)
 
Test team dynamics, Антон Мужайло
Test team dynamics, Антон МужайлоTest team dynamics, Антон Мужайло
Test team dynamics, Антон Мужайло
 
Building QA Team that matters for an Agile World
Building QA Team that matters for an Agile WorldBuilding QA Team that matters for an Agile World
Building QA Team that matters for an Agile World
 
AWS December 2015 Webinar Series - Introducing Amazon Inspector
AWS December 2015 Webinar Series - Introducing Amazon InspectorAWS December 2015 Webinar Series - Introducing Amazon Inspector
AWS December 2015 Webinar Series - Introducing Amazon Inspector
 
Opticon18: Developer Night
Opticon18: Developer NightOpticon18: Developer Night
Opticon18: Developer Night
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 

Quest for the ultimate autotest coverage

  • 1. Quest for an ultimate autotest ...Coverage? A. Pushkarev 2018
  • 2. Spoiler • I hope that nothing in this presentation is new for the audience • The real projected value is to put things we already know together
  • 3. Who am I? Alex Pushkarev • ~ 11 years in IT • Test focused developer/Development focused tester • Agile fan, XP practitioner
  • 4. Why do we need “ultimate" coverage recipe? -> We don’t! -> We just want our tests not to be useless…
  • 5. Why do we need [automated] tests? -> We don’t! -> We need a stability and certainty…
  • 6. Mission: gather data and information
  • 7. “Best practices” will fail you -> There’s always a context where best practice will fit -> And won’t fit
  • 8. Figure out the context
  • 9. Figure out the context Minimizing risk Minimizing time-to-prod Limited resources • Agile never meant we should not have a strategy
  • 10. Adequate test automation coverage • Can be measured via lines of code (i.e. Code coverage) • Can be measured via featurestories mapping (i.e. traceability matrix, feature coverage, etc)
  • 11. Code coverage tools • JaCoCo • DotCover • CodeCoverage
  • 12. Feature coverage • Traceability matrix • ATDD • Feature mapping
  • 13. How to misuse code coverage -> Low coverage may show there’s a problem http://www.exampler.com/testing-com/writings/coverage.pdf -> High coverage does not prove there’s no problem
  • 14. What is adequate? Minimizing risk Limited resources Minimizing time • Duplication is alright • Both code and feature coverage are used • It is OK to have separate QA team as a gatekeeper Common sense?.. • Duplication is not acceptable • Separate teams are waste • It is ok to use only code coverage
  • 15. What is adequate? Minimizing risk Limited resources Minimizing time • Duplication is alright • Both code and feature coverage are used • It is OK to have separate QA team as a gatekeeper Common sense?.. • Duplication is not acceptable • Separate teams are waste • It is ok to use only code coverage
  • 16. Risk-driven test automation coverage -> We don’t need coverage -> We need a certainty… -> That a particular bad thing does not happen
  • 17. Two different views on Test Automation
  • 20. Application Demo - Requirements 1. As a system administrator I want to be able to add new user to a system 2. As a system administrator I want my user form to be automatically validated 3. As a system administrator I want my user form check if password is strong enough
  • 21. Show me the application https://github.com/senpay/ feature-test-master-class
  • 22. Wonna-be algorithm • Understand the context [and challenge context assumptions] • Define a goal/mission/risks [does anybody have an idea what the heck you’re doing here] • Use an appropriate way to support your coverage • Code coverage • Feature coverage • Risk coverage
  • 23. Final element: the team of individuals who care about the crafts Individuals and interactions over processes and tools
  • 24. Essential complexity and Accidental complexity Why software testing is hard? • It is because software is complex. • The more complex the thing you test - the more complex it is to test it • Your design (for testability) is influencing your test automation success much higher than frameworks and tools
  • 25. Should you have any questions Alex Pushkarev http://aqaguy.blogspot.com https://www.linkedin.com/in/alexpushkarev/ https://twitter.com/aqaguy