Building the Testing Pipeline [email_address] http://www.thekua.com/atwork Twitter: @patkua
This is a  Work shop Expect to do some work (but it won’t be too taxing)
Our Own Pipeline for Today What’s a testing pipeline and why should I care? Understanding tests better Assembling a testin...
Who am I?
Who are you?
Audience Poll: Who knows about… Continuous Integration? Automated Testing?
Continuous Integration in a nutshell Source “ Build  server” “ Developer” “ Developer” “ Developer” “ Developer” Shippable...
Continuous Integration Pipelines
The simplest .net example Checkout C# “ Assemble” DLL
But does it work?
Improving quality Checkout C# “ Assemble” DLL  Test DLL  No idea  this works More confidence  this works
What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools ...
Checkout C# “ Assemble” DLL  Test DLL  Speed matters ✓   Fast feedback ✓   Fail fast
Testing Pipeline …  Tests …  Tests …  Tests …  Tests Automated Consciously designed
What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools ...
Automated Testing ? ? ? ? Brainstorm
What types of  automated  testing do we have?
Functional Non Functional Unit Testing Integration Testing Acceptance  Testing System Testing Scenario Testing Penetration...
A simple application
Acceptance Tests
Unit Tests
Integration Tests
For each type of test answer: <ul><li>What are its benefits? </li></ul><ul><li>What are its costs? </li></ul>Consider some...
Report Back
What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools ...
Ideal Automated Testing Pyramid Unit Integration Acceptance Significantly more  of these compared  to others
Most Implementations of Testing Pyramid Unit Integration Acceptance Often lacking in these or non existent Very slow! Can’...
What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools ...
<ul><li>Using sticky notes, write down tools that you can use to help automate that part of the testing pipeline </li></ul...
What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools ...
Practical Applications
Email Authoring Tool Unit test Acceptance Integration GUI Component DB JUnit (execution framework) Abbot Abbot Hibernate
ISP Provider Provisioning System All Tests 20 minutes Previously: After:  Unit Tests 3 minutes Database Tests 10 minutes S...
REST messaging System Toolsets: JUnit  HttpUnit JMeter Unit tests 1500+ in 1 minute File Based Integration Tests 100+ in 1...
Concluding thoughts
Questions? [email_address] Twitter: @patkua
<ul><li>http://c2.com/cgi/wiki?UnitTestingCostsBenefits </li></ul><ul><li>http://jamesshore.com/Blog/The-Problems-With-Acc...
Upcoming SlideShare
Loading in...5
×

Building the Testing Pipeline

2,336

Published on

Presentation used to supplement the workshop given at ACCU2010 and XP2010

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,336
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • We will break out into
  • We will break out into
  • Break into small groups. Let people introduce themselves to each other. Make sure they have flip charts, and
  • Building the Testing Pipeline

    1. 1. Building the Testing Pipeline [email_address] http://www.thekua.com/atwork Twitter: @patkua
    2. 2. This is a Work shop Expect to do some work (but it won’t be too taxing)
    3. 3. Our Own Pipeline for Today What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    4. 4. Who am I?
    5. 5. Who are you?
    6. 6. Audience Poll: Who knows about… Continuous Integration? Automated Testing?
    7. 7. Continuous Integration in a nutshell Source “ Build server” “ Developer” “ Developer” “ Developer” “ Developer” Shippable Product “ CI Pipeline”
    8. 8. Continuous Integration Pipelines
    9. 9. The simplest .net example Checkout C# “ Assemble” DLL
    10. 10. But does it work?
    11. 11. Improving quality Checkout C# “ Assemble” DLL Test DLL No idea this works More confidence this works
    12. 12. What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    13. 13. Checkout C# “ Assemble” DLL Test DLL Speed matters ✓ Fast feedback ✓ Fail fast
    14. 14. Testing Pipeline … Tests … Tests … Tests … Tests Automated Consciously designed
    15. 15. What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    16. 16. Automated Testing ? ? ? ? Brainstorm
    17. 17. What types of automated testing do we have?
    18. 18. Functional Non Functional Unit Testing Integration Testing Acceptance Testing System Testing Scenario Testing Penetration Testing Load Testing Stress Testing Usability Testing Scalability Testing Approaches Black box White box Story based Testing Boundary Manual Automated Exploratory
    19. 19. A simple application
    20. 20. Acceptance Tests
    21. 21. Unit Tests
    22. 22. Integration Tests
    23. 23. For each type of test answer: <ul><li>What are its benefits? </li></ul><ul><li>What are its costs? </li></ul>Consider some of the following aspects Speed to write Speed to run Coping with changes Repeatability Isolation Traceability Hardware or environment needs Understandability by entire team Aids design
    24. 24. Report Back
    25. 25. What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    26. 26. Ideal Automated Testing Pyramid Unit Integration Acceptance Significantly more of these compared to others
    27. 27. Most Implementations of Testing Pyramid Unit Integration Acceptance Often lacking in these or non existent Very slow! Can’t maintain all of them
    28. 28. What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    29. 29. <ul><li>Using sticky notes, write down tools that you can use to help automate that part of the testing pipeline </li></ul>Group Exercise <ul><li>Walk around and look at others </li></ul>
    30. 30. What’s a testing pipeline and why should I care? Understanding tests better Assembling a testing pipeline The right tools for the job Real life examples
    31. 31. Practical Applications
    32. 32. Email Authoring Tool Unit test Acceptance Integration GUI Component DB JUnit (execution framework) Abbot Abbot Hibernate
    33. 33. ISP Provider Provisioning System All Tests 20 minutes Previously: After: Unit Tests 3 minutes Database Tests 10 minutes System Tests 7 minutes JUnit DBUnit +JUnit FIT
    34. 34. REST messaging System Toolsets: JUnit HttpUnit JMeter Unit tests 1500+ in 1 minute File Based Integration Tests 100+ in 1 minute Acceptance Tests 80+ in 2 minutes Sanity Performance Tests 1 in 1 minute Load/stress Performance Tests 5 in 60 minutes
    35. 35. Concluding thoughts
    36. 36. Questions? [email_address] Twitter: @patkua
    37. 37. <ul><li>http://c2.com/cgi/wiki?UnitTestingCostsBenefits </li></ul><ul><li>http://jamesshore.com/Blog/The-Problems-With-Acceptance-Testing.html </li></ul><ul><li>http://dhemery.com/pdf/writing_maintainable_automated_acceptance_tests.pdf </li></ul>Useful links

    ×