SlideShare a Scribd company logo
1 of 23
Download to read offline
T3	
  
Test	
  Automation	
  
5/5/16	
  9:45	
  
Turbocharge	
  Your	
  Automation	
  
Framework	
  to	
  Shorten	
  Regression	
  
Execution	
  Time	
  
Presented	
  by:	
  
Asad	
  Faruqui
Moni Mau
Symantec	
  
Brought	
  to	
  you	
  by:	
  	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  
888-268-8770 ···· 904-278-0524 --- info@techwell.com --- http://www.stareast.techwell.com/
Asad	
  Faruqui
Symantec	
  
QA	
  director	
  for	
  trust	
  services	
  business	
  unit,	
  Asad	
  Faruqui	
  is	
  responsible	
  for	
  
leading	
  the	
  quality	
  organization	
  for	
  market8 leading	
  SSL,	
  malware/vulnerability	
  
scanning,	
  and	
  authentication	
  solutions	
  under	
  the	
  Symantec,	
  Thawte,	
  Geotrust,	
  
and	
  Rapid	
  SSL	
  brands.	
  Prior	
  to	
  Symantec,	
  Asad	
  worked	
  at	
  Cisco	
  leading	
  their	
  
routing	
  protocol	
  test	
  teams	
  under	
  their	
  central	
  OS	
  group.	
  In	
  all	
  his	
  roles,	
  Asad	
  has	
  
focused	
  on	
  increasing	
  test	
  automation,	
  increasing	
  test	
  coverage,	
  and	
  measuring	
  
QA	
  metrics	
  around	
  test	
  efficiency.	
  
Moni Mau
Symantec
Moni Mau, a senior principal QA engineer for trust services business unit, focuses
mainly on designing and improving the test automation framework, integrating
automation with Jenkins to support continuous integration testing, and executing
performance testing. With more than fifteen years of software testing and
development experience, he has led his automation team in developing an
automation solution to significantly reduce regression time. Prior to Symantec, he
worked at VeriSign and IBM as a software developer.
Turbocharge Your Automation Framework
to Shorten Regression Execution Time
Asad Faruqui (Director QA)
Moni Mau (Sr. Principal QA)
About Us
• Part of Website Security BU at Symantec
• SSL product line: Verisign, Thawte, Geotrust, Rapid
• What we are responsible for:
– Web portal testing for customer life cycle management (e.g New, Renew, Replace, Revoke etc)
– Test Internal Applications for Customer Authentication
– Test Infrastructural Core Services (e.g OCSP, CRL, Seal)
– Test API’s (e.g Partner API’s, Encryption Everywhere)
– Test Conformance to standards (CA Browser Forum, EV guidelines)
– Performance/Scale testing
2
Copyright © 2016 Symantec Corporation
Agenda
Copyright © 2016 Symantec Corporation
3
1 Problem we’re solving for?
2 Selenium Grid Exploration
3 Our framework
4 High Level Design
5 How can this help you?
5 What’s next
6 Q &A
Problem we’re solving for?
• 17 total products for all brands
• Support different locales (13), and all browsers
• We have 100’s of testcases per product
• Testcases require end-to-end testing
– Execution time varies between 5-10 mins
• Let’s assume a release touching 5 products:
– 5 * 13 * 4 * 100 * 7 min ~ 126 days
• Challenge: Release products quicker with high quality!
4
Copyright © 2016 Symantec Corporation
Selenium Grid Exploration
• https://code.google.com/p/selenium/wiki/Grid2
• Each test case be executed parallel with different browsers
• Pros of using grid:
– Without grid, test suite with 50 test cases and each testcase takes 5 minutes to execute. Test for 3
main browsers (IE, FF, Chrome), then it takes 50 * 5 * 3 = 750 minutes
– Using grid, executing each test case in parallel for different browsers, it takes 50 * 5 = 250 minutes
• Even using grid, it takes more than 4 hours just to run 50 test cases!
• Can we shorten execution time more
5
Copyright © 2016 Symantec Corporation
Requirements for new framework
• Easy to be leveraged by existing automation;
– Existing automation will be running in a virtual image independently;
– Existing automation will be invoked remotely;
– Minimize code changes to existing automation. The required changes to existing automation should
be made only in configuration files;
• The test automation’s job must be executed from a central location;
• Provide ability to create multiple images to run automation in parallel;
• Provide ability to divide test cases from a test suite into small test groups and send to
run in the images;
• Provide a web portal to search and view test results
6
Copyright © 2016 Symantec Corporation
High Level Design
• Jenkins as central location to invoke tests
• Web2PY to build web portal application to search and view test results
• Build java application tool to make API calls to VMWare’s vCloud Director to create/delete
images;
• Build an automation engine with the following capabilities when it is invoked:
– divide the test cases in a test suite into small test groups;
– create test job for each test group;
– send test groups to be executed in parallel in the images that are just created;
– must have ability to queue up of the test jobs if there are not enough images;
– combine all the test results from different jobs to a single report;
– copy test report to a central test result location;
– save test results (test job/passed/failed) into database;
7
Copyright © 2016 Symantec Corporation
Central Image
Hub Image
Database Image
Node Image
Jenkins
Web Portal <Web2Py>
Automation
Test Code
Test Results
MySql
PhpMyAdmin
Controller
Automation
AgentStart
Hub Image
Controller
Copyright © 2016 Symantec Corporation
Node Image
Automation
AgentStart
Node Image
Automation
AgentStart
Node Image
Automation
AgentStart
Node Image
Automation
AgentStart
Node Image
Automation
AgentStart
Build Automation Source Code
9
Copyright © 2016 Symantec Corporation
Central
Image
Jenkins
Web Portal
<Web2Py>
Automation
Test Code
Test Results
Build script is invoked by a cron job twice a day (6 am & 6 pm)
 Check if there is any changed in automation test code.
