SlideShare a Scribd company logo
1 of 13
Inside Dolphin
Test Infrastructure for Dragon-Jaguar
Tao Jiang
http://www.linkedin.com/in/taojiang2000/
Outline
• Test Automation and Execution
• Dolphin as a Test Execution Infrastructure
• Results of using Dolphin in Dragon-Jaguar 1.0
2
Challenges in Automated Test
Execution
• Lots of automated tests (1,169 in Dragon-Jaguar 1.0)
• Each test may require a unique set of resources:
– Hardware devices and equipment
– Supporting software and test libraries
– Test environment
• Want to run tests non stop, unattended
• Run tests on distributed test stations in parallel
• Dealing with failure
– Hardware/OS Failure
– Misconfiguration in Software / Libraries
– Misbehaving Test
3
Dolphin: Testing Infrastructure
• Automatic scheduling and distribution of tests
• Automatic configuration of test resources:
• Hardware setup
• Software and test library configuration
• Deploy and configure test environment
• Provide a clean slate to run each test
• Fault-tolerance
• Run-time Scalability
• Status and Monitoring
• Low Maintenance
4
Dolphin and fortyTwo Collaboration
5
Dolphin Rack in Cluster
6
Test Station Layout
7
Dolphin Cluster
• Each cluster has one controller as master node
• Runs controller service program for job scheduling
• File server for storing test scripts and test logs
• Master location for all test libraries
• Multiple test stations acting as worker nodes
• a “Dolphinized” test station
• Running with Dolphin Agent program
• Has fixed set of HW, including at least:
• One type of communicator
• Single PG board / PG Simulator
• Controller and Workers are talking via RESTful web
service
8
Work Order Scheduling by Controller
• Periodic check each worker for HW/SW info
– Assign work order only to worker in healthy condition
• Assign work order to worker by matching HW/SW
– Worker Info is based on last scanned result
– Worker double checks HW/SW matching before execution
– Scheduling based on stale info will be returned for re-execution
• Redeploy test environment as needed
• Scheduling goal: keep every worker busy
• Result: Dramatic shortening job completion time
9
Dealing with failure
Worker :
– Failure Prevention
• Detect failure via periodic Self Test
• Auto garbage collection after each test run
• Enforce timeout limit on each test run
– Failure Recovery
• Reboot unresponsive devices, e.g. TTM
• Load PG and Communicator FW when failure
• Send work order back to Controller for re-execution
• Offline itself when failure cannot be recovered by itself
Controller Failure:
– Unlikely and didn’t happen in Dragon 1.0
– Auto-recover from connection lose, even power outage
10
Simple and Maintainable
• Test station (worker) baseline (rarely)
• Test libraries upgrade
– Install libraries on controller only
• PG and Communicator FW upgrade
– Just copy new FW to specific folder on controller
– New FW will be loaded into PG/Communicator automatically
• Hot swap failed hardware
• Offline individual station for trouble shooting
• Reconfigure a test station (worker) to different set of HW
• RESTful interface for monitoring cluster status
11
Performance: Results from Dragon 1.0
Regression/Test Management
# of test stations “Dolphinized” 19 + 1 offshore
# of dolphin workorders
completed
26,209
# of regression batches
submitted
581
# of tests run on the 8 fulltime
dolphin stations
17,778
Passing test rate on the 8
fulltime dolphin stations
53% (overall project) with
branded new test suite, test
libraries, com FW, Latitude.
# of hours of run time on the
fulltime dolphin stations
2946.88 (= 123 days, equivalent
to running non-stop from
September 1st until 2012)
Wall time to complete Formal
DVT Regressions (4 Rounds)
5 days 23 hours (including idle
time)
Passing test rate during first
Formal DVT Batch
78%
# of Automated Tests 1,169
12
Conclusions
• Dolphin has proven to be useful and effective
• Gaining popularity across functional departments
• Greatly simplifies large-scale test executions
• Dolphin makes running daily regression possible
• Fun to use: focus on testing, let infrastructure deal with
messy details
13

