Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Automation Strategies  for Agile Testing    “Is your automation testing        “Agile” or “Fragile”?                      ...
Agenda Why use automation in Agile Projects? Selecting Automation Strategy Record and Playback. Right Choice? Design p...
Why automation in agile projects? A
Selecting Automation Strategy Licenced Tools Light weight Record and Playback Automation Framework using Open Source  T...
Automation Framework                               (Using Open Source Tools) Typical Issues:    •   Hard Coded Values    ...
Possible Solutions.. Build Abstraction to avoid code duplication What If we moved the page-specific behavior  into a cor...
The Page Object                                                        The Page Object pattern                           ...
Build UI Repository Easily maintain your test components when an object in your application  changes. No need to modify ...
Make tests Data Driven Allows to develop automated test scripts that are  more generic, requiring only that the input and...
Reporting features for Automation Report should provide where errors  occurred and using which test data. Should be easi...
Continuous Integration Constant availability of a “current” build. Detect and fix integration problems continuously. Ea...
Best Practices Avoid Duplicate Code Dont swallow Exceptions Dont use brittle locators Avoid Pesticide Paradox : Parame...
Best Practices (Contd..)
Email: gbansal@xebia.com; @gaurav_bansal
Próxima SlideShare
Cargando en…5
×

Automation strategies for agile testing Gaurav bansal

  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Automation strategies for agile testing Gaurav bansal

  1. 1. Automation Strategies for Agile Testing “Is your automation testing “Agile” or “Fragile”? Gaurav Bansal www.agiletour.org
  2. 2. Agenda Why use automation in Agile Projects? Selecting Automation Strategy Record and Playback. Right Choice? Design patterns for test automation Best Practices
  3. 3. Why automation in agile projects? A
  4. 4. Selecting Automation Strategy Licenced Tools Light weight Record and Playback Automation Framework using Open Source Tools
  5. 5. Automation Framework (Using Open Source Tools) Typical Issues: • Hard Coded Values • Duplicate Code • No Data Driven Testing • No Exception Handling • God Object Pattern • Brittle Locators • Fragile Test Scripts • Liability rather than Asset
  6. 6. Possible Solutions.. Build Abstraction to avoid code duplication What If we moved the page-specific behavior into a corresponding class? Voila! The Page Object is born.
  7. 7. The Page Object  The Page Object pattern represents the screens of your web app as a series of objects.  The page object contains all the services offered by a particular page.  Consolidates the code for interacting with any given UI element.  Exposes methods that reflect the things a user can see and do on that page, e.g. • loginSuccessfully(), • searchKeyword(), Hides the details of telling the browser how to do addOrder(), getFilter(), those things. openDetails() • seeMore(), closeDetails(), showSearch()
  8. 8. Build UI Repository Easily maintain your test components when an object in your application changes. No need to modify the script when object properties changes. Easy to identify objects in AUT by Object Logical Names. Can be created independently from scripts.
  9. 9. Make tests Data Driven Allows to develop automated test scripts that are more generic, requiring only that the input and expected results be updated. Information like data inputs or outputs, expected results get stored in the form of conveniently managed text records.
  10. 10. Reporting features for Automation Report should provide where errors occurred and using which test data. Should be easily sharable. Details for each step execution. Snapshots for failed tests. Customizable reporting. Automated notifications on failure or reaching threshold level. Should have instrumentation for debugging purpose.
  11. 11. Continuous Integration Constant availability of a “current” build. Detect and fix integration problems continuously. Early warning of incompatible code. Immediate automated testing of all changes. Immediate feedback to developers Useful Metrics
  12. 12. Best Practices Avoid Duplicate Code Dont swallow Exceptions Dont use brittle locators Avoid Pesticide Paradox : Parameterize test data Create and leverage GUI Map Write reusable modules for common test functions. Make tests atomic Readable and maintainable code Automation Handover
  13. 13. Best Practices (Contd..)
  14. 14. Email: gbansal@xebia.com; @gaurav_bansal

×