Test automation - What? Why? How?
-
Upload
anand-bagmar -
Category
Software
-
view
344 -
download
1
Transcript of Test automation - What? Why? How?
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 Testing
Business Optimize Value
TESTING PRINCIPLES
Continuous Integration (CI)
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
CI PROCESS
Continuous Delivery (CD)
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
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 PYRAMID
IDEAL TEST AUTOMATION PYRAMID
Unit
Manual / Exploratory
Integration
JavaScript
View
Web Service
UI
Cost
Impact
Time
Business- facing Tests
Technology- facing Tests
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
Manual / Exploratory
UI
Web Service
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-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
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
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