Test Automation Framework OnlineTraining by QuontraSolutions - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Test Automation Framework OnlineTraining by QuontraSolutions

Description:

Quontra Solutions certified instructors with more then 12 years of industry experience deploy a proven method of Selenium implementation and training the staff for the corporate by providing an overview, demonstrating each major system capability, and giving participants step-by-step lessons. our training courses in Selenium / QTP / Quality Center, automation technologies in USA,UK. Selenium Training for Automation testing courses will be offered by both our On-Site and Remote experts. Call us for the Next batches starting dates, Learn Selenium with highly qualified and expert professional Selenium consultants in United states , serving people in the the QA industry in United States.. Selenium Training Courses offered: Contact us for the course details. Quontra Solutions Email: info@quontrasolutions.co.uk Call Now : US: +1 404-900-9988. UK: (20)3734 1498. – PowerPoint PPT presentation

Number of Views:277

less

Transcript and Presenter's Notes

Title: Test Automation Framework OnlineTraining by QuontraSolutions


1
Test Automation Framework
Overview and Strategy
2
Contents
  • Software Framework
  • The Easy Way
  • The Better Way
  • Introduction
  • PageObject Pattern
  • Automation Framework Approaches
  • Data/Table Driven Framework
  • Keyword Driven Framework
  • Hybrid Framework
  • Generic Architecture
  • Guidelines and Lessons Learnt
  • Test Organization
  • Test Writing Style
  • Browser Updates

2
3
Software Framework What is a software framework?
3
4
Software FrameworkThe definition and key
components
  • A software framework is a universal, reusable
    software platform used to develop applications,
    products and solutions.
  • Software Frameworks include,
  • Support Programs
  • Compilers
  • Code Libraries
  • APIs
  • A tool set to integrate different components

4
5
Software FrameworkFramework properties
  • A Software framework contain key distinguishing
    features that separate them from normal
    libraries.
  • They are,
  • Inversion of Control (IOC) the overall program's
    flow of control is not dictated by the caller,
    but by the framework.
  • Default behaviour must actually be some useful
    behavior and not a series of instructions.
  • Extensibility can be extended by the user usually
    by selective overriding or specialized by user
    code providing specific functionality.
  • Non modifiable framework code is not allowed to
    be modified.

5
6
The Easy WayWhat is the easy way to automate?
6
7
The easy way - Records all user activities and
play back
  • Typically a software testing suite will allow the
    tester to use the SUT as a user would, through
    the browser.
  • In the background the testing suite records all
    of the clicks and key presses and discards any
    context.
  • Later, the recorded events are played back and
    various assertions are made to ensure the output
    matches that which is expected.

7
8
The easy way Pros and Cons
  • Pros
  • Easy and does not required highly skilled
    software developers
  • Large portions of the application can be covered
    quickly
  • Cons
  • Small changes to the SUT cause massive disruption
    in the tests
  • Entire suites of tests can be rendered useless
    resulting in reduce testing coverage for extended
    periods of time
  • Test maintenance becomes hard
  • Tests begin to stagnate
  • Team confidence, in the tests, is reduced.

8
9
The Better WayWhat could be a better way of
automating?
9
10
The better wayIntroduction
  • Treat automated testing as software development.
  • Tests should be created with the same concern for
    software design principles such as,
  • Reduced coupling
  • High cohesion
  • Proper separation of concerns
  • Maintainability
  • Reusability

10
11
The better wayPageObject class

11
12
The better wayDos and Donts
  • In PageObjects,
  • The public methods represent the services
    that the page offers
  • Try not to expose the internals of the page
  • Generally don't make assertions
  • Methods return other PageObjects
  • Need not represent an entire page
  • Different results for the same action are
    modeled as different methods

12
13
The better wayPros and Cons
  • Pros
  • Selenium WebDriver supports
  • Increased maintainability
  • Increase test stability
  • Readable tests
  • Tests are easy to author
  • Cons
  • Larger up-front cost for creating PageObjects
  • More skill is required to create PageObjects

