Agile Testing
Zbyszek Moćkun
Agenda• QA and Testing• Agile Testing
– Process, Tester Principles– Agile against Waterfall (differences)
• Continuous Integration– Builds, Test Automation– Managing issues found by Automated Tests, Test Case Management– Is it worth?
• Pseudo Agile projects– Mini waterfall, No automation– Agile only during development phase
• From Waterfall to Agile– Tester-Developer cooperation– Tester concerns about Agile
QA and Testing
What is a difference between QA and Testing?
• QA is oriented to defect ‘preventions’• Testing is oriented to defect ‘detection’
QA and Testing
QA measure quality of process
Testinggives metrics
Agile Tester Principle
• Provide continuous feedback• Deliver value to the customer• Enable face-to-face communication• Have courage• Keep it simple• Practise continuous improvement• Respond to change• Self-organize• Focus on people• Enjoy
Lisa Crispin, Janet Gregory – Agile Testing
Agile Testing - Process
Analysis & Design
Development
TestingEvaluation
Planning
Requirement
Initial Planning Release/New functionality
Agile against Waterfall
Agile Waterfall
Coding, new functionality
Bug fixing
Testing
Iteration
Requirements
Design
Coding
Testing
ReleaseRelease
Agile Testing - Iterations
After each iteration we have finished stories and release is possible
It 0
It 1
•A,B
It 2
•A,B•C
It 3
•A,B•C•D,E
It 4
•A,B•C•D,E•F
Waterfall – all new features (A,B,C,D,E,F) available at the same time, at the end of the project
Continuous Integration
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
Martin Fowler
Builds
• Continuous Integration• How to integrate builds with Automation Tests• When rebuild and run tests
Test Automation
• Tools (Selenium, Canoo Web Test, …)• Technology (Html vs. Java,C,..)• Who is reposnible for automation?• Integration with Continuous Integration
applications• When start work on automation?• Reporting
Manage Automation
• When run Automation tests• Updating existing test scripts• Automation test scripts for different releases,
clients• Creating new tests• What automate, what not?• Manage automation tests – Test Case
Management Tools
Managing bugs
• How fast should we fix issues found by ATC?• Should we raise official issues?• Propagation issues for regression/UAT tests
Manual Tests
• How to manage manual and automation tests• Still we need manual testing?• When run manual tests• When testing stories• When testing bugs• Managing issues
Test Case Management
• How do not mixed up with tests• Why should we manage test cases• How do not duplicate tests• How report manual and automation tests• Integration with automation tool and defect
managment tools• Test Case Managment tools
Agile vs. Waterfall
• Agile moves automation near development, which gives us less cost of fixing bugs
• Waterfall problem - often builds don’t pass smoke tests. Thanks moving automation, it almost not happen at all.
• QA in waterfall keep automaiton only for them• Less manual testing in Agile
Is it worth?
Agile• Better for small projects• Moves automation near
development (better use)• Better when good contact
with customer• Require experience and
trainings• New expirience
Waterfall• Big projects where
requirement not change often
• Easier in managment• Easier when team is located
in different localizations
Pseudo Agile Projects
Three examples of projects where Agile was introduce, but ... – from Tester perspective
Miniwaterfall
Requirement
Coding Coding & Fixing
Testing
Requirement
Coding Coding & Fixing
Testing
Iteration 2Iteration 1
Miniwaterfall
• Lack of automation tests• Lack of Continuous Integration • Complicated build system• Lack of Resource
No automation
• It usually provides to miniwaterfall, which we describe previously.
• No releases after iteration, regression tests necessary
• Long time period between releases
Agile only during development phase
• Only developers work in Agile• Just coding divided on iteratons• No tests during development• Automation (if exist) still stays on Test Team
side• Waterfall project• Problems with builds from development
From Waterfall to Agile
Few Tester
Thoughts
Tester – Developer cooperation
Agile• One project team• Close communication with
developers (cooperate)• The same aim• Together analyze
requirements, planning• Parreral work with
developers
Waterall• Different team• Mostly communication only
by defect management tools
• Different aims• Not involve in requirement
analyzing, planning• Time delay between coding
and tests
Tester concerns about Agile
• Tester manage by developer (project manager)
• Lost of identity• No defined task (self-organize)• No Agile training• No carrier path• Communication problem
Tester concerns about Agile
• Place in project• Development skills only• There is no Agile without automation• There is no QA (Test) department on Agile
project• No exchange information between testers in
different projects• How I can develop my career
Q&A
Top Related