• No changes – exit build script
• Yes, do following:
 Extract the test codes from source control
 Build automation test codes into a jar file
Invoke a build job from Jenkins if there is any changes in
automation test codes after cron job already ran
Test Jobs in Jenkins
10
Copyright © 2016 Symantec Corporation
Central
Image
Jenkins
Web Portal
<Web2Py>
Automation
Test Code
Test Results
Test Jobs Diagram
11
Copyright © 2016 Symantec Corporation
Product Folder
US AU FR ......DE CH SE ZS TW
Downstream Jobs
Web portal for searching results
12
Copyright © 2016 Symantec Corporation
Central Image
Jenkins
Web Portal
<Web2Py>
Automation
Test Code
Test Results
Date User Product Test Level
Build
Numbers
Passed Failed Results
02/13/2016 moni_mau demo regression 01_demo 100 2 View Results
02/14/2016 moni_mau demo regression 02_demo 100 0 View Results
Hub – Create Images (Nodes)
13
Copyright © 2016 Symantec Corporation
Hub Image Images
Creator
Controller
Test Jobs
Creator
Test Jobs
Processor
Test Result
Merger
Images
Remover
 Invoked remotely by Jenkins
 Take command line arguments
 controller [numbers of image, image
template, product, testbed url, locale, ,..]
 Invoke utility programs to execute the test
 Invoke by Controller as: CreateImage 10 templateName
 Call vCloud Director API to create images
 Succeeded: returns a list of newly created images’ IPs
 Failed: returns errors to controller
Hub – Create Test Jobs
14
Copyright © 2016 Symantec Corporation
Hub Image Images
Creator
Controller
Test Jobs
Creator
Test Jobs
Processor
Test Result
Merger
Images
Remover
Invoke by Controller as: CreateJobs product testBedUrl locale data
1. Update automation config file with new testbed url and locale
2. Read test class name and number of test cases to be divided in each test class
3. Access data directory (xml, excel) or database to divide test cases to small groups
4. Create testng.xml files for each test group
5. Create folders to contain: config file, testng file, test data file.
6. Zip test folders and name each zip folder with a sequential number as test job
 Invoked remotely by Jenkins
 Take command line arguments
 controller [numbers of image, image
template, product, testbed url, locale, ,..]
 Invoke utility programs to execute the test
