6. Testing Automation Pyramid
End-To-
End-To-End End
Integration Integration
Unit Unit
Flipping the Automated Testing Triangle: the Upshot
http://patrickwilsonwelsh.com/?p=32
Automatic web UI testing 6
7. Three levels of End-to-End test automation
Rule
Stability
Clarity
Workflow
Technical
Activity
Three levels of UI test automation
http://gojko.net/2010/04/13/how-to-implement-ui-testing-without-
shooting-yourself-in-the-foot-2/
Automatic web UI testing 7
8. Selenium - Description
The standard for Web UI testing
Selenium IDE (Firefox)
– No hierarchy
Selenium Remote Control / Webdriver (C#, Java, etc)
– Needs technical knowledge in C#
Automatic web UI testing 8
10. Three levels of End-to-End test automation
Rule
Workflow
Technical
Activity
Automatic web UI testing 10
11. FitNesse - Description
FitNesse is a high-level acceptance testing framework
– Define and run acceptance tests
FitNesse is a wiki
– Easy to use
FitNesse is a web server
– It requires no configuration or setup
FitNesse is plugable
– Fixtures
Automatic web UI testing 11
13. FitNesse - Description
Define tests in tables
Table Description
Decision Table Supplies the inputs and outputs for decisions.
Query Table Supplies the expected results of a query.
Script Table A series of actions and checks.
Scenario Table A table that can be called from other tables.
And more tables, see Fitnesse.org
Automatic web UI testing 13
15. Three levels of End-to-End test automation
Rule
Workflow
Technical
Activity
Automatic web UI testing 15
16. Xebium - Description
Fixture for FitNesse
– Using FitNesse SLIM engine
– Compatible with selenium 2.0 (Webdriver)
Add-on Selenium IDE
– Record and replay
– Export format
Automatic web UI testing 16
21. Page Objects - Definition
1. (A group of) methods on a page that
1. Do something (Actions)
2. Verify something (Assertions)
2. Hide technical details on how
Automatic web UI testing 21
22. Page Objects - Example
Menu Page
Objects
Catalog
Page
Objects
Assertion
Action
Automatic web UI testing 22
23. Page Objects - Example
Checkout
Page Objects
Assertion
Action
Automatic web UI testing 23
24. Page Objects - Example
Go to Add Product Set quantity Fill personal Page
Product to Cart of Product information object
Verify
Product is
visible Checkout Order
Verify
Product is
not visible
Catalog Product Cart Checkout
Automatic web UI testing 24
26. FitNesse Structure
Test •Test scripts
Suites
Page •Action steps
Objects •Assertion steps
Automatic web UI testing 26
27. Three levels of End-to-End test automation
Rule
Workflow Page Objects
Technical Xebium
Activity
Automatic web UI testing 27
28. Flow objects - Definition
Flows over Page Object boundaries
Automatic web UI testing 28
29. Flow objects - Example
Go to Add Product Set quantity Fill personal Page
Product to Cart of Product information object
Verify Flow Object
Product is
visible Checkout Order
Verify
Product is
not visible
Catalog Product Cart Checkout
Automatic web UI testing 29
39. FitNesse Structure
Test Suites • Test Scripts
• Action steps
Page Objects • Assertion steps
Flow Objects • Flows
Browser • Internet Explorer
Configuraties • Firefox
Automatic web UI testing 39
40. Three levels of End-to-End test automation
Rule
Workflow Page Objects
Flow Objects
Technical Xebium
Activity
Automatic web UI testing 40
41. Summary
FitNesse + Xebium + Selenium is a good
combination for test automation
Use Page and Flow objects
Make tests readable for business
Automatic web UI testing 41