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.
Test Automation Framework Online Training by QuontraSolutions
1. Test Automation Framework
Overview and Strategy
Presented By
Quontra Solutions
IT Courses Online Training With
Placement Support. Attend Free
Demo
Email: info@quontrasolutions.co.uk
Contact: 20 - 3734 -1498
Web: www.quontrasolutions.co.uk
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
4. Software Framework
The 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 Framework
Framework 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
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
10. The better way
Introduction
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
12. The better way
Dos and Don’ts
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 way
Pros 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
15. Automation FrameworkApproaches
Data/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 tester’s 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
19. Automation FrameworkApproaches
Generic 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
Test Automation FrameworkTest Automation Framework
(MSTest) Test Execution Engine(MSTest) Test Execution Engine
Functional TestsFunctional Tests
Domain
Engine
UtilsUtils
Selenium Web Driver APISelenium Web Driver API
21. Automation Framework Approaches
Guidelines for Automation framework design
• Selection of a framework
• Don’t 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 organization
Physical file organization
Test script files (.cs files) are organized into a
folder structure much similar to the web
application’s page structure.
Reasons to select this approach:
Easy access to tests
Testing a section of the application is easy
23
24. Functional test organization
Test 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 <a precondition>
When <an action takes place>
Then <expected outcome should be present>
25
27. Functional test writing style
Behavior 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