More Related Content

What's hot

Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK toolsHaribabu Nandyal Padmanaban
 
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
 
Free OpManager training Part 2 Monitoring Server Performance- season#3
Free OpManager training Part 2 Monitoring Server Performance- season#3Free OpManager training Part 2 Monitoring Server Performance- season#3
Free OpManager training Part 2 Monitoring Server Performance- season#3ManageEngine, Zoho Corporation
 
Performance testing using hp load runner
Performance testing using hp load runnerPerformance testing using hp load runner
Performance testing using hp load runnerReturn on Intelligence
 
Vysali - QC based framework
Vysali - QC based frameworkVysali - QC based framework
Vysali - QC based frameworkvodQA
 
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bbBb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bbMatthew Saltzman
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmetertest test
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...gree_tech
 
Season 4 [Free OpManager training] Part1- Discovery and classification
Season 4 [Free OpManager training] Part1- Discovery and classificationSeason 4 [Free OpManager training] Part1- Discovery and classification
Season 4 [Free OpManager training] Part1- Discovery and classificationManageEngine, Zoho Corporation
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion isummation
 
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...ManageEngine, Zoho Corporation
 
BlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeterRahul Sudame
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile AgeBlazeMeter
 

What's hot (20)

Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
 
Load testing
Load testingLoad testing
Load testing
 
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...
 
Sp automation with dsc
Sp automation with dscSp automation with dsc
Sp automation with dsc
 
Free OpManager training Part 2 Monitoring Server Performance- season#3
Free OpManager training Part 2 Monitoring Server Performance- season#3Free OpManager training Part 2 Monitoring Server Performance- season#3
Free OpManager training Part 2 Monitoring Server Performance- season#3
 
Performance testing using hp load runner
Performance testing using hp load runnerPerformance testing using hp load runner
Performance testing using hp load runner
 
Vysali - QC based framework
Vysali - QC based frameworkVysali - QC based framework
Vysali - QC based framework
 
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bbBb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
Bb world2014 powerpoint_security-automation-at-blackboard_saltzman_matthew_bb
 
Introduction to jmeter
Introduction to jmeterIntroduction to jmeter
Introduction to jmeter
 
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring InsightSplunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
 
Continuous Testing With Terraform
Continuous Testing With TerraformContinuous Testing With Terraform
Continuous Testing With Terraform
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
Season 4 [Free OpManager training] Part1- Discovery and classification
Season 4 [Free OpManager training] Part1- Discovery and classificationSeason 4 [Free OpManager training] Part1- Discovery and classification
Season 4 [Free OpManager training] Part1- Discovery and classification
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...
Network Configuration Manager Training - [Season 7] Part 1 - Configuration ba...
 
BlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance Reporting
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeter
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
 

Similar to Inside Dolphin Test Infrastructure

python_development.pptx
python_development.pptxpython_development.pptx
python_development.pptxLemonReddy1
 
Daniel dauwe ece 561 Trial 3
Daniel dauwe   ece 561 Trial 3Daniel dauwe   ece 561 Trial 3
Daniel dauwe ece 561 Trial 3cinedan
 
Daniel dauwe ece 561 Benchmarking Results
Daniel dauwe   ece 561 Benchmarking ResultsDaniel dauwe   ece 561 Benchmarking Results
Daniel dauwe ece 561 Benchmarking Resultscinedan
 
Daniel dauwe ece 561 Benchmarking Results Trial 2
Daniel dauwe   ece 561 Benchmarking Results Trial 2Daniel dauwe   ece 561 Benchmarking Results Trial 2
Daniel dauwe ece 561 Benchmarking Results Trial 2cinedan
 
Response time difference analysis of performance testing tools
Response time difference analysis of performance testing toolsResponse time difference analysis of performance testing tools
Response time difference analysis of performance testing toolsSpoorthi Sham
 