Test Class Name Execute Number
DemoClass1 Yes 10
DemoClass2 Yes 5
TC# Desc Execute usr pwd Expect
1..10 a yes aa $a1 Passed
11..20 b yes bb Failed
21..30 c yes cc $c1 Passed
31..40 d yes dd ??? Failed
TC# Desc Execute Enroll Renew Expect
1..5 a yes data data Passed
6..10 b yes data data Passed
11..15 c yes data data Passed
16..20 d yes data data Failed
21..25 e yes data data Passed
26..30 f yes data data Passed
<classes>
<class name="demo.DemoClass[1/2]"/>
</classes>
result/send/
Job1
Job10
Job..
config.txt
estng.xml
data.[xls/
sql/xml]
Job
Hub – Process Test Jobs
15
Copyright © 2016 Symantec Corporation
Hub Image Images
Creator
Controller
Test Jobs
Creator
Test Jobs
Processor
Test Result
Merger
Images
Remover
 Invoked remotely by Jenkins
 Take command line arguments
 controller [numbers of image, image
template, product, testbed url, locale, ,..]
 Invoke utility programs to execute the test
 Create an array of Nodes’ IP and an array of Ports (start with 6001) assigned to Nodes
 Connect to Nodes using (nodeIP, 65535) and send command to start Agent in Nodes
 Create an array of thread jobs: Thread[] jobs = new Thread[N] where N is number of Nodes
that Controller in Hub can communicate with Nodes
 Create a stack of jobIdStack and put “result/send/job[n].zip” to this stack
