SlideShare a Scribd company logo
1 of 31
Test Automation Framework
Overview and Strategy
Presented By
Quontra Solutions
IT Courses Online Training With Placement
Support. Attend Free Demo .
Email: info@quontrasolutions.com
Contact: +1 (404)-900-9988
Web: www.quontrasolutions.com
2
Contents
1. Software Framework
2. The Easy Way
3. The Better Way
Introduction
PageObject Pattern
1. Automation Framework Approaches
Data/Table Driven Framework
Keyword Driven Framework
Hybrid Framework
Generic Architecture
1. Guidelines and Lessons Learnt
Test Organization
Test Writing Style
Browser Updates
3
Software Framework
What is a software framework?
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
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.
6
The Easy Way
What is the easy way to automate?
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.
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.
9
The Better Way
What could be a better way of
automating?
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
11
The better way
PageObject class
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
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
14
Automation Framework Approaches
What are the available automation
frameworks?
15
Automation Framework Approaches
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
16
Automation Framework Approaches
Data/Table Driven Framework
17
Automation Framework Approaches
Keyword Driven Framework
 Keyword driven framework is an action based test method used in planning and implementation
of automation.
18
Automation Framework Approaches
Hybrid Framework
 A mix of Data driven and Keyword driven frameworks.
19
Automation Framework Approaches
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.
20
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
Guidelines and Lessons Learnt
Some important points to keep in
mind
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
22
Automation Framework Approaches
Guidelines 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
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
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
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>
26
Functional test writing style
Behavior Driven Development Style
Tests
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.
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
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.
30
Thank You
31

More Related Content

What's hot

Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test AutomationBabuDevanandam
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingKMS Technology
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation FrameworkGregory Solovey
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework Infosys
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka Yashantha
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testingpriya_trivedi
 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Frameworkgreyaudrina
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automationaimshigh7
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargoGuild .
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementationBharathi Krishnamurthi
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologiesMesut Günes
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerQA or the Highway
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
automation framework
automation frameworkautomation framework
automation frameworkANSHU GOYAL
 

What's hot (20)

Selenium Test Automation
Selenium Test AutomationSelenium Test Automation
Selenium Test Automation
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice Sharing
 
Key Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework SuccessKey Factors To Ensure Test Automation Framework Success
Key Factors To Ensure Test Automation Framework Success
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation Framework
 
Automation test scripting guidelines
Automation test scripting guidelines Automation test scripting guidelines
Automation test scripting guidelines
 
Regression Test Automation Framework
Regression Test Automation Framework Regression Test Automation Framework
Regression Test Automation Framework
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
Final Automation Testing
Final Automation TestingFinal Automation Testing
Final Automation Testing
 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Framework
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automation
 
Mobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar GargMobile Test Automation Framework : Presented By Shankar Garg
Mobile Test Automation Framework : Presented By Shankar Garg
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Centralized test automation framework implementation
Centralized test automation framework implementationCentralized test automation framework implementation
Centralized test automation framework implementation
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian Bayer
 
Test Automation
Test AutomationTest Automation
Test Automation
 
automation framework
automation frameworkautomation framework
automation framework
 

Similar to Designing a Test Automation Framework By Quontra solutions

Test automation wipro
Test automation   wiproTest automation   wipro
Test automation wiproambreprasad77
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptxpavelpopov43
 
SUMMIT 09 - Startegic Choice Of Test Automation Framework
SUMMIT 09 - Startegic Choice Of Test Automation FrameworkSUMMIT 09 - Startegic Choice Of Test Automation Framework
SUMMIT 09 - Startegic Choice Of Test Automation FrameworkLavanya Lakshman
 
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdfTest Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdfSerena Gray
 
What is a Test Automation framework.pdf
What is a Test Automation framework.pdfWhat is a Test Automation framework.pdf
What is a Test Automation framework.pdfAnanthReddy38
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-toolBabuDevanandam
 
Pros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdfPros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdfkalichargn70th171
 
An Automation Framework That Really Works
An Automation Framework That Really WorksAn Automation Framework That Really Works
An Automation Framework That Really WorksBasivi Reddy Junna
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorialsDucat
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)IRJET Journal
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing EssayDani Cox
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemSundar Sritharan
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworksSakthi K
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test FrameworkSachin-QA
 
Test automation in project management
Test automation in project managementTest automation in project management
Test automation in project managementambreprasad77
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testingTestingXperts
 

Similar to Designing a Test Automation Framework By Quontra solutions (20)

