Baking In Quality: The Evolving Role of the Agile Tester

478 views
397 views

Published on

While more and more organizations are practicing agile development methodologies, many have not learned how to “bake in quality” throughout the process. As an agile tester, you are an integral part of the development team—working on requirements, design, implementation, writing automated tests, and testing However, are all team members working together as they should to ensure quality from day one through final delivery? Dena Laterza offers proven tips to help you and your team make the cultural shift to adopt and foster a “quality first” team standard. Gain an understanding of a tester's involvement in test-driven development and behavior-driven development. Take back new ideas on automating tests, working with stakeholders, and becoming a fully informed tester. Learn how to push testing back into development and maximize the value of testers on the team. Take back a plan to get your agile team working together—as a team.

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
478
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Baking In Quality: The Evolving Role of the Agile Tester

  1. 1. W4 Agile Testing 5/1/2013 11:30:00 AM Baking In Quality: The Evolving Role of the Agile Tester Presented by: Dena Laterza Agile Velocity Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  2. 2. Dena Laterza In software quality for seventeen years and currently a quality coach for Agile Velocity (AgileVelocity.com), Dena Laterza became an agile enthusiast five years ago when the director of development brought in agile coaches. The coaching succeeded - and so did the project! Dena has worked on applications in the medical, lead management, contract management, project management, retail, and video-conferencing domains - with both commercial and open-source test automation tools. She is continually learning and mentoring others on automated testing tools and techniques for unit, integration, and GUI testing. Dena lives and practices her craft in Austin, Texas.
  3. 3. BAKING QUALITY IN The Evolving Role of the Agile Tester
  4. 4. Introduce yourself! Talk to those around you. Introduce yourself. What role do they play in software development?
  5. 5. Illusion of Waterfall 80% Done?? Release Requirements Waterfall Design Development QA
  6. 6. Working software is the primary measure of progress Sprint 2 Sprint 3 Sprint 4 Requirements Requirements Requirements Requirements Design Design Design Design Development Development Development Development QA QA QA QA Agile Sprint 1 Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. Potentially Releasable Product Increment AGILE VELOCITY PROPRIETARY
  7. 7. Tear Down This Wall Testers are integrated into Development Image Source: http://www.thesniper.us Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  8. 8. What is Testing in Agile? Testing is embedded into the Definition of Done Testing drives development Test whenever possible throughout development Agile testing is a team effort Agile testing needs automation http://www.agiletesting.info/what-is-agile-testing-112
  9. 9. Test automation is a core agile practice. - Lisa Crispin (Agile Testing)
  10. 10. The Test Automation Pyramid
  11. 11. Unit Tests Test a class, function, or method in isolation Test common, normal use Test boundary cases for valid input Test failure conditions (invalid input, exceptions) http://starship.python.net/~tbryan/UnitTestTalk/slide2.html Tom Bryan
  12. 12. Acceptance Tests Verifies User Story meets expectations of the stakeholders Test with full stack running Easy to understand outside of Development Validate API, UI, persistence layer (db) Tests the system from the user’s perspective Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  13. 13. Acceptance Test Example Feature: Login Wrong way Scenario: Tests login with invalid credentials Given I am on the Login screen When I enter "user1" in the username field And I enter "mypassword" in the password field And I click the Login button Then I should see the error message "Username/password is invalid" Right way Scenario: Tests login with invalid credentials Given I am on the Login screen When I enter invalid credentials Then I am not logged in and a meaningful error message is displayed
  14. 14. More Examples Feature: Fixed amount withdrawal Scenario: Tests withdrawing a fixed amount Given I have $1000 in my account When I withdraw a fixed amount of $200 Then my account balance is $800 Scenario: Tests attempting withdrawal of a fixed amount when balance is too low Given I have $200 in my account When I withdraw a fixed amount of $300 Then I see “Insufficient funds to withdraw this amount.” Error
  15. 15. Tests Are a Safety Net Image Source: drawingwater.org Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  16. 16. What is the cost of finding a defect late? 20 Developers making 10 code changes a day 1 Day = 200 Changes 2 Weeks = 2,000 Changes Images Source: http://wendistry.com/wp-content/uploads/2010/03/haystack.jpg 2 Months = 8,000 Changes
  17. 17. Image Source: innovativelearningdesignes.ca
  18. 18. As a user planning a trip, I want to know the last date I can change my flight without being charged a fee, so that I can avoid incurring a charge. Acceptance Criteria: 1. User must be logged in to create or edit a reservation 2. User can enter their fly date when creating or editing a reservation 3. Last date to change flight without a fee is displayed to the right of the fly date 4. Premium users can change their flight up to 3 days prior 5. All other users can change their flight up to two weeks prior 6. Date formats are based on language in Browser
  19. 19. Push Testing Down • Strategize as a team on the testing of each story/feature Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  20. 20. Push Testing Down • Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  21. 21. Push Testing Down • Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level • Ensure entire team gains value from all automated tests Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  22. 22. Push Testing Down • Strategize as a team on the testing of each story/feature • Understand what can/cannot be tested at each level • Ensure entire team gains value from all automated tests • Minimize duplication Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
  23. 23. Test-Driven Development Add a test. Run it. See it fail. Write code. Rinse, repeat Refactor. Run test. See it pass. Image Source: http://code.dortikum.net
  24. 24. Acceptance Test-Driven Development Involve the • Product Owner “Power of • Developer • Tester 3” Describe • Use plain words – “Tests Application that the user cannot log in with an invalid password” Behavior Copyright © 2013 Agile Velocity, LLC. All Rights Reserved. AGILE VELOCITY PROPRIETARY
  25. 25. Automation Framework Strategy       Design for maintainability Decide on execution frequency Decide max execution time Whole team owns Whole team gets value Make tests part of Continuous Integration Image Source: www.cwrmobility.com
  26. 26. What Not To Automate Everything •On legacy systems, start with a smoke test •Automate what gives the “most bang for your buck” •Execution frequency is key GUI •Especially if the GUI is in flux •Can tests be covered at a lower level? Low priority functionality •Non-mission critical •Not frequently used •Very little code churn
  27. 27. Baking quality in puts YOU in the driver’s seat!
  28. 28. Automated tests don’t find bugs, people do!
  29. 29. Thank You! I look forward to improving this based on your feedback.
  30. 30. Agile Velocity Austin, TX We provide Agile Training, Coaching, & Implementation Services in the following areas: Organization - Culture, Structure, Lean, Leadership, Enterprise Optimization Product - Value Focus, Customer Needs, Prioritization, Planning, Portfolio, Strategy Team - Scrum, Kanban, Quality, Speed to Market, Tool Selection & Implementation Technical Practices - Test Automation, Test Driven Development (TDD), Continuous Integration/ Delivery Implementation - SaaS, Cloud, Architecture, Development, QA, Product Management
  31. 31. BDD Resources     http://jbehave.org/ (Java) http://www.specflow.org/ (.NET) http://cukes.info/ (Ruby) The Cucumber Book: Behaviour-Driven Development for Testers and Developers by Matt Wynne and Aslak Hellesøy

×