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.

Automation strategies for agile testing Gaurav bansal

  • Login to see the comments

  • Be the first to like this

Automation strategies for agile testing Gaurav bansal

  1. 1. Automation Strategies for Agile Testing “Is your automation testing “Agile” or “Fragile”? Gaurav Bansal
  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:; @gaurav_bansal