SlideShare a Scribd company logo
1 of 18
1
 Why do we need Automation testing
 Manual to Automation benifits
 Testing Framework and Types
Linear
Modular
Data Driven
Keyword Driven
Page Object
Hybrid
2Company Confidential. For Internal use only.
 Effort and Cost
◦ Lets assume 6 test cases
◦ Effort required to run all 6 manually => 10 min
◦ Effort required to write unit tests for all 6
cases => 10 min
◦ Effort required to run unit tests for all 6 cases
=> < 1 min
◦ Number of testing iterations => 5
◦ Total manual testing time => 50 min
◦ Total unit testing time => 10 min
3
Release Manual Test Auto Test
Manual Test
Cumulative
1 10 10 10
2 10 0 20
3 10 0 30
4 10 0 40
5 10 0 50
Company Confidential. For Internal use only.
4
Test Case Test Steps Test Data
Results
What to Do ? Input
Pass / Fail
HTML / PDF / XML
Where to Do ?
Company Confidential. For Internal use only.
 A testing framework or more specifically a testing automation framework
is an execution environment for automated tests. It is the overall system in
which the tests will be automated.
 It is defined as the set of assumptions, concepts, and practices that
constitute a work platform or support for automated testing.
 The Testing framework is responsible for:
 Defining the format in which to express expectations.
 Creating a mechanism to hook into or drive the application under test
 Executing the tests
 Reporting results
 Properties of a testing framework:
 It is application independent.
 It is easy to expand, maintain and perpetuate.
5Company Confidential. For Internal use only.
6
Testing
Frameworks
Linear
Modular
Data Driven
Keyword
Driven
Page Object
Model
H
y
b
r
i
d
Company Confidential. For Internal use only.
 User Login
‐ L o g i n L i n k . B r o w s e
‐ U s e r N a m e F i e l d . E n t e r Te x t . “ t e s t 1 2 3 ”
‐ P a s s w o r d F i e l d . . E n t e r Te x t . “ t e s t 1 2 3 ”
‐ R e m e m b e r P s w d . C h e c k
‐ L o g i n B u t t o n . C l i c k
‐ C o n f i r m L o g i n
‐ *
‐ *
‐ *
‐ C o n t i n u e . . O p e r a t i o n s
7Company Confidential. For Internal use only.
 To demonstrate the modular framework we use the Gmail program.
 Consider the basic functions of the calculator such as Login, send mail, send
mail with attachment, CC, Bcc.
We create scripts for these functions as follows:
8
‐LoginLink.Browse
‐UserNameField.EnterText. “test123”
‐PasswordField. .EnterText. “test123”
‐RememberPswd.Check
‐LoginButton.Click
‐Confirm Login
‐LoginLink.Browse
‐UserNameField.EnterText. “test123”
‐PasswordField. .EnterText. “test123”
‐RememberPswd.Check
‐LoginButton.Click
‐Confirm Login
‐ComposeButton.Click
‐ToField.EnterEmail. “toEmail123”
‐SubjectField. EnterText “Test Subject 123”
‐BodyField. EnterText “……”
‐SendButton.Click
‐Confirm.EmailSent
‐Logout
 User Login  Send Email
‐VerifyLink.ForgotPwd.isPresent
‐Application can have 100’s & 1000’s of
TestCases all needs to be updated.
Company Confidential. For Internal use only.
 The Modular testing framework is built on the concept of functions or
modules.
 This involves the creation of independent scripts / functions that
represent the modules of the application under test.
 Thus the changes made to the other part of the application do not effect
that component.
9
Pros Cons
Changes require less effort
Reuse this over and over
Accuracy improved
Data is hard coded
Code needs change for change in data
QA Team 20% auto – 80% Manual
Manual engg also should use test
framework.
Company Confidential. For Internal use only.
 To demonstrate the data driven testing framework we use the User login
function again.
 The first step involves creating the test data file. (testdata.csv)
 This data file contains the different types of input data which will be given to
the driver script.
 In the next step we create a driver script and make references to the test
data file.
10
‐Data = openfile(‘testData.csv’).read()
‐line = Data.splitLines()
‐LoginLink.Browse
‐UserNameField.EnterText.{line.useName}
‐PasswordField. .EnterText. {line.userPwd}
‐RememberPswd.Check
‐LoginButton.Click
‐Confirm Login
‐line++ then Loop
 User Login Sl