Functional Testing of RESTful Applications
Functional Testing of RESTful ApplicationsFunctional Testing of RESTful Applications
Functional Testing of RESTful ApplicationsNenad Bozic
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptxUiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptxRohit Radhakrishnan
 
[UC4] Version and Automate Everything
[UC4] Version and Automate Everything[UC4] Version and Automate Everything
[UC4] Version and Automate EverythingPerforce
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-conceptsMuhammad Ahad
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computingPalani murugan
 
Mt s12 test_execution
Mt s12 test_executionMt s12 test_execution
Mt s12 test_executionTestingGeeks
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetEdwin Biemond
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Failover-Apachecon-Asia-2022.pptx
Failover-Apachecon-Asia-2022.pptxFailover-Apachecon-Asia-2022.pptx
Failover-Apachecon-Asia-2022.pptxDavidKjerrumgaard1
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 

Similar to Inside Dolphin Test Infrastructure (20)

python_development.pptx
python_development.pptxpython_development.pptx
python_development.pptx
 
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...Real-World Load Testing of ADF Fusion Applications Demonstrated  - Oracle Ope...
Real-World Load Testing of ADF Fusion Applications Demonstrated - Oracle Ope...
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Good vs power automation frameworks
Good vs power automation frameworksGood vs power automation frameworks
Good vs power automation frameworks
 
Daniel dauwe ece 561 Trial 3
Daniel dauwe   ece 561 Trial 3Daniel dauwe   ece 561 Trial 3
Daniel dauwe ece 561 Trial 3
 
Daniel dauwe ece 561 Benchmarking Results
Daniel dauwe   ece 561 Benchmarking ResultsDaniel dauwe   ece 561 Benchmarking Results
Daniel dauwe ece 561 Benchmarking Results
 
Daniel dauwe ece 561 Benchmarking Results Trial 2
Daniel dauwe   ece 561 Benchmarking Results Trial 2Daniel dauwe   ece 561 Benchmarking Results Trial 2
Daniel dauwe ece 561 Benchmarking Results Trial 2
 
Response time difference analysis of performance testing tools
Response time difference analysis of performance testing toolsResponse time difference analysis of performance testing tools
Response time difference analysis of performance testing tools
 
Functional Testing of RESTful Applications
Functional Testing of RESTful ApplicationsFunctional Testing of RESTful Applications
Functional Testing of RESTful Applications
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptxUiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
 
[UC4] Version and Automate Everything
[UC4] Version and Automate Everything[UC4] Version and Automate Everything
[UC4] Version and Automate Everything
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-concepts
 
Kafka PPT.pptx
Kafka PPT.pptxKafka PPT.pptx
Kafka PPT.pptx
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
 
