Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
TEST AUTOMATION IN
AGILE PROJECTS
“WHAT? WHY? HOW?”
Anand Bagmar
Test Practice Lead
@BagmarAnand
about.me/anand.bagmar
ABOUT ME
What Is Agile?
Source: http://dilbert.com/strip/2007-11-26
Reference: http://martinfowler.com/articles/agileFluency.html
Agile Manifesto
Source: http://agilemanifesto.org/
AGILE MANIFESTO
Individuals
and
Interactions
Processes
&Tools
over
Source: http://agilemanifesto.org/
AGILE MANIFESTO
Working
Software
Comprehensive
Documentation
over
Source: http://agilemanifesto.org/
AGILE MANIFESTO
Customer
Collaboration
Contract
Negotiation
over
Source: http://agilemanifesto.org/
AGILE MANIFESTO
Responding
To
Change
Following
A Plan
over
Agile Testing
Manifesto
AGILE TESTING MANIFESTO
Collaborative
Ownership
Detached
Objectivity
over
AGILE TESTING MANIFESTO
Targeted
Automation
Widespread
Anti-regression
over
AGILE TESTING MANIFESTO
Defect
Prevention
Defect
Detection
over
AGILE TESTING MANIFESTO
Exploratory
Testing
Predetermined
Scripting
over
Principles & Practices
of
Agile Testing
OUR PRIMARY OBJECTIVE
Faster Delivery Of Quality Software From
Idea To Consumer
Building Quality In
Involving Everyone
Fast Feedback
Tests Are An Asset
Faster Delivery Into Production
Clear View Of Test...
Continuous
Integration (CI)
CONTINUOUS INTEGRATION (CI)
”… is a software development practice where members of a team
integrate their work frequently,...
CI PROCESS
Continuous
Delivery (CD)
CONTINUOUS DELIVERY (CD)
… is the natural extension of Continuous Integration: an approach in
which teams ensure that ever...
CONTINUOUS DELIVERY
Practices, Tips & Tricks
QA
Test Automation
A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
Test Automation
A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
What is
Test Automation?
Automation
-
A Safety Net
Why do we do
Test Automation?
QUICK FEEDBACK
How to get quick
feedback from
Test Automation?
•  “Succeeding with Agile” – Mike Cohn
•  Martin Fowler – Test Pyramid
martinfowler.com/bliki/TestPyramid.html
THE TEST PY...
IDEAL TEST AUTOMATION PYRAMID
Unit
Manual / Exploratory
Integration
JavaScript
View
Web Service
UI
Cost
Impact
Time
Busine...
REALITY
ICE-CREAM CONE ANTI PATTERN
Manual / Exploratory
UI
Web Service
View
JavaScript
Integration
Unit
Web Service
View
JavaScript
Integration
Unit
Developers Test Pyramid QA Team Test Pyramid
DUAL TEST PYRAMID ANTI-PATTERN
M...
CUP-CAKE ANTI-PATTERN
TYPES OF TEST AUTOMATION FRAMEWORKS
Modular
Data-driven
Keyword-driven
Model-based
Hybrid
? ? ?
Understand	
  the	
  system(s)	
  /	
  product(s)	
  you	
  need	
  to	
  
test!!	
  
REMEMBER …
TEST AUTOMATION FRAMEWORK DESIGN CRITERIA
Maintainable
Scalable
Browser / Device support
Support features of
Product-under...
PRINCIPLES FOR TEST AUTOMATION FRAMEWORK
Design Patterns
Abstraction Layers
Headless executing
Evolve
Code Quality
Take Sc...
FRAMEWORK ABSTRACTION LAYERS
Patterns for building
a Test Automation
Framework
Page Object Pattern
Business-Layer Page
Object Pattern
Business Layer Page
Object Pattern
FRAMEWORK ABSTRACTION LAYERS
Evolve as you Learn
Source: http://dilbert.com/strip/2005-11-16
abagmar@gmail.com
Anand.Bagmar@thoughtworks.com
@BagmarAnand
about.me/anand.bagmar
THANK YOU
Upcoming SlideShare
Loading in …5
×

Test automation - What? Why? How?

2,355 views

Published on

Agile Methodology is not new. Many organisations / teams have already adopted Agile way of Software Development or are in the enablement journey for the same. What does this mean for Testing? There is no doubt that the Testing approach and mindset also needs to change to be in tune with the Agile Development methodology.

Learn what does it mean to Test on Agile Projects and how Test Automation approach needs to change for the team to be successful! Also learn why is Test Automation important, and how do we implement a good, robust, scalable and maintainable Test Automation framework!

Published in: Software

