The Mad Science of Testing

The Mad Science of Testing

Talk given to PHP Berkshire in June 2015.

2c1dc90ff7bf69097a151677624777d2?s=128

Stuart Herbert

June 17, 2015
Tweet

Transcript

  1. 7.

    @stuherbert Experiment Design • Form a hypothesis • Determine required

    pre-conditions • Execute steps • Observe changes • Draw conclusions Mad Science of Testing
  2. 8.

    @stuherbert Experiment Design • Form a hypothesis • Determine required

    pre-conditions • Execute steps • Observe changes • Draw conclusions Mad Science of Testing
  3. 9.

    @stuherbert Experiment Design • Form a hypothesis • Determine required

    pre-conditions • Execute steps • Observe changes • Draw conclusions Mad Science of Testing
  4. 10.

    @stuherbert Experiment Design • Form a hypothesis • Determine required

    pre-conditions • Execute steps • Observe changes • Draw conclusions Mad Science of Testing
  5. 11.

    @stuherbert Experiment Design • Form a hypothesis • Determine required

    pre-conditions • Execute steps • Observe changes • Draw conclusions Mad Science of Testing
  6. 12.

    @stuherbert Test Design • Given a requirement to prove •

    Determine test data to use, system state before test starts • Execute code • Check return values, persistent data • Test pass / fail Mad Science of Testing
  7. 13.

    @stuherbert Test Design • Given a requirement to prove •

    Determine test data to use, system state before test starts • Execute code • Check return values, persistent data • Test pass / fail Mad Science of Testing
  8. 14.

    @stuherbert Test Design • Given a requirement to prove •

    Determine test data to use, system state before test starts • Execute code • Check return values, persistent data • Test pass / fail Mad Science of Testing
  9. 15.

    @stuherbert Test Design • Given a requirement to prove •

    Determine test data to use, system state before test starts • Execute code • Check return values, persistent data • Test pass / fail Mad Science of Testing
  10. 16.

    @stuherbert Test Design • Given a requirement to prove •

    Determine test data to use, system state before test starts • Execute code • Check return values, persistent data • Test pass / fail Mad Science of Testing
  11. 25.

    @stuherbert Mad Scientist Needs • Somewhere to do mad science

    • Something to experiment on • Something crazy to attempt • A sidekick to do all the heavy lifting Mad Science of Testing
  12. 26.

    @stuherbert Mad Scientist Needs • Somewhere to do mad science

    • Something to experiment on • Something crazy to attempt • A sidekick to do all the heavy lifting Mad Science of Testing
  13. 27.

    @stuherbert Mad Scientist Needs • Somewhere to do mad science

    • Something to experiment on • Something crazy to attempt • A sidekick to do all the heavy lifting Mad Science of Testing
  14. 28.

    @stuherbert Mad Scientist Needs • Somewhere to do mad science

    • Something to experiment on • Something crazy to attempt • A sidekick to do all the heavy lifting Mad Science of Testing
  15. 30.

    @stuherbert Software Tester Needs • Somewhere to test • Something

    to test • A requirement to prove • Automation tools Mad Science of Testing
  16. 31.

    @stuherbert Software Tester Needs • Somewhere to test • Something

    to test • A requirement to prove • Automation tools Mad Science of Testing
  17. 32.

    @stuherbert Software Tester Needs • Somewhere to test • Something

    to test • A requirement to prove • Automation tools Mad Science of Testing
  18. 33.

    @stuherbert Software Tester Needs • Somewhere to test • Something

    to test • A requirement to prove • Automation tools Mad Science of Testing
  19. 37.

    @stuherbert The Laboratory • Built for mad science only •

    Full of crazy stuff • Built out of recycled junk • Often deadly to innocent trespassers! Mad Science of Testing
  20. 38.

    @stuherbert The Laboratory • Built for mad science only •

    Full of crazy stuff • Built out of recycled junk • Often deadly to innocent trespassers! Mad Science of Testing
  21. 39.

    @stuherbert The Laboratory • Built for mad science only •

    Full of crazy stuff • Built out of recycled junk • Often deadly to innocent trespassers! Mad Science of Testing
  22. 40.

    @stuherbert The Laboratory • Built for mad science only •

    Full of crazy stuff • Built out of recycled junk • Often deadly to innocent trespassers! Mad Science of Testing
  23. 42.

    @stuherbert Test Environments • Purpose built • Full of things

    unique for testing • Running on hand-me-down kit :( • Should be deadly to bad code Mad Science of Testing
  24. 43.

    @stuherbert Test Environments • Purpose built • Full of things

    unique for testing • Running on hand-me-down kit :( • Should be deadly to bad code Mad Science of Testing
  25. 44.

    @stuherbert Test Environments • Purpose built • Full of things

    unique for testing • Running on hand-me-down kit :( • Should be deadly to bad code Mad Science of Testing
  26. 45.

    @stuherbert Test Environments • Purpose built • Full of things

    unique for testing • Running on hand-me-down kit :( • Should be deadly to bad code Mad Science of Testing
  27. 52.

    @stuherbert Crazy Stuff • Reanimation • Death rays • Time

    travel • Crazy hybrids Mad Science of Testing
  28. 54.

    @stuherbert Crazy Stuff • Reanimation • Death rays • Time

    travel • Crazy hybrids Mad Science of Testing
  29. 56.

    @stuherbert Crazy Stuff • Reanimation • Death rays • Time

    travel • Crazy hybrids Mad Science of Testing
  30. 57.

    @stuherbert Crazy Stuff • Reanimation • Death rays • Time

    travel • Crazy hybrids Mad Science of Testing
  31. 60.

    @stuherbert Test Activities • Repeatable testing • Robustness tests •

    Reproduce reported faults • Test things together Mad Science of Testing
  32. 61.

    @stuherbert Test Activities • Repeatable testing • Robustness tests •

    Reproduce reported faults • Test things together Mad Science of Testing
  33. 62.

    @stuherbert Test Activities • Repeatable testing • Robustness tests •

    Reproduce reported faults • Test things together Mad Science of Testing
  34. 63.

    @stuherbert Test Activities • Repeatable testing • Robustness tests •

    Reproduce reported faults • Test things together Mad Science of Testing
  35. 78.

    @stuherbert Automation! • Repeatable heavy lifting • Upfront effort required

    • Build your own • Make it run your laboratory Mad Science of Testing
  36. 79.

    @stuherbert Automation! • Repeatable heavy lifting • Upfront effort required

    • Build your own • Make it run your laboratory Mad Science of Testing
  37. 80.

    @stuherbert Automation! • Repeatable heavy lifting • Upfront effort required

    • Build your own • Make it run your laboratory Mad Science of Testing
  38. 81.

    @stuherbert Automation! • Repeatable heavy lifting • Upfront effort required

    • Build your own • Make it run your laboratory Mad Science of Testing