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 –
PRINCIPLES & PRACTICES
Anand Bagmar
Test Practice Lead
@BagmarAnand
about.me/anand.bagmar
essenceoftesting.blogspot.com
ABOUT ME
What is Testing?
4
5
What does this
mean?
LEARNING
¨ Test each part thoroughly
¨ Unit
¨ Test ways of working together
¨ Component Integration
¨ Test how it all come...
But …. what about the
things you do not see?
LEARNING CONTINUES …
¨ Test the Non Functionals
¨ NFRs
¨ Test the 3rd-party integration / interactions
¨ Integration
9
How does this
apply to Software?
11
Flight
Search
Search
Results
Flight
Details
Passenger
Info
Payment Confirmation
Application Server
DB
LEARNING CONTINUES …
¨ Test each part thoroughly
¨ Test ways of working together
¨ Test how it all comes together
¨ Test t...
Practices
Test Automation
A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
Test Automation
A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
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...
TEST PYRAMID
Unit (xUnit / JavaScript)
Manual / Exploratory
Component
Integration
View
Web Service
UI
Cost
Impact
Time
Bus...
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...
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
Is that enough?
Continuous
Integration (CI)
CONTINUOUS INTEGRATION (CI)
”… is a software development practice where members of a team
integrate their work frequently,...
CI PROCESS
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...
Understand	the	system(s)	/	product(s)	you	need	to	
test!!	
HOW DO YOU DECIDE WHICH PRACTICE TO USE?
Sample Test Automation
Framework Architecture
FRAMEWORK ABSTRACTION LAYERS
Summary - Test
Automation Framework
“Best” Practices
Assertions & Validations
In Business Layer
Model
Test Data
Proper abstraction layers
Pages as
Dummy objects
Evolve
Program...
REFERENCES
Page Objects – Google
https://code.google.com/p/selenium/wiki/PageObjects
Page Objects – Martin Fowler
http://m...
Evolve as you Learn
@BagmarAnand
about.me/anand.bagmar
essenceoftesting.blogspot.com
THANK YOU
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Customized Test Automation Solution
Next
Upcoming SlideShare
Customized Test Automation Solution
Next
Download to read offline and view in fullscreen.

Share

Test Automation - Principles and Practices

Download to read offline

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

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Test Automation - Principles and Practices

  1. 1. TEST AUTOMATION – PRINCIPLES & PRACTICES Anand Bagmar Test Practice Lead
  2. 2. @BagmarAnand about.me/anand.bagmar essenceoftesting.blogspot.com ABOUT ME
  3. 3. What is Testing?
  4. 4. 4
  5. 5. 5
  6. 6. What does this mean?
  7. 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
  8. 8. But …. what about the things you do not see?
  9. 9. LEARNING CONTINUES … ¨ Test the Non Functionals ¨ NFRs ¨ Test the 3rd-party integration / interactions ¨ Integration 9
  10. 10. How does this apply to Software?
  11. 11. 11
  12. 12. Flight Search Search Results Flight Details Passenger Info Payment Confirmation Application Server DB
  13. 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
  14. 14. Practices
  15. 15. Test Automation A PRACTICE THAT MAKES TEAMS SUCCESSFUL?
  16. 16. Test Automation A PRACTICE THAT MAKES TEAMS UNSUCCESSFUL?
  17. 17. Why do we do Test Automation?
  18. 18. QUICK FEEDBACK
  19. 19. How to get quick feedback from Test Automation?
  20. 20. •  “Succeeding with Agile” – Mike Cohn •  Martin Fowler – Test Pyramid martinfowler.com/bliki/TestPyramid.html THE TEST PYRAMID
  21. 21. TEST PYRAMID Unit (xUnit / JavaScript) Manual / Exploratory Component Integration View Web Service UI Cost Impact Time Business- facing Tests Technology- facing Tests
  22. 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
  23. 23. REALITY
  24. 24. ICE-CREAM CONE ANTI PATTERN Manual / Exploratory UI Web Service View JavaScript Integration Unit
  25. 25. Web Service View JavaScript Integration Unit Developers Test Pyramid QA Team Test Pyramid DUAL TEST PYRAMID ANTI-PATTERN Manual / Exploratory UI Web Service
  26. 26. CUP-CAKE ANTI-PATTERN
  27. 27. Is that enough?
  28. 28. Continuous Integration (CI)
  29. 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
  30. 30. CI PROCESS
  31. 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. 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
  33. 33. Understand the system(s) / product(s) you need to test!! HOW DO YOU DECIDE WHICH PRACTICE TO USE?
  34. 34. Sample Test Automation Framework Architecture
  35. 35. FRAMEWORK ABSTRACTION LAYERS
  36. 36. Summary - Test Automation Framework “Best” Practices
  37. 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. 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
  39. 39. Evolve as you Learn
  40. 40. @BagmarAnand about.me/anand.bagmar essenceoftesting.blogspot.com THANK YOU
  • ShawnNutley1

    Oct. 6, 2021
  • formesaid

    Aug. 20, 2020
  • powerirs

    Mar. 5, 2020
  • aarym

    Feb. 29, 2020
  • PteSanDirahEvansHard

    Feb. 23, 2020
  • VidyaKumari17

    Oct. 22, 2019
  • JosebaCanteroPolo

    Sep. 27, 2019
  • MiraRemon

    Jun. 12, 2019
  • GaurviSrivastava

    Apr. 22, 2019
  • DaliaSayed6

    Dec. 27, 2018
  • NbaysItsolusenzMadur

    Nov. 2, 2018
  • KarenPruitt4

    Sep. 2, 2018
  • Vitthalwavtalikar

    Jul. 24, 2018
  • KrzysiekKondracki

    Jul. 18, 2018
  • manalhassanweb

    May. 30, 2018
  • Eddie_OBrien

    Apr. 4, 2018
  • JayavardhanAluri

    Dec. 29, 2017
  • noursaidrouis1

    Sep. 26, 2017
  • FranciaFranco3

    Sep. 12, 2017
  • SachinNangre1

    Sep. 9, 2017

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

Views

Total views

81,377

On Slideshare

0

From embeds

0

Number of embeds

2,322

Actions

Downloads

591

Shares

0

Comments

0

Likes

67

×