Automate your way to agility

37,753 views

Published on

Learn how agile and test automation interact in the real world

To be presented at Aqua SW Test Automation Open Day at Hi-tech College (http://www.aquasw.com/services_training.php#an2)

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

No Downloads
Views
Total views
37,753
On SlideShare
0
From Embeds
0
Number of Embeds
33,358
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Automate your way to agility

  1. 1. How to Automate your way to Agility Yuval Yeret VP R&D & Agile Coach yuval@agilesparks.com 054-4802458
  2. 2. SANRAD Typical Deployment
  3. 3. Automation Before Aqua WinRunner Telnet CLI SSH VS (Hardware) JavaSwing GUI StoragePro SNMP NMS Client API Windows Load Command Line Generator Linux Load Command Line Generator
  4. 4. What was broken  Bottom line  Late Delivery (6months late for a 9 months version)  Low customer satisfaction – Quality, Business Value  Root causes  Big bang integration – late discovery of issues  Scope fixed – schedule/quality paid the price.  Wasted work on detailed specs/architecture  QA Focus on manual scripted testing – got to advanced testing late - big problems found in “release candidates”  Technical Debt slowed us down
  5. 5. What is technical debt?
  6. 6. Henrik Kniberg
  7. 7. Driving Force - Change
  8. 8. Iterate / Inspect & Adapt
  9. 9. Why Agile?  Early feedback/visibility - enable inspect and adapt  Smaller more manageable versions  Fix schedule + quality – manage scope  Better and earlier interaction between QA/DEV teams/PM – Faster convergence on feature contents, quality, usability  Leverage power/knowledge of the team  FASTER TIME TO MARKET  HIGHER CUSTOMER SATISFACTION
  10. 10. What we did…
  11. 11. Our experience (Testing Aspects)  High points  Early tester involvement key to success  Much higher quality earlier  Much easier to successfully predict length of hardening/testing period  Relatively easy to change functionality due to external changes, QA input, etc.  Very stable Continuous Integration/Build environment.  But…
  12. 12. Our experience (Testing Aspects)  But  Only partial test automation of main regression aspects or new functionality  Testers late to the party from time to time (SPs, earlier releases, etc.)  Swing GUI automation – very hard to achieve. Technically works, pragmatically very slow development, not worth it  So…
  13. 13. Our experience (Testing Aspects) So…  Couldn’t safely refactor/rewrite  • hard to deal with Technical Debt • velocity still limited  lack of full automation of main flows  Still surprises quite late in the game  Still hard to release frequently
  14. 14. Lessons Learned  Agility requires comprehensive hands-off acceptance test automation  Automated test automation ;-)  Test automate via APIs, even at the cost of significantly reduced coverage  Start the project together, don’t let DEV get too far ahead
  15. 15. Continuous Collective Code Coding Standards Refactoring Design Patterns Ownership (CI) Integration Test Driven Design/Development Pair Programming Agile Testing
  16. 16. Engineering Practices ROI 45 41.33 40 35 31.03 30 % 25 Total 20 17.88 15 10 5.8 5 2.29 1.73 0 PSPsm XP Agile Scrum ISO9001 CMMI®
  17. 17. Continuous Integration
  18. 18. Agile Testing Cost per cycle should be minimal  Automate Automate Automate!!!  Unit / Integration / Acceptance / Regression Lean test documentation –  Consider Exploratory Testing where applicable.  Focus on outline, elaborate details verbally as you go, or trust testers to do the right thing. QA Measurements should drive Agile Testing Minimize freeze/stabilization time  Aim for shorter length, and consider it a maturity sign  How? • Maximize quality delivered for regular sprints • Maximize efficiency of manual test work • Did we mention Automate?
  19. 19. Test-Driven Development/Design TDD is a method of designing software, not merely an approach to testing. Over a period of time, as a side effect, TDD will lead to suite of automated unit tests.
  20. 20. Acceptance Test-Driven Development Functional Implement Functionality Requirement Execute Acceptance Test Draft Cases Acceptance Test Cases Review Results Verify Results Accepted Modify Acceptance Test Cases 26
  21. 21. What do I do tomorrow?  Do you already have a significant part of your Sanity, Regression, and new functionality automated?  Automate your nightly build – Create Continuous Integration  Start the journey to Agility  Learn more about Agile/Scrum/Lean/XP.  Agile can jump-start your R&D engine, • ESPECIALLY when includes effective test automation and other engineering practices.  Inspect & Adapt – Learning Organization
  22. 22. For agilists without wings…  Are you “agile” without test automation?  You probably already know something’s missing…  Choose an automation solution/partner that will make test automation  Practical  Maintainable  Approachable for Testers, Developers  Scalable
  23. 23. Test Automation as a classic Agile Project  Backlog  Business Value == Coverage Priority and %  PO  QA Manager  Team  Core team focused on automation  Short Sprints  Deploy to CI frequently  Adjust priorities  Adopt in delivery teams  Inspect and Adapt
  24. 24. Ask us how! info@agilesparks.com yuval@agilesparks.com Get the slides at http://www.slideshare.net/yyeret/

×