13
14
Automation Framework ApproachesWhat are the
available automation frameworks?
14
15
Automation FrameworkApproachesData/Table Driven
Framework
  • Data driven is the design of possible inputs what
    may given by the end user. This would cover
    maximum probabilities of an input data. It can be
    a spread sheet or a DB. We have to connect and
    pass the values to the respective field or
    element.
  • Take advantage of testers familiarity with
    test case creation using tables and matrices
  • Accommodate localization projects
  • Recognize the importance of patterns in test
    cases
  • Enable testers to catalog test cases with
    Excel spreadsheets
  • Enable testers to specify expected results in
    spreadsheets

15
16
Automation Framework ApproachesData/Table Driven
Framework
16
17
Automation FrameworkApproachesKeyword Driven
Framework
  • Keyword driven framework is an action based test
    method used in planning and implementation of
    automation.

17
18
Automation FrameworkApproachesHybrid Framework
  • A mix of Data driven and Keyword driven
    frameworks.

18
19
Automation FrameworkApproachesGeneric
Architecture
  • A Test Automation Framework should have a
    multi-tiered architecture. It should consists of
    the following tiers.
  • Engine Components in this tier are completely
    responsible for interacting with the WebDriver
    interfaces.
  • Domain This tier is meant to contain only page
    objects that work against the engine.
  • Utils This tier is meant to contain very generic,
    reusable functionality across all the other
    tiers.
  • Functional Tests This tier will contain tests
    that are built on top of MSTest to create actual
    test scenarios by using page objects in the
    Domain.

19
20
Guidelines and Lessons LearntSome important
points to keep in mind
20
21
Automation Framework ApproachesGuidelines for
Automation framework design
  • Selection of a framework
  • Dont reinvent the wheel - Make use of
    Selenium WebDriver functionalities
  • Reusability
  • Support of different application versions
  • Support of script versioning
  • Different environment for development and
    production
  • Externally Configurable
  • Minimal changes required for any object
    changes
  • Execution - Individual, batch, only failed
    etc
  • Status monitoring , Reporting
  • Minimum dependency on Automation tool for
    changes

21
22
Automation Framework ApproachesGuidelines for
Automation framework design
  • Easy debugging
  • Logging - Errors, warnings, etc
  • Easy to Use
  • Flexible - Should not impact existing test
    if changes are required
  • Performance impacts
  • Coding Standards

22
23
Functional test organizationPhysical file
organization
  • Test script files (.cs files) are organized into
    a folder structure much similar to the web
    applications page structure.
  • Reasons to select this approach
  • Easy access to tests
  • Testing a section of the application is easy

23
24
Functional test organizationTest class naming
convention
  • Test class name should start with the containing
    folder name.
  • Reasons to select this approach
  • Easy to group tests based on test class
  • Testing a section of the application is easy

24
25
Functional test writing style Behavior Driven
Development Style Tests
  • It is important to be able to break down a test
    scenario into the components of a behavior driven
    test to ensure clarity. Very concisely the test
    writer should be able to dictate a test scenario
    as
  • Given lta preconditiongt
  • When ltan action takes placegt
  • Then ltexpected outcome should be presentgt

25
26
Functional test writing styleBehavior Driven
Development Style Tests

26
27
Functional test writing styleBehavior Driven
Development Style Tests
  • Reasons for selecting this approach
  • This style of test writing allows for a test case
    to be easily verbalized and comparable to the
    system requirements being validated.
  • Since this effort is heavily focused on UI
    automation, it makes sense to capture test cases
    dictating every behavior of the system and the
    user.

27
28
Browser Upgrades What if the browser upgrades
automatically?
  • Have a portable version of the browser
  • Package it with your framework
  • Starts when the test suite starts

28
29
Summary
  • Automation should be considered as a development
    project and not just record and playback of
    events. Starting automated testing with a good
    framework ensures low maintenance. Guidelines
    discussed in this paper can be used as input for
    developing requirements for a framework.

29
30
Thank You
30
Write a Comment
User Comments (0)
About PowerShow.com