Mt s12 test_execution
Mt s12 test_executionMt s12 test_execution
Mt s12 test_execution
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Failover-Apachecon-Asia-2022.pptx
Failover-Apachecon-Asia-2022.pptxFailover-Apachecon-Asia-2022.pptx
Failover-Apachecon-Asia-2022.pptx
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Inside Dolphin Test Infrastructure

  • 1. Inside Dolphin Test Infrastructure for Dragon-Jaguar Tao Jiang http://www.linkedin.com/in/taojiang2000/
  • 2. Outline • Test Automation and Execution • Dolphin as a Test Execution Infrastructure • Results of using Dolphin in Dragon-Jaguar 1.0 2
  • 3. Challenges in Automated Test Execution • Lots of automated tests (1,169 in Dragon-Jaguar 1.0) • Each test may require a unique set of resources: – Hardware devices and equipment – Supporting software and test libraries – Test environment • Want to run tests non stop, unattended • Run tests on distributed test stations in parallel • Dealing with failure – Hardware/OS Failure – Misconfiguration in Software / Libraries – Misbehaving Test 3
  • 4. Dolphin: Testing Infrastructure • Automatic scheduling and distribution of tests • Automatic configuration of test resources: • Hardware setup • Software and test library configuration • Deploy and configure test environment • Provide a clean slate to run each test • Fault-tolerance • Run-time Scalability • Status and Monitoring • Low Maintenance 4
  • 5. Dolphin and fortyTwo Collaboration 5
  • 6. Dolphin Rack in Cluster 6
  • 8. Dolphin Cluster • Each cluster has one controller as master node • Runs controller service program for job scheduling • File server for storing test scripts and test logs • Master location for all test libraries • Multiple test stations acting as worker nodes • a “Dolphinized” test station • Running with Dolphin Agent program • Has fixed set of HW, including at least: • One type of communicator • Single PG board / PG Simulator • Controller and Workers are talking via RESTful web service 8
  • 9. Work Order Scheduling by Controller • Periodic check each worker for HW/SW info – Assign work order only to worker in healthy condition • Assign work order to worker by matching HW/SW – Worker Info is based on last scanned result – Worker double checks HW/SW matching before execution – Scheduling based on stale info will be returned for re-execution • Redeploy test environment as needed • Scheduling goal: keep every worker busy • Result: Dramatic shortening job completion time 9
  • 10. Dealing with failure Worker : – Failure Prevention • Detect failure via periodic Self Test • Auto garbage collection after each test run • Enforce timeout limit on each test run – Failure Recovery • Reboot unresponsive devices, e.g. TTM • Load PG and Communicator FW when failure • Send work order back to Controller for re-execution • Offline itself when failure cannot be recovered by itself Controller Failure: – Unlikely and didn’t happen in Dragon 1.0 – Auto-recover from connection lose, even power outage 10
  • 11. Simple and Maintainable • Test station (worker) baseline (rarely) • Test libraries upgrade – Install libraries on controller only • PG and Communicator FW upgrade – Just copy new FW to specific folder on controller – New FW will be loaded into PG/Communicator automatically • Hot swap failed hardware • Offline individual station for trouble shooting • Reconfigure a test station (worker) to different set of HW • RESTful interface for monitoring cluster status 11
  • 12. Performance: Results from Dragon 1.0 Regression/Test Management # of test stations “Dolphinized” 19 + 1 offshore # of dolphin workorders completed 26,209 # of regression batches submitted 581 # of tests run on the 8 fulltime dolphin stations 17,778 Passing test rate on the 8 fulltime dolphin stations 53% (overall project) with branded new test suite, test libraries, com FW, Latitude. # of hours of run time on the fulltime dolphin stations 2946.88 (= 123 days, equivalent to running non-stop from September 1st until 2012) Wall time to complete Formal DVT Regressions (4 Rounds) 5 days 23 hours (including idle time) Passing test rate during first Formal DVT Batch 78% # of Automated Tests 1,169 12
  • 13. Conclusions • Dolphin has proven to be useful and effective • Gaining popularity across functional departments • Greatly simplifies large-scale test executions • Dolphin makes running daily regression possible • Fun to use: focus on testing, let infrastructure deal with messy details 13

Editor's Notes

  1. Tao Jiang Software engineer at Latitude System Evaluation. Joined Guidant at 1997. One of the initial creators of Medusa. Worked on Software DVT for Prizm. PRM software development for Prizm AVT. PG firmware development for TR2. Then, worked for Cenco, Safran Group for 7 years and led the development of industry first SVG based data acquisition system for Jet engine testing. Worked for Teradyne on Protocol-Aware ATE project. Rejoined Boston Scientific at 2009, Creator of Panda and Dolphin.
  2. Prediction based on job scheduling. Resource requirement as a filter: HW Environment Clock Advancement Job must be scheduled sequentially Station Info is based on last scanned result. Wrong prediction will be returned.
  3. We are not living in a perfect world.
  4. The team size is only 1/3 as 6.0 and 7.0. The shortest Dry Run / Prep / Formal Test cycle ever - just 5 weeks! And ZERO DEFECTS!!!!!