Send jobs to execute:
while (! jobIdStack .isEmpty()) {
for(int i = 0; i < N; i++) {
if(! jobIdStack .isEmpty() && jobs[i].getState()==Thread.State.TERMINATED) {
jobs[i] = new Thread(new ManageJob(nodeIP[i], portNum[i], jobIdStack .pop(), product));
jobs[c].start();
}
}
Wait for all the job to finish:
while(jFinished < N) {
if(jobs[jFinished].getState()==Thread.State.TERMINATED) { jFinished ++; waitTime=0;
}else{
if(waitTime > WAIT_TIME){ KSFinished++; waitTime=0;continue;}
Thread.sleep(10000); waitTime++;
}
}
Communicating between ManageJob process and Agent process:
ServerSocket(port)
Write data
Socket(hubIP, port)
Read data
ServerSocket(port)
Write data
Socket(nodeIP, port)
Read data
Hub – Merge Test Results
16
Copyright © 2016 Symantec Corporation
Hub Image Images
Creator
Controller
Test Jobs
Creator
Test Jobs
Processor
Test Result
Merger
Images
Remover
 Invoked remotely by Jenkins
 Take command line arguments
 controller [numbers of image, image
template, product, testbed url, locale, ,..]
 Invoke utility programs to execute the test
 Invoked by Controller as: reportMerger resultDir
 Test result directory locates at: results/receive/job[N]
 Final report locates at: results/jenkinsJob
 Invoked by Controller as: deleteImage imageNames
Node – Client Image
17
Copyright © 2016 Symantec Corporation
Node
Image
Agent
Start <script>
 Node Image is created by createImage from a template image
 After the image is created and started successfully, the start script is
automatically invoked to do the following:
• Start Agent
• Connect to Central Image, transfer to update automation jar file.
Automation
 Invoked by start script
 Start running with configurable port (ex: default 65535)
 Controller in Hub connects to Node via above port to start agentProc
process
 Start processing job sending from Controller by agentProc
 Invoking automation and wait for automaton to finish
 Send results back to Hub
 Wait for next job to process
Results Achieved
• We told you that if we do serial execution it would take: ~ 126 days
• Now running same automation with 100 VM images: 31 hours ~1.26 days!!
Copyright © 2016 Symantec Corporation
18
How this will help you?
• Have an idea how to divide test cases in each test class into small groups
• Have better idea of how the test data and config files are built into jobs
• Sample code to build the core engine of this framework
• We’re moving to open source report, called ExtentReport
http://extentreports.relevantcodes.com/java/version2/docs.html
– Has merge report tool which can be used with
framework: http://extentreports.relevantcodes.com/extentmerge/docs.html
– This report also allows us to save the report in DB http://extentx.herokuapp.com/
• If you don’t have vCloud Director, you can use Docker
• Freshly created images from templates: helps reduce test enrollment issues due to old config from previous
executions
• Extend this framework usage beyond Regression to Build Verification Test and Feature Testing and more!
19
Copyright © 2016 Symantec Corporation
Q&A
20Copyright © 2016 Symantec Corporation
Thank you!
Copyright © 2014 Symantec Corporation. All rights reserved. Symantec and the Symantec Logo are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be
trademarks of their respective owners.
This document is provided for informational purposes only and is not intended as advertising. All warranties relating to the information in this document, either express or implied, are disclaimed to the maximum extent allowed by
law. The information in this document is subject to change without notice.
Asad Faruqui/Moni Mau
asad_faruqui@symantec.com/moni_mau@symantec.com
21

More Related Content

What's hot

Integrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideIntegrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideYu Tao Zhang
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewSteve Lange
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...Skytap Cloud
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsClever Moe
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1Sun Technlogies
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIwajrcs
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation FrameworkGregory Solovey
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTechWell
 
Release With Maven
Release With MavenRelease With Maven
Release With Maveneugenn
 
Infinum Android Talks #17 - Testing your Android applications by Ivan Kust
Infinum Android Talks #17 - Testing your Android applications by Ivan KustInfinum Android Talks #17 - Testing your Android applications by Ivan Kust
Infinum Android Talks #17 - Testing your Android applications by Ivan KustInfinum
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoDaniel Semedo
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test PyramidElias Nogueira
 
World-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooWorld-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooTechWell
 
Tccc10 tooling testingci-vs2010teamcity
Tccc10 tooling testingci-vs2010teamcityTccc10 tooling testingci-vs2010teamcity
Tccc10 tooling testingci-vs2010teamcityBaskin Tapkan
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_trainingjayant25
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQAFest
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 

What's hot (20)

Integrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideIntegrate UFT with Jenkins Guide
Integrate UFT with Jenkins Guide
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing Overview
 
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S... Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
Tips to achieve continuous integration/delivery using HP ALM, Jenkins, and S...
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
 
Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
A Test Automation Framework
A Test Automation FrameworkA Test Automation Framework
A Test Automation Framework
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every Build
 
Release With Maven
Release With MavenRelease With Maven
Release With Maven
 
Infinum Android Talks #17 - Testing your Android applications by Ivan Kust
Infinum Android Talks #17 - Testing your Android applications by Ivan KustInfinum Android Talks #17 - Testing your Android applications by Ivan Kust
Infinum Android Talks #17 - Testing your Android applications by Ivan Kust
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
API Testing following the Test Pyramid
API Testing following the Test PyramidAPI Testing following the Test Pyramid
API Testing following the Test Pyramid
 
World-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It TooWorld-Class Test Automation: You Can Build It Too
World-Class Test Automation: You Can Build It Too
 
Tccc10 tooling testingci-vs2010teamcity
Tccc10 tooling testingci-vs2010teamcityTccc10 tooling testingci-vs2010teamcity
Tccc10 tooling testingci-vs2010teamcity
 
Alm qc 11_training
Alm qc 11_trainingAlm qc 11_training
Alm qc 11_training
 
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The FutureQA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 

Similar to Turbocharge Your Automation Framework to Shorten Regression Execution Time

How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingAcquia
 
Test studiowebinaraugcodedstep
Test studiowebinaraugcodedstepTest studiowebinaraugcodedstep
Test studiowebinaraugcodedstepDhananjay Kumar
 
Overview of Lab Management and TFS
Overview of Lab Management and TFSOverview of Lab Management and TFS
Overview of Lab Management and TFSChris Kadel, MBA
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016Karim Fanadka
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScriptSimon Guest
 
VishalSinha_Resume_Ora
VishalSinha_Resume_OraVishalSinha_Resume_Ora
VishalSinha_Resume_OraVishal Sinha
 
Performance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solutionPerformance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solutionSergey Radov
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testPeter Lindberg
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsApplitools
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER Piyush Prakash
 
[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric CloudPerforce
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online
[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online
[GWAB] Testing Scenarios with Windows Azure and Visual Studio OnlineVitor Tomaz
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 

Similar to Turbocharge Your Automation Framework to Shorten Regression Execution Time (20)

How to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated TestingHow to Build and Maintain Quality Drupal Sites with Automated Testing
How to Build and Maintain Quality Drupal Sites with Automated Testing
 
Test studiowebinaraugcodedstep
Test studiowebinaraugcodedstepTest studiowebinaraugcodedstep
Test studiowebinaraugcodedstep
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
Overview of Lab Management and TFS
Overview of Lab Management and TFSOverview of Lab Management and TFS
Overview of Lab Management and TFS
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Continuous Testing 2016
Continuous Testing 2016Continuous Testing 2016
Continuous Testing 2016
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
VishalSinha_Resume_Ora
VishalSinha_Resume_OraVishalSinha_Resume_Ora
VishalSinha_Resume_Ora
 
Performance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solutionPerformance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solution
 
Kasi Resume
Kasi ResumeKasi Resume
Kasi Resume
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Udvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
 
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 MonthsHow EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
How EVERFI Moved from No Automation to Continuous Test Generation in 9 Months
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
 
[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud[India Merge World Tour] Electric Cloud
[India Merge World Tour] Electric Cloud
 
Shashank_Venkataramanacharya
Shashank_VenkataramanacharyaShashank_Venkataramanacharya
Shashank_Venkataramanacharya
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online
[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online
[GWAB] Testing Scenarios with Windows Azure and Visual Studio Online
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 

More from Josiah Renaudin

Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsJosiah Renaudin
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingJosiah Renaudin
 
Product Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseProduct Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseJosiah Renaudin
 
Slay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementSlay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementJosiah Renaudin
 
Blending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryBlending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryJosiah Renaudin
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile DevelopmentJosiah Renaudin
 
Three Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseThree Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseJosiah Renaudin
 
Internet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileInternet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileJosiah Renaudin
 
How to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentHow to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentJosiah Renaudin
 
The Power of an Agile Mindset
The Power of an Agile MindsetThe Power of an Agile Mindset
The Power of an Agile MindsetJosiah Renaudin
 
DevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsDevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsJosiah Renaudin
 
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingUncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingJosiah Renaudin
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkJosiah Renaudin
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyJosiah Renaudin
 
Testing Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveTesting Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveJosiah Renaudin
 
Finding Success with Test Process Improvement
Finding Success with Test Process ImprovementFinding Success with Test Process Improvement
Finding Success with Test Process ImprovementJosiah Renaudin
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for TestersJosiah Renaudin
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveJosiah Renaudin
 
The Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelThe Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelJosiah Renaudin
 
Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowJosiah Renaudin
 

More from Josiah Renaudin (20)

Solve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOpsSolve Everyday IT Problems with DevOps
Solve Everyday IT Problems with DevOps
 
End-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of TestingEnd-to-End Quality Approach: 14 Levels of Testing
End-to-End Quality Approach: 14 Levels of Testing
 
Product Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean EnterpriseProduct Management: The Innovation Glue for the Lean Enterprise
Product Management: The Innovation Glue for the Lean Enterprise
 
Slay the Dragons of Agile Measurement
Slay the Dragons of Agile MeasurementSlay the Dragons of Agile Measurement
Slay the Dragons of Agile Measurement
 
Blending Product Discovery and Product Delivery
Blending Product Discovery and Product DeliveryBlending Product Discovery and Product Delivery
Blending Product Discovery and Product Delivery
 
Determining Business Value in Agile Development
Determining Business Value in Agile DevelopmentDetermining Business Value in Agile Development
Determining Business Value in Agile Development
 
Three Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile EnterpriseThree Things You MUST Know to Transform into an Agile Enterprise
Three Things You MUST Know to Transform into an Agile Enterprise
 
Internet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of MobileInternet of Things and the Wisdom of Mobile
Internet of Things and the Wisdom of Mobile
 
How to Do Kick-Ass Software Development
How to Do Kick-Ass Software DevelopmentHow to Do Kick-Ass Software Development
How to Do Kick-Ass Software Development
 
The Power of an Agile Mindset
The Power of an Agile MindsetThe Power of an Agile Mindset
The Power of an Agile Mindset
 
DevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software OrganizationsDevOps and the Culture of High-Performing Software Organizations
DevOps and the Culture of High-Performing Software Organizations
 
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data ProfilingUncover Untold Stories in Your Data: A Deep Dive on Data Profiling
Uncover Untold Stories in Your Data: A Deep Dive on Data Profiling
 
Build a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation FrameworkBuild a Quality Engineering and Automation Framework
Build a Quality Engineering and Automation Framework
 
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation StrategyDon’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
Don’t Be Another Statistic! Develop a Long-Term Test Automation Strategy
 
Testing Lessons from the Land of Make Believe
Testing Lessons from the Land of Make BelieveTesting Lessons from the Land of Make Believe
Testing Lessons from the Land of Make Believe
 
Finding Success with Test Process Improvement
Finding Success with Test Process ImprovementFinding Success with Test Process Improvement
Finding Success with Test Process Improvement
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for Testers
 
Stay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity CurveStay Ahead of the Mobile and Web Testing Maturity Curve
Stay Ahead of the Mobile and Web Testing Maturity Curve
 
The Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in ParallelThe Selenium Grid: Run Multiple Automated Tests in Parallel
The Selenium Grid: Run Multiple Automated Tests in Parallel
 
Testing at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and HowTesting at Startup Companies: What, When, Where, and How
Testing at Startup Companies: What, When, Where, and How
 

Recently uploaded

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
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
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
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
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
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.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
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
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
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...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Turbocharge Your Automation Framework to Shorten Regression Execution Time

  • 1. T3   Test  Automation   5/5/16  9:45   Turbocharge  Your  Automation   Framework  to  Shorten  Regression   Execution  Time   Presented  by:   Asad  Faruqui Moni Mau Symantec   Brought  to  you  by:     350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073   888-268-8770 ···· 904-278-0524 --- info@techwell.com --- http://www.stareast.techwell.com/
  • 2. Asad  Faruqui Symantec   QA  director  for  trust  services  business  unit,  Asad  Faruqui  is  responsible  for   leading  the  quality  organization  for  market8 leading  SSL,  malware/vulnerability   scanning,  and  authentication  solutions  under  the  Symantec,  Thawte,  Geotrust,   and  Rapid  SSL  brands.  Prior  to  Symantec,  Asad  worked  at  Cisco  leading  their   routing  protocol  test  teams  under  their  central  OS  group.  In  all  his  roles,  Asad  has   focused  on  increasing  test  automation,  increasing  test  coverage,  and  measuring   QA  metrics  around  test  efficiency.   Moni Mau Symantec Moni Mau, a senior principal QA engineer for trust services business unit, focuses mainly on designing and improving the test automation framework, integrating automation with Jenkins to support continuous integration testing, and executing performance testing. With more than fifteen years of software testing and development experience, he has led his automation team in developing an automation solution to significantly reduce regression time. Prior to Symantec, he worked at VeriSign and IBM as a software developer.
  • 3. Turbocharge Your Automation Framework to Shorten Regression Execution Time Asad Faruqui (Director QA) Moni Mau (Sr. Principal QA)
  • 4. About Us • Part of Website Security BU at Symantec • SSL product line: Verisign, Thawte, Geotrust, Rapid • What we are responsible for: – Web portal testing for customer life cycle management (e.g New, Renew, Replace, Revoke etc) – Test Internal Applications for Customer Authentication – Test Infrastructural Core Services (e.g OCSP, CRL, Seal) – Test API’s (e.g Partner API’s, Encryption Everywhere) – Test Conformance to standards (CA Browser Forum, EV guidelines) – Performance/Scale testing 2 Copyright © 2016 Symantec Corporation
  • 5. Agenda Copyright © 2016 Symantec Corporation 3 1 Problem we’re solving for? 2 Selenium Grid Exploration 3 Our framework 4 High Level Design 5 How can this help you? 5 What’s next 6 Q &A
  • 6. Problem we’re solving for? • 17 total products for all brands • Support different locales (13), and all browsers • We have 100’s of testcases per product • Testcases require end-to-end testing – Execution time varies between 5-10 mins • Let’s assume a release touching 5 products: – 5 * 13 * 4 * 100 * 7 min ~ 126 days • Challenge: Release products quicker with high quality! 4 Copyright © 2016 Symantec Corporation
  • 7. Selenium Grid Exploration • https://code.google.com/p/selenium/wiki/Grid2 • Each test case be executed parallel with different browsers • Pros of using grid: – Without grid, test suite with 50 test cases and each testcase takes 5 minutes to execute. Test for 3 main browsers (IE, FF, Chrome), then it takes 50 * 5 * 3 = 750 minutes – Using grid, executing each test case in parallel for different browsers, it takes 50 * 5 = 250 minutes • Even using grid, it takes more than 4 hours just to run 50 test cases! • Can we shorten execution time more 5 Copyright © 2016 Symantec Corporation
  • 8. Requirements for new framework • Easy to be leveraged by existing automation; – Existing automation will be running in a virtual image independently; – Existing automation will be invoked remotely; – Minimize code changes to existing automation. The required changes to existing automation should be made only in configuration files; • The test automation’s job must be executed from a central location; • Provide ability to create multiple images to run automation in parallel; • Provide ability to divide test cases from a test suite into small test groups and send to run in the images; • Provide a web portal to search and view test results 6 Copyright © 2016 Symantec Corporation
  • 9. High Level Design • Jenkins as central location to invoke tests • Web2PY to build web portal application to search and view test results • Build java application tool to make API calls to VMWare’s vCloud Director to create/delete images; • Build an automation engine with the following capabilities when it is invoked: – divide the test cases in a test suite into small test groups; – create test job for each test group; – send test groups to be executed in parallel in the images that are just created; – must have ability to queue up of the test jobs if there are not enough images; – combine all the test results from different jobs to a single report; – copy test report to a central test result location; – save test results (test job/passed/failed) into database; 7 Copyright © 2016 Symantec Corporation
  • 10. Central Image Hub Image Database Image Node Image Jenkins Web Portal <Web2Py> Automation Test Code Test Results MySql PhpMyAdmin Controller Automation AgentStart Hub Image Controller Copyright © 2016 Symantec Corporation Node Image Automation AgentStart Node Image Automation AgentStart Node Image Automation AgentStart Node Image Automation AgentStart Node Image Automation AgentStart
  • 11. Build Automation Source Code 9 Copyright © 2016 Symantec Corporation Central Image Jenkins Web Portal <Web2Py> Automation Test Code Test Results Build script is invoked by a cron job twice a day (6 am & 6 pm)  Check if there is any changed in automation test code. • No changes – exit build script • Yes, do following:  Extract the test codes from source control  Build automation test codes into a jar file Invoke a build job from Jenkins if there is any changes in automation test codes after cron job already ran
  • 12. Test Jobs in Jenkins 10 Copyright © 2016 Symantec Corporation Central Image Jenkins Web Portal <Web2Py> Automation Test Code Test Results
  • 13. Test Jobs Diagram 11 Copyright © 2016 Symantec Corporation Product Folder US AU FR ......DE CH SE ZS TW Downstream Jobs
  • 14. Web portal for searching results 12 Copyright © 2016 Symantec Corporation Central Image Jenkins Web Portal <Web2Py> Automation Test Code Test Results Date User Product Test Level Build Numbers Passed Failed Results 02/13/2016 moni_mau demo regression 01_demo 100 2 View Results 02/14/2016 moni_mau demo regression 02_demo 100 0 View Results
  • 15. Hub – Create Images (Nodes) 13 Copyright © 2016 Symantec Corporation Hub Image Images Creator Controller Test Jobs Creator Test Jobs Processor Test Result Merger Images Remover  Invoked remotely by Jenkins  Take command line arguments  controller [numbers of image, image template, product, testbed url, locale, ,..]  Invoke utility programs to execute the test  Invoke by Controller as: CreateImage 10 templateName  Call vCloud Director API to create images  Succeeded: returns a list of newly created images’ IPs  Failed: returns errors to controller
  • 16. Hub – Create Test Jobs 14 Copyright © 2016 Symantec Corporation Hub Image Images Creator Controller Test Jobs Creator Test Jobs Processor Test Result Merger Images Remover Invoke by Controller as: CreateJobs product testBedUrl locale data 1. Update automation config file with new testbed url and locale 2. Read test class name and number of test cases to be divided in each test class 3. Access data directory (xml, excel) or database to divide test cases to small groups 4. Create testng.xml files for each test group 5. Create folders to contain: config file, testng file, test data file. 6. Zip test folders and name each zip folder with a sequential number as test job  Invoked remotely by Jenkins  Take command line arguments  controller [numbers of image, image template, product, testbed url, locale, ,..]  Invoke utility programs to execute the test Test Class Name Execute Number DemoClass1 Yes 10 DemoClass2 Yes 5 TC# Desc Execute usr pwd Expect 1..10 a yes aa $a1 Passed 11..20 b yes bb Failed 21..30 c yes cc $c1 Passed 31..40 d yes dd ??? Failed TC# Desc Execute Enroll Renew Expect 1..5 a yes data data Passed 6..10 b yes data data Passed 11..15 c yes data data Passed 16..20 d yes data data Failed 21..25 e yes data data Passed 26..30 f yes data data Passed <classes> <class name="demo.DemoClass[1/2]"/> </classes> result/send/ Job1 Job10 Job.. config.txt estng.xml data.[xls/ sql/xml] Job
  • 17. Hub – Process Test Jobs 15 Copyright © 2016 Symantec Corporation Hub Image Images Creator Controller Test Jobs Creator Test Jobs Processor Test Result Merger Images Remover  Invoked remotely by Jenkins  Take command line arguments  controller [numbers of image, image template, product, testbed url, locale, ,..]  Invoke utility programs to execute the test  Create an array of Nodes’ IP and an array of Ports (start with 6001) assigned to Nodes  Connect to Nodes using (nodeIP, 65535) and send command to start Agent in Nodes  Create an array of thread jobs: Thread[] jobs = new Thread[N] where N is number of Nodes that Controller in Hub can communicate with Nodes  Create a stack of jobIdStack and put “result/send/job[n].zip” to this stack Send jobs to execute: while (! jobIdStack .isEmpty()) { for(int i = 0; i < N; i++) { if(! jobIdStack .isEmpty() && jobs[i].getState()==Thread.State.TERMINATED) { jobs[i] = new Thread(new ManageJob(nodeIP[i], portNum[i], jobIdStack .pop(), product)); jobs[c].start(); } } Wait for all the job to finish: while(jFinished < N) { if(jobs[jFinished].getState()==Thread.State.TERMINATED) { jFinished ++; waitTime=0; }else{ if(waitTime > WAIT_TIME){ KSFinished++; waitTime=0;continue;} Thread.sleep(10000); waitTime++; } } Communicating between ManageJob process and Agent process: ServerSocket(port) Write data Socket(hubIP, port) Read data ServerSocket(port) Write data Socket(nodeIP, port) Read data
  • 18. Hub – Merge Test Results 16 Copyright © 2016 Symantec Corporation Hub Image Images Creator Controller Test Jobs Creator Test Jobs Processor Test Result Merger Images Remover  Invoked remotely by Jenkins  Take command line arguments  controller [numbers of image, image template, product, testbed url, locale, ,..]  Invoke utility programs to execute the test  Invoked by Controller as: reportMerger resultDir  Test result directory locates at: results/receive/job[N]  Final report locates at: results/jenkinsJob  Invoked by Controller as: deleteImage imageNames
  • 19. Node – Client Image 17 Copyright © 2016 Symantec Corporation Node Image Agent Start <script>  Node Image is created by createImage from a template image  After the image is created and started successfully, the start script is automatically invoked to do the following: • Start Agent • Connect to Central Image, transfer to update automation jar file. Automation  Invoked by start script  Start running with configurable port (ex: default 65535)  Controller in Hub connects to Node via above port to start agentProc process  Start processing job sending from Controller by agentProc  Invoking automation and wait for automaton to finish  Send results back to Hub  Wait for next job to process
  • 20. Results Achieved • We told you that if we do serial execution it would take: ~ 126 days • Now running same automation with 100 VM images: 31 hours ~1.26 days!! Copyright © 2016 Symantec Corporation 18
  • 21. How this will help you? • Have an idea how to divide test cases in each test class into small groups • Have better idea of how the test data and config files are built into jobs • Sample code to build the core engine of this framework • We’re moving to open source report, called ExtentReport http://extentreports.relevantcodes.com/java/version2/docs.html – Has merge report tool which can be used with framework: http://extentreports.relevantcodes.com/extentmerge/docs.html – This report also allows us to save the report in DB http://extentx.herokuapp.com/ • If you don’t have vCloud Director, you can use Docker • Freshly created images from templates: helps reduce test enrollment issues due to old config from previous executions • Extend this framework usage beyond Regression to Build Verification Test and Feature Testing and more! 19 Copyright © 2016 Symantec Corporation
  • 22. Q&A 20Copyright © 2016 Symantec Corporation
  • 23. Thank you! Copyright © 2014 Symantec Corporation. All rights reserved. Symantec and the Symantec Logo are trademarks or registered trademarks of Symantec Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks of their respective owners. This document is provided for informational purposes only and is not intended as advertising. All warranties relating to the information in this document, either express or implied, are disclaimed to the maximum extent allowed by law. The information in this document is subject to change without notice. Asad Faruqui/Moni Mau asad_faruqui@symantec.com/moni_mau@symantec.com 21