Test automation wipro
Test automation   wiproTest automation   wipro
Test automation wipro
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
SUMMIT 09 - Startegic Choice Of Test Automation Framework
SUMMIT 09 - Startegic Choice Of Test Automation FrameworkSUMMIT 09 - Startegic Choice Of Test Automation Framework
SUMMIT 09 - Startegic Choice Of Test Automation Framework
 
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdfTest Automation Framework An Insight into Some Popular Automation Frameworks.pdf
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdf
 
What is a Test Automation framework.pdf
What is a Test Automation framework.pdfWhat is a Test Automation framework.pdf
What is a Test Automation framework.pdf
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
Pros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdfPros and Cons of key test automation frameworks.pdf
Pros and Cons of key test automation frameworks.pdf
 
An Automation Framework That Really Works
An Automation Framework That Really WorksAn Automation Framework That Really Works
An Automation Framework That Really Works
 
Selenium tutorials
Selenium tutorialsSelenium tutorials
Selenium tutorials
 
Fitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation SystemFitnesse, Watir and Ruby Based Test Automation System
Fitnesse, Watir and Ruby Based Test Automation System
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)Automation Testing of Web based Application with Selenium and HP UFT (QTP)
Automation Testing of Web based Application with Selenium and HP UFT (QTP)
 
Unit Testing Essay
Unit Testing EssayUnit Testing Essay
Unit Testing Essay
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
 
Automation Test Framework
Automation Test FrameworkAutomation Test Framework
Automation Test Framework
 
Ch17
Ch17Ch17
Ch17
 
Test automation in project management
Test automation in project managementTest automation in project management
Test automation in project management
 
Test automation
Test automationTest automation
Test automation
 
What is integration testing
What is integration testingWhat is integration testing
What is integration testing
 

More from QUONTRASOLUTIONS

Big data introduction by quontra solutions
Big data introduction by quontra solutionsBig data introduction by quontra solutions
Big data introduction by quontra solutionsQUONTRASOLUTIONS
 
Cognos Online Training with placement Assistance - QuontraSolutions
Cognos Online Training with placement Assistance - QuontraSolutionsCognos Online Training with placement Assistance - QuontraSolutions
Cognos Online Training with placement Assistance - QuontraSolutionsQUONTRASOLUTIONS
 
Business analyst overview by quontra solutions
Business analyst overview by quontra solutionsBusiness analyst overview by quontra solutions
Business analyst overview by quontra solutionsQUONTRASOLUTIONS
 
Business analyst overview by quontra solutions
Business analyst overview by quontra solutionsBusiness analyst overview by quontra solutions
Business analyst overview by quontra solutionsQUONTRASOLUTIONS
 
Software Quality Assurance training by QuontraSolutions
Software Quality Assurance training by QuontraSolutionsSoftware Quality Assurance training by QuontraSolutions
Software Quality Assurance training by QuontraSolutionsQUONTRASOLUTIONS
 
Introduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutionsIntroduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutionsQUONTRASOLUTIONS
 
.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions.Net introduction by Quontra Solutions
.Net introduction by Quontra SolutionsQUONTRASOLUTIONS
 
Introduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training classIntroduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training classQUONTRASOLUTIONS
 
Saas overview by quontra solutions
Saas overview  by quontra solutionsSaas overview  by quontra solutions
Saas overview by quontra solutionsQUONTRASOLUTIONS
 
Sharepoint taxonomy introduction us
Sharepoint taxonomy introduction   usSharepoint taxonomy introduction   us
Sharepoint taxonomy introduction usQUONTRASOLUTIONS
 
Introduction to the sharepoint 2013 userprofile service By Quontra
Introduction to the sharepoint 2013 userprofile service By QuontraIntroduction to the sharepoint 2013 userprofile service By Quontra
Introduction to the sharepoint 2013 userprofile service By QuontraQUONTRASOLUTIONS
 
Introduction to SharePoint 2013 REST API
Introduction to SharePoint 2013 REST APIIntroduction to SharePoint 2013 REST API
Introduction to SharePoint 2013 REST APIQUONTRASOLUTIONS
 
Performance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsPerformance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsQUONTRASOLUTIONS
 
Obiee introduction building reports by QuontraSolutions
Obiee introduction building reports by QuontraSolutionsObiee introduction building reports by QuontraSolutions
Obiee introduction building reports by QuontraSolutionsQUONTRASOLUTIONS
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usQUONTRASOLUTIONS
 

More from QUONTRASOLUTIONS (20)

Big data introduction by quontra solutions
Big data introduction by quontra solutionsBig data introduction by quontra solutions
Big data introduction by quontra solutions
 
Java constructors
Java constructorsJava constructors
Java constructors
 
