Your SlideShare is downloading. ×
0
Agile Testing Using Agile Tools Dmitry Lebedev NB Crew Agile Tour, Vilnius, 6 of october, 2011
Dmitry Lebedev www.agile-latvia.org www.jug.lv www.agiletestingdays.com NB Crew Consulting &  Development
Meaning of methodology?
Meaning of methodology!
Methodology Avoid a Failure Hit the Target
Story of Two Islands (Sad One)
Two Tribes
Two Mindsets (I)
Two Mindsets (II)
Two Complexities Internal Complexity External Complexity
Two Islands (Reconsidered)
Traditional Testing Tools <ul><li>Expensive software </li></ul><ul><li>Custom scripts </li></ul><ul><li>Customized OS tool...
Agile Testing Tools?
Approach to Quality
Agile Tools You Really Need <ul><li>Whiteboard, markers </li></ul><ul><li>Pairing stations </li></ul><ul><li>Index cards <...
Typical Case Web Frontend Java Application 3 rd  party web-service DB Log File
Tested Points (Often) Web Frontend Java Application 3 rd  party web-service DB Log File
Tested Points (Less Often) Web Frontend Java Application 3 rd  party web-service DB Log File
Tested Points (Sweet Dreams) Web Frontend Java Application 3 rd  party web-service DB Log File
Enterprise Tesing Is Boring
How to Make It Fun Again?!
Recipes <ul><li>1. Become a software craftsman </li></ul>
Recipes <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul>
Recipies <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul><ul><li>3. Don’t com...
Recipies <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul><ul><li>3. Don’t com...
Why Ruby?! <ul><li>1. Free </li></ul><ul><li>2. Flexible but Powerful </li></ul><ul><li>3. Great Community </li></ul>
Let's automate! <ul><li>- Watir </li></ul><ul><li>- Selenium </li></ul><ul><li>- Cucumber </li></ul><ul><li>- RSpecs </li>...
When It's Not Possible... <ul><li>- Legacy </li></ul><ul><li>- 3 rd  Party Systems </li></ul><ul><li>- Propietary Software...
Code Examples <ul><li>Log parsing </li></ul>
Code Examples File.open(&quot;tesfile.log&quot;, &quot;r&quot;) do |infile| while (line = infile.gets)   if line =~ /.*Id:...
Code Examples <ul><li>Testing web services </li></ul>
Code Examples require 'rubygems' require 'httpclient' clnt = HttpClient.new params = {&quot;user_id&quot;=>&quot;123&quot;...
Code Examples <ul><li>Gathering the pack </li></ul>
Code Example require 'test/unit' class MyFirstTest < Test::Unit::TestCase def test_logs_output .... end def test_web_servi...
Questions?! <ul><li>1. Twitter – lebedev_dmitry </li></ul><ul><li>2. www.agile-latvia.org </li></ul><ul><li>3. www.jug.lv ...
Copyrights <ul><li>All images were taken from en.wikipedia.org and are used under  wikimedia creative, creative commons, G...
Upcoming SlideShare
Loading in...5
×

Dmitry Lebedev: Agile Testing Using Agile Tools

1,024

Published on

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

  • Be the first to like this

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

No notes for slide

Transcript of "Dmitry Lebedev: Agile Testing Using Agile Tools"

  1. 1. Agile Testing Using Agile Tools Dmitry Lebedev NB Crew Agile Tour, Vilnius, 6 of october, 2011
  2. 2. Dmitry Lebedev www.agile-latvia.org www.jug.lv www.agiletestingdays.com NB Crew Consulting & Development
  3. 3. Meaning of methodology?
  4. 4. Meaning of methodology!
  5. 5. Methodology Avoid a Failure Hit the Target
  6. 6. Story of Two Islands (Sad One)
  7. 7. Two Tribes
  8. 8. Two Mindsets (I)
  9. 9. Two Mindsets (II)
  10. 10. Two Complexities Internal Complexity External Complexity
  11. 11. Two Islands (Reconsidered)
  12. 12. Traditional Testing Tools <ul><li>Expensive software </li></ul><ul><li>Custom scripts </li></ul><ul><li>Customized OS tools </li></ul><ul><li>Hands & Brain </li></ul>
  13. 13. Agile Testing Tools?
  14. 14. Approach to Quality
  15. 15. Agile Tools You Really Need <ul><li>Whiteboard, markers </li></ul><ul><li>Pairing stations </li></ul><ul><li>Index cards </li></ul><ul><li>Toys, food </li></ul><ul><li>Stickies,sharpies </li></ul>
  16. 16. Typical Case Web Frontend Java Application 3 rd party web-service DB Log File
  17. 17. Tested Points (Often) Web Frontend Java Application 3 rd party web-service DB Log File
  18. 18. Tested Points (Less Often) Web Frontend Java Application 3 rd party web-service DB Log File
  19. 19. Tested Points (Sweet Dreams) Web Frontend Java Application 3 rd party web-service DB Log File
  20. 20. Enterprise Tesing Is Boring
  21. 21. How to Make It Fun Again?!
  22. 22. Recipes <ul><li>1. Become a software craftsman </li></ul>
  23. 23. Recipes <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul>
  24. 24. Recipies <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul><ul><li>3. Don’t come un-armed </li></ul>
  25. 25. Recipies <ul><li>1. Become a software craftsman </li></ul><ul><li>2. Create rather than buy </li></ul><ul><li>3. Don’t come un-armed </li></ul><ul><li>4. Automate as much as can </li></ul>
  26. 26. Why Ruby?! <ul><li>1. Free </li></ul><ul><li>2. Flexible but Powerful </li></ul><ul><li>3. Great Community </li></ul>
  27. 27. Let's automate! <ul><li>- Watir </li></ul><ul><li>- Selenium </li></ul><ul><li>- Cucumber </li></ul><ul><li>- RSpecs </li></ul>
  28. 28. When It's Not Possible... <ul><li>- Legacy </li></ul><ul><li>- 3 rd Party Systems </li></ul><ul><li>- Propietary Software </li></ul>
  29. 29. Code Examples <ul><li>Log parsing </li></ul>
  30. 30. Code Examples File.open(&quot;tesfile.log&quot;, &quot;r&quot;) do |infile| while (line = infile.gets) if line =~ /.*Id:d+ session (start|finish)/ puts &quot;#{line}&quot; end end end
  31. 31. Code Examples <ul><li>Testing web services </li></ul>
  32. 32. Code Examples require 'rubygems' require 'httpclient' clnt = HttpClient.new params = {&quot;user_id&quot;=>&quot;123&quot;, &quot;action&quot;=>&quot;credit&quot;, &quot;currency&quot;=>&quot;EUR&quot;, &quot;amount&quot; => &quot;10&quot;} puts clnt.get(&quot;http://somehost/service&quot;, params)
  33. 33. Code Examples <ul><li>Gathering the pack </li></ul>
  34. 34. Code Example require 'test/unit' class MyFirstTest < Test::Unit::TestCase def test_logs_output .... end def test_web_service .... end end
  35. 35. Questions?! <ul><li>1. Twitter – lebedev_dmitry </li></ul><ul><li>2. www.agile-latvia.org </li></ul><ul><li>3. www.jug.lv </li></ul>
  36. 36. Copyrights <ul><li>All images were taken from en.wikipedia.org and are used under wikimedia creative, creative commons, GPL licenses </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×