Upload
perfecto-mobile
View
2.332
Download
0
Embed Size (px)
DESCRIPTION
Test automation in agile environment, levture given in Matrix Israel conference
Citation preview
Testing Automation in Agile
environment
The old and “good” (?) water fall
“The "traditional" model of software development
lifecycle.”
1 Analysis 2 Design 3 Coding 4 Testing
The old and “good” (?) water fall
Testing automation life cycle in water fall
• Only regression testing covered by TA
• Testing automation follow the manual testing versions
(always regression testing of the previous version
executed)
• TA design always by the manual testing group
• Execution Priority by the manual testing manager
• Very easy to control and manage
Testing in Agile environment
Agile concept
Emphasize collaborative, integrated teams, frequent
deliveries, and the ability to adapt to changing business
needs
The Tester role in Agile environment
• Focuses on testing iteratively against newly developed
code until quality
• Testers have to adapt to rapid deployment cycles and
changes in testing patterns.
• Agile testing involves testing from the customer
perspective as early as possible
Testing Automation in Agile
environment
Since working increments of the software are released
often in agile software development, there is also a need
to test often. This is commonly done by using automated
tests to minimize the amount of manual labor involved.
Undertaking only manual testing in agile development
may result in either buggy software or slipping
schedules, as it may not be possible to test the entire
build manually before each release.
Testing Automation as
part of the scrum team
• Testing automation activities is part of the backlog
document
• Automation developer take part in all scrum stages
• Automation status is part of the morning meetings
• Testing automation is a MUST as part of the scrum
testing scope
• Automation developer works closely with all team
members (Manual tester, Developer, PMO, etc…)
Testing Automation execution
Scrum work flow
• Testing automation execution occur after the first
code delivery
• Usually will try to use existing code
• API execution is an advantage
• Result analyze by the whole scrum team
Some Agile testing principles
justify Testing Automation
• Testing moves the project forward
• Testing is not a phase – it’s a way of life (ongoing
execution)
• Every body test – Manual testers execute automation
• Keep the code clean – rerun testing execution
• Test Driven advantage – very easy to
develop in automated testing
Testing Automation Agile V.S Water fall
Water Fall Agile
N/A TA with the team Testing Design
N/A Start develop where the
application is stable
Coding
N/A Take part in the backlog
written part
New features
TA developer execute
regression testing
All the team execute
things ready
Execution
Send to the team Send to the team Reporting
Given by the manual
group manager
Decide with the team Working scope
Thank you All!
Any Questions?