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.
What's New in Teams Calling, Meetings and Devices March 2024
Baking In Quality: The Evolving Role of the Agile Tester
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. 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.
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
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
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. 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
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
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. Push Testing Down
• Strategize as a team on the
testing of each story/feature
Image: http://www.adp-ascensores.com/ascensores-alicante-promocion/
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. 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. 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/
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. 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