automation testing - essentials

Anyone who will be actively involved in automated testing including Testers, Developers and Project Managers. Please note that this is not a tool specific nor is it a detailed scripting skills workshop. The tools used will vary and will not be specific.

  • Testing fundamentals , Basic programming language skill

Automation Testing Essentials Training course helps in providing considerable knowledge in the Concepts & Principles of Software Test Automation.

GUI Automation Testing is a leap forward in modern applications, and it can dramatically improve software quality while cutting testing costs and complexity even in the most rapidly changing environments. And with its integration with HP Application Lifecycle Management, it significantly enhances developer and tester productivity and collaboration.

COURSE AGENDA

  • Documentation
    • Importance of documentation
    • Discussion on List of different types of documents to be prepared for any project
  • Standard practices in Automation
  • Standard practices in coding
  • Generates test results in html/ desired format
  • Components of reports( Eg. test summary, detailed reporting, screenshots etc.)
  • Integration with test management tool/ external frameworks like TestNG or QC
  • Integration with Test Script Repositories and preferred IDEs
  • Auto-emailing test report after run
  • Setting up for starting test run during night/ convenient hours
  • Integration with nightly builds
  • Introduction to mavenization?
  • Basic HTML/XML for logging and reporting
  • Logs for test failures
  • Logs when test hangs
  • Logs when test crashes
  • Logs as per test
  • Logs for database results
  • Logs for suite
  • Tips and design guidelines
  • Designing directory structure
    • Test directory
    • Expected results
    • Actual results
    • Data directory
    • Log directory
    • Test suite structure
  • Requirements of database for maintaining regression results
  • Designing of regression database
  • Scripts Parameterization
  • Introduction to xPath
  • Identifying the test harness required for functional automation & integrating it with the framework
  • Defining modularized/ reusable functional flow of the application using the UI objects
  • Identify the core functions/ areas which will be completely generic irrespective of tool or technologies used.( e.g. Database utility functions, file handling functions, etc.)
  • Designing utility functions (Eg. Random no. generator, Getting time stamp, retrieving content from specific position on GUI)
  • Basic expectations from driver
    • Understanding the design requirements for driver
    • Different types of administrative work required (ex: setting up env as per test under consideration and tear down after test execution.)
    • Flexibility in test suite to enable/disable execution of selected set of tests
    • Other miscellaneous tasks
  • Understanding and implementing requirements for different types of suites (Eg. Regression, feature specific and smoke)
  • Add-ons which can be provided with driver (e.g. email feature, logging to database, etc.)
  • What is OR?
  • What is its importance during maintenance of scripts?
  • What if the tool does not have OR feature (like Selenium)?
  • Develop & evolve OR
  • How to identify UI objects
  • Custom objects creation and handling
  • Examples of some conventional and nonconventional UI objects and identification process used
  • Tool Category & support
    • Create tool evaluation checklist
    • Study of different UI tools available
  • Tool comparison/selection
    • Prepare tool selection matrix with details of pros and cons of each tool against the application under test
    • Study of different UI tools available
    • Create Support Matrix
  • Individual case study/analysis in favour of commercial and open source tool
  • Discussion on Case study/ POC of a specific project
  • Objectives of GUI test automation
  • Benefits of automation
  • Automation frameworks overview
  • Importance of frameworks – maintenance, scalability etc.
  • Types
    • Modular
    • Data Driven
    • Keyword Driven
    • Hybrid
  • Type of application
    • Stand Alone
    • Web
  • How to analyze the application from automation perspective
    • Prioritization of scenarios
    • Complexity of scenarios
    • Identifying complex objects
  • Other areas to consider during feasibility
  • Preparing a checklist
  • Feasibility Study Guidelines