32
Do less testing

Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Do less testing

Page 2: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Disclaimer

Page 3: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Business

$

Page 4: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Testing ≠ Quality

Page 5: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Effective software teams are all alike; every dysfunctional team is dysfunctional in its own wayL. TOLSTOY

Page 6: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Effective software team

Process Quality SoftwareDeveloperRequirements

Page 7: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

ProcessDeveloperRequirements Low-quality Software

Page 8: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Testing Phase

Page 9: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Testing Phase

Page 10: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Testing Phase

Page 11: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Testing Phase

Page 12: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Testing Phase

Page 13: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Tester Writes the test code

Developer Writes the functional code

Conflict in roles

Page 14: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Tester Wants to block release

Developer Wants to release

Conflict in aims

Page 15: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Tester Cares about quality

Developer Does not care about quality

Conflict in attitude

Page 16: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Tester Value is implicit and unmeasurable

Developer Delivers explicit value to the business

Conflict in perception

Page 17: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

Process Quality SoftwareDeveloperRequirements

Page 18: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

High-quality Process

Quality SoftwareDeveloperRequirements

Page 19: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Dysfunctional software team

High-quality Process

Quality SoftwareRequirements High-quality Developer

Page 20: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Effective software team

High-quality Process

Quality SoftwareHigh-quality Developer

High-quality Requirements

Page 21: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Testing ≠ Quality

Page 22: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Do less testing

Page 23: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

What is testing for? What are the ongoing costs?

Page 24: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Manual testing Can we find bugs?

Automated testing Is it safe to release?

Page 25: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Automated testing is not cost-free

(Virtual) Hardware Time to run

Framework & implementation

Ongoing maintenance

Page 26: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Automated testing is not cost-free

(Virtual) Hardware Time to run

Framework & implementation

Ongoing maintenance

Page 27: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Reducing time between releases from:

Months to weeks

Weeks to days

Days to hours

Every commit

JOURNEY TO CONTINUOUS DEPLOYMENT

Acceptable testing:

Several days of manual testing to find bugs

Absolute reliance on fully automated pipeline

Page 28: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

How to do less testing?

Page 29: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

How to spend less time doing testing?

Page 30: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Prevent Identify potential problems

before coding

Mitigate Reduce the impact of problems to end users

Listen Adjust the quality bar based

on your users’ actual experience

Tactics to reduce/replace testing

Page 31: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Examples

Prevent • Kickoffs to identify edge

cases

• Paired development

• Train your developers in quality thinking

Mitigate • Monitoring

• Staged deployments with automatic rollbacks

• Feature flags

Listen • Realistic and consistent bug

policy

• Impact-driven priorities

• Don’t sweat the small stuff

Page 32: Do Less Testing backupcopy - aadays.plaadays.pl/wp-content/uploads/2017/10/Do-Less-Testing.pdf · Examples Prevent • Kicko!s to identify edge cases • Paired development • Train

Mindset Goal is quality software, not testing activityTakeaways

Automate Machines tell you that deployment is safe

Trust Developers are allies with the same goals

Measure Testing has costs, especially time-related

Replace Alternative ways to engineer quality software