2. Agenda
Agile core values
“Prevent bugs over find bugs” proactive approach to testing
“Agile Testing Pyramid” vs “Traditional Testing ice cream cone”
Agile Test Quadrants.
ATDD and TDD vs agile-waterfall
Here comes the test automation
Levels of automated testing
Thoughts on Test Automation in Agile
Agile fun – Star Wars way
3. Agile Core Set of Values
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
8. Here comes the test automation
Business case:
When developing iteratively,
test automation adds safety
net against regression.
Manual Testing is repetitious,
boring, error-prone and
likely to be incomplete.
Levels of Test Automation:
Unit Tests
Server (business) level Test
UI automated Tests
9. Why unit tests?
Unit tests precisely pinpoint where in the code bug has occurred
Unit tests are much faster to run than UI automation tests
Unit tests are written in the same language as the application
Unit tests provide instantaneous feedback on code quality
Unit tests catch the bugs early in the sprint thus reducing the overall test
effort
UI test failed means more unit tests needs to be written
UI tests are brittle and expensive in Agile compared to unit tests
When used with TDD unit test help work out good software design
10. Service (business) Level Testing
Service-level or business-level testing is about testing the services of an
application separately from its user interface.
Without service-level testing to fill the gap between unit and user interface
testing, all other testing ends up being performed through the user interface,
resulting in tests that are expensive to run, expensive to write, and brittle.
11. UI Level Test Automation
Should be as light-weight as possible
Use of POM based framework to reduce the maintenance
Initial Learning curve for testers may be steep.
Not all UI should be automated. Automation ROI should calculated.
UI automated testing should be complemented by Exploratory testing
12. Thoughts on Test Automation in Agile
Start Small - automated tests are best developed incrementally.
Balance the automation cost vs. ROI continuously
Automation tasks should be part of project backlog
Aim to target a few automation items from the backlog every sprint
Don’t Try to Automate Everything.
Balance between improving the framework and adding new automated tests
Get It Out Of Your Local Machine. It should be easily accessible by the entire team
Automated test at different levels should be run at different frequency.
Execution Time Matters - You should maintain quick feedback cycles.
Keep system level automated tests green.