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.

Automatic web ui testing

2,844 views

Published on

A presentation about the use of FitNesse, Xebium en Selenium to perform automatic web UI tests.

Published in: Technology

Automatic web ui testing

  1. 1. Automatic web UI testingUsing FitNesse, Selenium and Xebium #ISKAWEBTEST Alex van Assem Rogier van het Schip 3kvk7
  2. 2. Agenda Test automation Using Fitnesse + Xebium + Selenium Live demos included! Automatic web UI testing 2
  3. 3. Test automation Why use test automation? Automatic web UI testing 3
  4. 4. Test automation Release 1 Sprint 1 Sprint 2 Sprint 3 PBI 1 PBI 4 PBI 7 PBI 2 PBI 5 PBI 8 PBI 3 PBI 6 PBI 9 Automatic web UI testing 4
  5. 5. Using Fitnesse + Xebium + Selenium Goal – Maintainable tests • Re-usable • Hierarchical – Low cost tooling – Usable with limited technical knowledge – Web-UI Automatic web UI testing 5
  6. 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. 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. 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
  9. 9. Selenium IDE - Demo Automatic web UI testing 9
  10. 10. Three levels of End-to-End test automation Rule Workflow Technical Activity Automatic web UI testing 10
  11. 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
  12. 12. FitNesse - DescriptionTestscripts c2Wmo Automatic web UI testing 12
  13. 13. FitNesse - Description Define tests in tablesTable DescriptionDecision 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
  14. 14. Fitnesse - Demo Automatic web UI testing 14
  15. 15. Three levels of End-to-End test automation Rule Workflow Technical Activity Automatic web UI testing 15
  16. 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
  17. 17. Xebium - Demo Automatic web UI testing 17
  18. 18. FitNesse Structure Test •Test scripts Suites Automatic web UI testing 18
  19. 19. Three levels of End-to-End test automation Rule Workflow Technical Xebium Activity Automatic web UI testing 19
  20. 20. Improvements Re-usability - DRY (Don’t repeat yourself) Maintainability Readability Automatic web UI testing 20
  21. 21. Page Objects - Definition1. (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. 22. Page Objects - Example Menu Page Objects Catalog Page Objects Assertion Action Automatic web UI testing 22
  23. 23. Page Objects - Example Checkout Page Objects Assertion Action Automatic web UI testing 23
  24. 24. Page Objects - Example Go to Add Product Set quantity Fill personal Page Product to Cart of Product information object VerifyProduct is visible Checkout Order VerifyProduct isnot visibleCatalog Product Cart Checkout Automatic web UI testing 24
  25. 25. Page Objects - Demo Automatic web UI testing 25
  26. 26. FitNesse Structure Test •Test scripts Suites Page •Action steps Objects •Assertion steps Automatic web UI testing 26
  27. 27. Three levels of End-to-End test automation Rule Workflow Page Objects Technical Xebium Activity Automatic web UI testing 27
  28. 28. Flow objects - Definition Flows over Page Object boundaries Automatic web UI testing 28
  29. 29. Flow objects - Example Go to Add Product Set quantity Fill personal Page Product to Cart of Product information object Verify Flow ObjectProduct is visible Checkout Order VerifyProduct isnot visibleCatalog Product Cart Checkout Automatic web UI testing 29
  30. 30. Flow Objects - Demo Automatic web UI testing 30
  31. 31. FitNesse Structure Test Suites • Test Scripts • Action stepsPage Objects • Assertion stepsFlow Objects • Flows Automatic web UI testing 31
  32. 32. Three levels of End-to-End test automation Rule Workflow Page Objects Flow Objects Technical Xebium Activity Automatic web UI testing 32
  33. 33. Improvements Readable for Business Automatic web UI testing 33
  34. 34. GivenWhenThen Demo Automatic web UI testing 34
  35. 35. FitNesse Structure Test Suites • Test Scripts • Action stepsPage Objects • Assertion stepsFlow Objects • Flows Automatic web UI testing 35
  36. 36. Three levels of End-to-End test automation Rule Workflow Page Objects Flow Objects Technical Xebium Activity Automatic web UI testing 36
  37. 37. Improvements Multibrowser – Internet Explorer – Firefox – Chrome Automatic web UI testing 37
  38. 38. Multi browser - Demo Automatic web UI testing 38
  39. 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. 40. Three levels of End-to-End test automation Rule Workflow Page Objects Flow Objects Technical Xebium Activity Automatic web UI testing 40
  41. 41. SummaryFitNesse + Xebium + Selenium is a goodcombination for test automationUse Page and Flow objectsMake tests readable for business Automatic web UI testing 41
  42. 42. Questions? 3kvk7 Automatic web UI testing 42

×