Test automation - What? Why? How?

  1. 1. TEST AUTOMATION IN AGILE PROJECTS “WHAT? WHY? HOW?” Anand Bagmar Test Practice Lead
  2. 2. @BagmarAnand about.me/anand.bagmar ABOUT ME
  3. 3. What Is Agile?
  4. 4. Source: http://dilbert.com/strip/2007-11-26 Reference: http://martinfowler.com/articles/agileFluency.html
  5. 5. Agile Manifesto
  6. 6. Source: http://agilemanifesto.org/ AGILE MANIFESTO Individuals and Interactions Processes &Tools over
  7. 7. Source: http://agilemanifesto.org/ AGILE MANIFESTO Working Software Comprehensive Documentation over
  8. 8. Source: http://agilemanifesto.org/ AGILE MANIFESTO Customer Collaboration Contract Negotiation over
  9. 9. Source: http://agilemanifesto.org/ AGILE MANIFESTO Responding To Change Following A Plan over
  10. 10. Agile Testing Manifesto
  11. 11. AGILE TESTING MANIFESTO Collaborative Ownership Detached Objectivity over
  12. 12. AGILE TESTING MANIFESTO Targeted Automation Widespread Anti-regression over
  13. 13. AGILE TESTING MANIFESTO Defect Prevention Defect Detection over
  14. 14. AGILE TESTING MANIFESTO Exploratory Testing Predetermined Scripting over
  15. 15. Principles & Practices of Agile Testing
  16. 16. OUR PRIMARY OBJECTIVE Faster Delivery Of Quality Software From Idea To Consumer
  17. 17. Building Quality In Involving Everyone Fast Feedback Tests Are An Asset Faster Delivery Into Production Clear View Of Testing Business Optimize Value TESTING PRINCIPLES
  18. 18. Continuous Integration (CI)
  19. 19. CONTINUOUS INTEGRATION (CI) ”… 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, ThoughtWorks Chief Scientist Ø  http://www.thoughtworks.com/continuous-integration
  20. 20. CI PROCESS
  21. 21. Continuous Delivery (CD)
  22. 22. CONTINUOUS DELIVERY (CD) … is the natural extension of Continuous Integration: an approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button. Continuous Delivery aims to make releases boring, so we can deliver frequently and get fast feedback on what users care about. -  Martin Fowler, ThoughtWorks Chief Scientist Ø  http://www.thoughtworks.com/continuous-delivery
  23. 23. CONTINUOUS DELIVERY
  24. 24. Practices, Tips & Tricks QA
  25. 25. Test Automation A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
  26. 26. Test Automation A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
  27. 27. What is Test Automation?
  28. 28. Automation - A Safety Net
  29. 29. Why do we do Test Automation?
  30. 30. QUICK FEEDBACK
  31. 31. How to get quick feedback from Test Automation?
  32. 32. •  “Succeeding with Agile” – Mike Cohn •  Martin Fowler – Test Pyramid martinfowler.com/bliki/TestPyramid.html THE TEST PYRAMID
  33. 33. IDEAL TEST AUTOMATION PYRAMID Unit Manual / Exploratory Integration JavaScript View Web Service UI Cost Impact Time Business- facing Tests Technology- facing Tests
  34. 34. REALITY
  35. 35. ICE-CREAM CONE ANTI PATTERN Manual / Exploratory UI Web Service View JavaScript Integration Unit
  36. 36. Web Service View JavaScript Integration Unit Developers Test Pyramid QA Team Test Pyramid DUAL TEST PYRAMID ANTI-PATTERN Manual / Exploratory UI Web Service
  37. 37. CUP-CAKE ANTI-PATTERN
  38. 38. TYPES OF TEST AUTOMATION FRAMEWORKS Modular Data-driven Keyword-driven Model-based Hybrid ? ? ?
  39. 39. Understand  the  system(s)  /  product(s)  you  need  to   test!!   REMEMBER …
  40. 40. TEST AUTOMATION FRAMEWORK DESIGN CRITERIA Maintainable Scalable Browser / Device support Support features of Product-under-test Easy to Use Different Environments Parallel Execution Tool support Reports & Metrics Support the types of testing required Operating System & Database support Run locally & remotely Language / tool restrictions
  41. 41. PRINCIPLES FOR TEST AUTOMATION FRAMEWORK Design Patterns Abstraction Layers Headless executing Evolve Code Quality Take Screenshots Refactor Tools & Utilities Extensible Run via CI Logging Video Recording Test Data
  42. 42. FRAMEWORK ABSTRACTION LAYERS
  43. 43. Patterns for building a Test Automation Framework
  44. 44. Page Object Pattern Business-Layer Page Object Pattern
  45. 45. Business Layer Page Object Pattern
  46. 46. FRAMEWORK ABSTRACTION LAYERS
  47. 47. Evolve as you Learn
  48. 48. Source: http://dilbert.com/strip/2005-11-16
  49. 49. abagmar@gmail.com Anand.Bagmar@thoughtworks.com @BagmarAnand about.me/anand.bagmar THANK YOU

×