Cognos Online Training with placement Assistance - QuontraSolutions
Cognos Online Training with placement Assistance - QuontraSolutionsCognos Online Training with placement Assistance - QuontraSolutions
Cognos Online Training with placement Assistance - QuontraSolutions
 
Business analyst overview by quontra solutions
Business analyst overview by quontra solutionsBusiness analyst overview by quontra solutions
Business analyst overview by quontra solutions
 
Business analyst overview by quontra solutions
Business analyst overview by quontra solutionsBusiness analyst overview by quontra solutions
Business analyst overview by quontra solutions
 
Cognos Overview
Cognos Overview Cognos Overview
Cognos Overview
 
Hibernate online training
Hibernate online trainingHibernate online training
Hibernate online training
 
Java j2eeTutorial
Java j2eeTutorialJava j2eeTutorial
Java j2eeTutorial
 
Software Quality Assurance training by QuontraSolutions
Software Quality Assurance training by QuontraSolutionsSoftware Quality Assurance training by QuontraSolutions
Software Quality Assurance training by QuontraSolutions
 
Introduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutionsIntroduction to software quality assurance by QuontraSolutions
Introduction to software quality assurance by QuontraSolutions
 
.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions.Net introduction by Quontra Solutions
.Net introduction by Quontra Solutions
 
Introduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training classIntroduction to j2 ee patterns online training class
Introduction to j2 ee patterns online training class
 
Saas overview by quontra solutions
Saas overview  by quontra solutionsSaas overview  by quontra solutions
Saas overview by quontra solutions
 
Sharepoint taxonomy introduction us
Sharepoint taxonomy introduction   usSharepoint taxonomy introduction   us
Sharepoint taxonomy introduction us
 
Introduction to the sharepoint 2013 userprofile service By Quontra
Introduction to the sharepoint 2013 userprofile service By QuontraIntroduction to the sharepoint 2013 userprofile service By Quontra
Introduction to the sharepoint 2013 userprofile service By Quontra
 
Introduction to SharePoint 2013 REST API
Introduction to SharePoint 2013 REST APIIntroduction to SharePoint 2013 REST API
Introduction to SharePoint 2013 REST API
 
Performance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutionsPerformance Testing and OBIEE by QuontraSolutions
Performance Testing and OBIEE by QuontraSolutions
 
Obiee introduction building reports by QuontraSolutions
Obiee introduction building reports by QuontraSolutionsObiee introduction building reports by QuontraSolutions
Obiee introduction building reports by QuontraSolutions
 
Sharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra usSharepoint designer workflow by quontra us
Sharepoint designer workflow by quontra us
 
Qa by quontra us
Qa by quontra   usQa by quontra   us
Qa by quontra us
 

Recently uploaded

Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 

Recently uploaded (20)

Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 

Designing a Test Automation Framework By Quontra solutions

  • 1. Test Automation Framework Overview and Strategy Presented By Quontra Solutions IT Courses Online Training With Placement Support. Attend Free Demo . Email: info@quontrasolutions.com Contact: +1 (404)-900-9988 Web: www.quontrasolutions.com
  • 2. 2
  • 3. Contents 1. Software Framework 2. The Easy Way 3. The Better Way Introduction PageObject Pattern 1. Automation Framework Approaches Data/Table Driven Framework Keyword Driven Framework Hybrid Framework Generic Architecture 1. Guidelines and Lessons Learnt Test Organization Test Writing Style Browser Updates 3
  • 4. Software Framework What is a software framework? 4
  • 5. 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 5
  • 6. 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. 6
  • 7. The Easy Way What is the easy way to automate? 7
  • 8. 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. 8
  • 9. 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. 9
  • 10. The Better Way What could be a better way of automating? 10
  • 11. 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 11
  • 13. 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 13
  • 14. 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 14
  • 15. Automation Framework Approaches What are the available automation frameworks? 15
  • 16. Automation Framework Approaches 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 16
  • 18. Automation Framework Approaches Keyword Driven Framework  Keyword driven framework is an action based test method used in planning and implementation of automation. 18
  • 19. Automation Framework Approaches Hybrid Framework  A mix of Data driven and Keyword driven frameworks. 19
  • 20. Automation Framework Approaches 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. 20 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. Guidelines and Lessons Learnt Some important points to keep in mind 21
  • 22. 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 22
  • 23. Automation Framework Approaches Guidelines 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 23
  • 24. 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 24
  • 25. 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 25
  • 26. 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> 26
  • 27. Functional test writing style Behavior Driven Development Style Tests 27
  • 28. 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. 28
  • 29. 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 29
  • 30. 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. 30