#
userName userPwd
1 user123@gmail.com Passwd123
2 user999@gmail.com Passwd999
3 test12@mail.com Tshe%237p
4 utest@email.com Ped23%!
5 mahesh@mail.com Uasswd273@
6 januja@inti.com Ka8&29dj
7 user001@gmail.com Passwd001
8 user456@gmail.com Passwd456
Company Confidential. For Internal use only.
11
The driver script contains navigation through the program, reading of the data files
and logging of the test status information.
TC
Script 1
Script 2
Script 3
TD
Data Set1
Data Set2
Data Set n
Excel, XML, DB,….
Pros Cons
Repeat same TC for various TD
Much more faster-efficiency
Sharing load with Manual QA
Changes with TC Requires code change
To add new TC, we have to do a code
change
Company Confidential. For Internal use only.
 Assume your application under test is undergoing very frequent changes
 Need to cover various areas functional, regression, load, stress,
performance …
 More for automation and manual team can be further used
 By this time we separated functions and Data from main Program.
 How about if we separate the test steps and keep it external
12
Test Case Test Steps Test Data Element Identifier
User Login Browse https://.gmail.com address bar
Key in test123 By.ID(“user_Name")
Key in test123 By.name(“password")
Enable checkBox By. class("css selector")
Click loginBtn By. tagName(“LoginBtn”)
Hover homePage By.link("link text")
Company Confidential. For Internal use only.
 Keyword driven testing is an application independent framework utilizing
data tables and self explanatory keywords to explain the actions to be
performed on the application under test.
 Not only is the test data kept in the file but even the directives telling
what to do which is in the test scripts is put in external input data file.
 These directives are called keywords. The keyword based testing is an
extension to the data driven testing.
13
Pros Cons
Change to TC, require no code Change
Add new TC require no code change
Webpage change & element
identification becomes issue
Dynamism in web objects
Company Confidential. For Internal use only.
14
Login.po compose.po
TestCases.file
Company Confidential. For Internal use only.
15
TestCases.file
Login.po
Login.csv Compose.csv
Compose.po
Login to app with username and password
Compose and send email
Logout from application
Confirm logout
Company Confidential. For Internal use only.
 Hybrid testing framework is the combination of modular, data-driven and
keyword driven testing frameworks.
 This combination of frameworks helps the data driven scripts take
advantage of the libraries which usually accompany the keyword driven
testing.
16Company Confidential. For Internal use only.
17Company Confidential. For Internal use only.
18

More Related Content

What's hot

Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation StrategyMartin Ruddy
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingKMS Technology
 
Smoke Testing
Smoke TestingSmoke Testing
Smoke TestingKanoah
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.Vinay Agnihotri
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNetHai Tran Son
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testingb4usolution .
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Test automation
Test automationTest automation
Test automationXavier Yin
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesDerek Smith
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with seleniumTzirla Rozental
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven TestingMaveryx
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber Knoldus Inc.
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 

What's hot (20)

Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
Framework For Automation Testing Practice Sharing
Framework For Automation Testing Practice SharingFramework For Automation Testing Practice Sharing
Framework For Automation Testing Practice Sharing
 
Smoke Testing
Smoke TestingSmoke Testing
Smoke Testing
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Automation testing introduction for FujiNet
Automation testing introduction for FujiNetAutomation testing introduction for FujiNet
Automation testing introduction for FujiNet
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
Gherkin /BDD intro
Gherkin /BDD introGherkin /BDD intro
Gherkin /BDD intro
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testing
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Test automation
Test automationTest automation
Test automation
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
API Testing
API TestingAPI Testing
API Testing
 
Data Driven Testing
Data Driven TestingData Driven Testing
Data Driven Testing
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Selenium with Cucumber
Selenium  with Cucumber Selenium  with Cucumber
Selenium with Cucumber
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 

Similar to Automation frameworks

Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Leonard Fingerman
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingHarish MS
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeJeannieHeldt
 
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesCloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesIRJET Journal
 
Automation testing
Automation testingAutomation testing
Automation testingTomy Rhymond
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks FinalMargaret_Dickman
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universitylhkslkdh89009
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meterPurna Chandar
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutionsgavhays
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceBartosz Górski
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceBartosz Górski
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationJay Jha
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Shivakumara .
 
Mykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with JmeterMykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with JmeterIevgenii Katsan
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnMauricio (Salaboy) Salatino
 
The Testing Planet Issue 2
The Testing Planet Issue 2The Testing Planet Issue 2
The Testing Planet Issue 2Rosie Sherry
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui TestingChristopherGTaylor
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...Tobias Trapp
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationKnoldus Inc.
 

Similar to Automation frameworks (20)

Test automation
Test automationTest automation
Test automation
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Microsoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafeMicrosoft az-204 download free demo at dumps cafe
Microsoft az-204 download free demo at dumps cafe
 
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key UpdatesCloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
Cloud Storage Auditing Protocol with Verifiable Outsourcing of Key Updates
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Test Automation Frameworks Final
Test Automation Frameworks   FinalTest Automation Frameworks   Final
Test Automation Frameworks Final
 
Cis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry universityCis407 a ilab 6 web application development devry university
Cis407 a ilab 6 web application development devry university
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe Commerce
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe Commerce
 
Performance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authenticationPerformance testing using Jmeter for apps which needs authentication
Performance testing using Jmeter for apps which needs authentication
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Mykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with JmeterMykola Kovsh - Functional API automation with Jmeter
Mykola Kovsh - Functional API automation with Jmeter
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
 
The Testing Planet Issue 2
The Testing Planet Issue 2The Testing Planet Issue 2
The Testing Planet Issue 2
 
Code Camp Applying Modern Software Development Techniques To Ui Testing
Code Camp  Applying Modern Software Development Techniques To Ui TestingCode Camp  Applying Modern Software Development Techniques To Ui Testing
Code Camp Applying Modern Software Development Techniques To Ui Testing
 
SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...SAP Test automation - fully automatic test of complex business processes incl...
SAP Test automation - fully automatic test of complex business processes incl...
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test Automation
 

More from Vishwanath KC

More from Vishwanath KC (7)

Introduction to Agile Scrum Methodology
Introduction to Agile Scrum MethodologyIntroduction to Agile Scrum Methodology
Introduction to Agile Scrum Methodology
 
Cucumber With Selenium
Cucumber With SeleniumCucumber With Selenium
Cucumber With Selenium
 
Api Testing
Api TestingApi Testing
Api Testing
 
Api Testing
Api TestingApi Testing
Api Testing
 
Time management
Time managementTime management
Time management
 
Non-functional testing
Non-functional testingNon-functional testing
Non-functional testing
 
Jasmine framework
Jasmine frameworkJasmine framework
Jasmine framework
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

Automation frameworks

  • 1. 1
  • 2.  Why do we need Automation testing  Manual to Automation benifits  Testing Framework and Types Linear Modular Data Driven Keyword Driven Page Object Hybrid 2Company Confidential. For Internal use only.
  • 3.  Effort and Cost ◦ Lets assume 6 test cases ◦ Effort required to run all 6 manually => 10 min ◦ Effort required to write unit tests for all 6 cases => 10 min ◦ Effort required to run unit tests for all 6 cases => < 1 min ◦ Number of testing iterations => 5 ◦ Total manual testing time => 50 min ◦ Total unit testing time => 10 min 3 Release Manual Test Auto Test Manual Test Cumulative 1 10 10 10 2 10 0 20 3 10 0 30 4 10 0 40 5 10 0 50 Company Confidential. For Internal use only.
  • 4. 4 Test Case Test Steps Test Data Results What to Do ? Input Pass / Fail HTML / PDF / XML Where to Do ? Company Confidential. For Internal use only.
  • 5.  A testing framework or more specifically a testing automation framework is an execution environment for automated tests. It is the overall system in which the tests will be automated.  It is defined as the set of assumptions, concepts, and practices that constitute a work platform or support for automated testing.  The Testing framework is responsible for:  Defining the format in which to express expectations.  Creating a mechanism to hook into or drive the application under test  Executing the tests  Reporting results  Properties of a testing framework:  It is application independent.  It is easy to expand, maintain and perpetuate. 5Company Confidential. For Internal use only.
  • 7.  User Login ‐ L o g i n L i n k . B r o w s e ‐ U s e r N a m e F i e l d . E n t e r Te x t . “ t e s t 1 2 3 ” ‐ P a s s w o r d F i e l d . . E n t e r Te x t . “ t e s t 1 2 3 ” ‐ R e m e m b e r P s w d . C h e c k ‐ L o g i n B u t t o n . C l i c k ‐ C o n f i r m L o g i n ‐ * ‐ * ‐ * ‐ C o n t i n u e . . O p e r a t i o n s 7Company Confidential. For Internal use only.
  • 8.  To demonstrate the modular framework we use the Gmail program.  Consider the basic functions of the calculator such as Login, send mail, send mail with attachment, CC, Bcc. We create scripts for these functions as follows: 8 ‐LoginLink.Browse ‐UserNameField.EnterText. “test123” ‐PasswordField. .EnterText. “test123” ‐RememberPswd.Check ‐LoginButton.Click ‐Confirm Login ‐LoginLink.Browse ‐UserNameField.EnterText. “test123” ‐PasswordField. .EnterText. “test123” ‐RememberPswd.Check ‐LoginButton.Click ‐Confirm Login ‐ComposeButton.Click ‐ToField.EnterEmail. “toEmail123” ‐SubjectField. EnterText “Test Subject 123” ‐BodyField. EnterText “……” ‐SendButton.Click ‐Confirm.EmailSent ‐Logout  User Login  Send Email ‐VerifyLink.ForgotPwd.isPresent ‐Application can have 100’s & 1000’s of TestCases all needs to be updated. Company Confidential. For Internal use only.
  • 9.  The Modular testing framework is built on the concept of functions or modules.  This involves the creation of independent scripts / functions that represent the modules of the application under test.  Thus the changes made to the other part of the application do not effect that component. 9 Pros Cons Changes require less effort Reuse this over and over Accuracy improved Data is hard coded Code needs change for change in data QA Team 20% auto – 80% Manual Manual engg also should use test framework. Company Confidential. For Internal use only.
  • 10.  To demonstrate the data driven testing framework we use the User login function again.  The first step involves creating the test data file. (testdata.csv)  This data file contains the different types of input data which will be given to the driver script.  In the next step we create a driver script and make references to the test data file. 10 ‐Data = openfile(‘testData.csv’).read() ‐line = Data.splitLines() ‐LoginLink.Browse ‐UserNameField.EnterText.{line.useName} ‐PasswordField. .EnterText. {line.userPwd} ‐RememberPswd.Check ‐LoginButton.Click ‐Confirm Login ‐line++ then Loop  User Login Sl # userName userPwd 1 user123@gmail.com Passwd123 2 user999@gmail.com Passwd999 3 test12@mail.com Tshe%237p 4 utest@email.com Ped23%! 5 mahesh@mail.com Uasswd273@ 6 januja@inti.com Ka8&29dj 7 user001@gmail.com Passwd001 8 user456@gmail.com Passwd456 Company Confidential. For Internal use only.
  • 11. 11 The driver script contains navigation through the program, reading of the data files and logging of the test status information. TC Script 1 Script 2 Script 3 TD Data Set1 Data Set2 Data Set n Excel, XML, DB,…. Pros Cons Repeat same TC for various TD Much more faster-efficiency Sharing load with Manual QA Changes with TC Requires code change To add new TC, we have to do a code change Company Confidential. For Internal use only.
  • 12.  Assume your application under test is undergoing very frequent changes  Need to cover various areas functional, regression, load, stress, performance …  More for automation and manual team can be further used  By this time we separated functions and Data from main Program.  How about if we separate the test steps and keep it external 12 Test Case Test Steps Test Data Element Identifier User Login Browse https://.gmail.com address bar Key in test123 By.ID(“user_Name") Key in test123 By.name(“password") Enable checkBox By. class("css selector") Click loginBtn By. tagName(“LoginBtn”) Hover homePage By.link("link text") Company Confidential. For Internal use only.
  • 13.  Keyword driven testing is an application independent framework utilizing data tables and self explanatory keywords to explain the actions to be performed on the application under test.  Not only is the test data kept in the file but even the directives telling what to do which is in the test scripts is put in external input data file.  These directives are called keywords. The keyword based testing is an extension to the data driven testing. 13 Pros Cons Change to TC, require no code Change Add new TC require no code change Webpage change & element identification becomes issue Dynamism in web objects Company Confidential. For Internal use only.
  • 15. 15 TestCases.file Login.po Login.csv Compose.csv Compose.po Login to app with username and password Compose and send email Logout from application Confirm logout Company Confidential. For Internal use only.
  • 16.  Hybrid testing framework is the combination of modular, data-driven and keyword driven testing frameworks.  This combination of frameworks helps the data driven scripts take advantage of the libraries which usually accompany the keyword driven testing. 16Company Confidential. For Internal use only.
  • 17. 17Company Confidential. For Internal use only.
  • 18. 18