Slides from my webinar for Sri Lanka Testing Community on - "Test Automation - Principles & Practices".
Details about the webinar can be found from my blog - http://essenceoftesting.blogspot.com
Anand BagmarFounder, Software Quality Evangelist à Essence Of Testing
7. LEARNING
¨ Test each part thoroughly
¨ Unit
¨ Test ways of working together
¨ Component Integration
¨ Test how it all comes together
¨ Functional
This is how the parts becomes a Pen!
7
13. LEARNING CONTINUES …
¨ Test each part thoroughly
¨ Test ways of working together
¨ Test how it all comes together
¨ Test the Non Functionals
¨ Test the 3rd-party integration / interactions
¨ Understand Architecture – system & components
¨ Build Quality-in by Testing early
13
19. How to get quick
feedback from
Test Automation?
20. • “Succeeding with Agile” – Mike Cohn
• Martin Fowler – Test Pyramid
martinfowler.com/bliki/TestPyramid.html
THE TEST PYRAMID
21. TEST PYRAMID
Unit (xUnit / JavaScript)
Manual / Exploratory
Component
Integration
View
Web Service
UI
Cost
Impact
Time
Business-
facing
Tests
Technology-
facing
Tests
22. TEST PYRAMID … INCLUDES NFRS
Unit (xUnit / JavaScript)
Component
Integration
View
Web Service
UI
P
e
r
f
o
r
m
a
n
c
e
S
e
c
u
r
i
t
y
Accessibility
Manual / Exploratory
29. 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
31. 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
32. 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
37. Assertions & Validations
In Business Layer
Model
Test Data
Proper abstraction layers
Pages as
Dummy objects
Evolve
Programming
practices
OOPs
Design Patterns
Identify intent in
business terminology
Build Tools & Utilities
38. REFERENCES
Page Objects – Google
https://code.google.com/p/selenium/wiki/PageObjects
Page Objects – Martin Fowler
http://martinfowler.com/bliki/PageObject.html
Perils of Page-Object Pattern – Anand Bagmar
http://essenceoftesting.blogspot.in/2014/09/perils-of-page-object-pattern.html
Test Design Consideration
http://docs.seleniumhq.org/docs/06_test_design_considerations.jsp