SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
25 – August – 16
Test Selection
with Moose In Industry:
Impact of Granularity
Vincent Blondeau
Vincent Blondeau | 25 - August - 16 | 2
Context
▶ Industrial PhD in a major international IT company
–  +7 000 employees
–  17 countries
–  Problems from the field
Vincent Blondeau | 25 - August - 16 | 3
Test Case Selection After a Change
?
Test All
Takes a long time
(3 hours)
Test Nothing
Not a solution
Vincent Blondeau | 25 - August - 16 | 4
Test Case Selection After a Change
▶ Question
–  Does test selection modify developers’ habits and
enhance software quality?
▶ Goal
–  Save time and improve quality
–  Select tests to relaunch after a change in the source
code
–  Any kind of test: End to end, performance…
▶ Comparison of approaches on real changes
–  Call graph analysis by static approach
–  Comparison with dynamic approach
Vincent Blondeau | 25 - August - 16 | 5
Two approaches
▶ Static Approach
–  Create a model of the system with Moose
–  Navigate the call graph from a changed source code
to find the tests
Properties
–  Allows to find multiple tracks to the changed source
–  No test execution
Vincent Blondeau | 25 - August - 16 | 6
Two approaches
▶ Dynamic Approach
–  Execute the tests
•  Map the tests to the covered code
–  Relaunch the tests related to changed source code
Properties
–  Dependent to the test data
–  The tests have to be executed
Vincent Blondeau | 25 - August - 16 | 7
Issue Classification
▶ Problems in test selection approaches arise when
there is a break in the dependency graph representing
the system.
–  Third-party breaks
–  Multi-program breaks
–  Dynamic breaks
–  Polymorphism breaks
Vincent Blondeau | 25 - August - 16 | 8
Experiment
▶ Hypothesis: Dynamic approach is the oracle
–  With some flaws:
•  Does not work on failing or in error tests
•  Requires time to be performed
▶ Approach
–  Compare influence of real source code changes
–  Simulate code change on several existing projects
Vincent Blondeau | 25 - August - 16 | 9
Experiment
▶ Consider real commits by mining repositories
–  Weight each covered method by the number of
commits
–  Group covered methods in commits
•  Considered real method commit groups
Vincent Blondeau | 25 - August - 16 | 10
Projects: Metrics
Metric P1 P2 P3
KLOC Core 447 716 302
# Green Tests 5 323 168 3 035
# Total Methods 9 808 56 661 45 671
# Methods Covered
4720
(48%)
3 261
(6%)
8 143
(18%)
#Commits 2 217 467 2 115
Avg Methods/Commit 24 129 37
Avg Files/Commit 7 18 17
Vincent Blondeau | 25 - August - 16 | 11
Metrics
▶ Number of selected tests
–  Ratio of the total test suite to relaunch
▶ Precision
–  How many selected tests are relevant?
▶ Recall
–  How many relevant tests are selected?
Vincent Blondeau | 25 - August - 16 | 12
#Selected Tests Precision Recall
1 Meth. Weig. 1 Meth. Weig. 1 Meth. Weig.
P1 3% 3%
43%
42% 91%
92%
P2 0.8%
1% 61% 64%
59% 62%
P3 2% 2%
34% 41%
39%33%
Weighting of methods with the
number of commits
Vincent Blondeau | 25 - August - 16 | 13
#Selected Tests Precision Recall
1 Meth. Commit 1 Meth. Commit 1 Meth. Commit
P1
3%
4%
43%
55% 91%
81%
P2
0.8%
3% 61% 64%
45% 45%
P3
2%
6% 49%
41%
56%
34%
Methods grouped in commits
Vincent Blondeau | 25 - August - 16 | 14
Conclusion
▶ Considering commits instead of individual methods
tends to worsen the results
▶ Impact on projects is different
▶ Low ratio of selected tests, so still acceptable
Future steps
▶ Better understand how tests are used by developers
▶ Provide a tool for developers to select tests
Worldline is a registered trademark of Atos Worldline SAS. June 2013
© 2013 Atos. Confidential information owned by Atos Worldline, to be
used by the recipient only. This document, or any part of it, may not
be reproduced, copied, circulated and/or distributed nor quoted
without prior written approval from Atos Worldline.
25-August-16
Thanks!

Mais conteúdo relacionado

Mais procurados

Assessment 3 descriptor
Assessment 3 descriptorAssessment 3 descriptor
Assessment 3 descriptor
Praneel Chand
 
Advanced Features of Selenium Automated Web Testing
Advanced Features of Selenium Automated Web TestingAdvanced Features of Selenium Automated Web Testing
Advanced Features of Selenium Automated Web Testing
Michael Hughes
 
Implementing Outcome Budget_Key Concepts_20Feb
Implementing Outcome Budget_Key Concepts_20FebImplementing Outcome Budget_Key Concepts_20Feb
Implementing Outcome Budget_Key Concepts_20Feb
Anant Mittal
 

Mais procurados (14)

Test Progress Monitoring and Control
Test Progress Monitoring and ControlTest Progress Monitoring and Control
Test Progress Monitoring and Control
 
Metrics
MetricsMetrics
Metrics
 
Report_Card March 2016
Report_Card March 2016Report_Card March 2016
Report_Card March 2016
 
ICST/NEXTA2020: Experience Report on Test Automation Process Improvement
ICST/NEXTA2020: Experience Report on Test Automation Process ImprovementICST/NEXTA2020: Experience Report on Test Automation Process Improvement
ICST/NEXTA2020: Experience Report on Test Automation Process Improvement
 
Combining Requirements Engineering and Testing, QA&TEST Bilbao 2013
Combining Requirements Engineering and Testing, QA&TEST Bilbao 2013Combining Requirements Engineering and Testing, QA&TEST Bilbao 2013
Combining Requirements Engineering and Testing, QA&TEST Bilbao 2013
 
Comparison Of Pre And Post Assessments Astronomy
Comparison Of Pre And Post Assessments AstronomyComparison Of Pre And Post Assessments Astronomy
Comparison Of Pre And Post Assessments Astronomy
 
Test automation implementation strategy
Test automation implementation strategy Test automation implementation strategy
Test automation implementation strategy
 
Assessment 3 descriptor
Assessment 3 descriptorAssessment 3 descriptor
Assessment 3 descriptor
 
An overview of management & law
An overview of management & lawAn overview of management & law
An overview of management & law
 
Report_Card September
Report_Card SeptemberReport_Card September
Report_Card September
 
Advanced Features of Selenium Automated Web Testing
Advanced Features of Selenium Automated Web TestingAdvanced Features of Selenium Automated Web Testing
Advanced Features of Selenium Automated Web Testing
 
Report_Card October 2015
Report_Card October 2015Report_Card October 2015
Report_Card October 2015
 
Implementing Outcome Budget_Key Concepts_20Feb
Implementing Outcome Budget_Key Concepts_20FebImplementing Outcome Budget_Key Concepts_20Feb
Implementing Outcome Budget_Key Concepts_20Feb
 
Report_Card 1st Qtr 2016
Report_Card  1st Qtr 2016Report_Card  1st Qtr 2016
Report_Card 1st Qtr 2016
 

Destaque

New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudioNew Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
ESUG
 
Tugrik: A new persistence option for Pharo
Tugrik: A new persistence option for PharoTugrik: A new persistence option for Pharo
Tugrik: A new persistence option for Pharo
ESUG
 

Destaque (8)

Bloc: a Modern Core for Highly Dynamic Graphics
Bloc: a Modern Core for Highly Dynamic Graphics Bloc: a Modern Core for Highly Dynamic Graphics
Bloc: a Modern Core for Highly Dynamic Graphics
 
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudioNew Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
New Native Windows UI possibilities in Cincom Smalltalk ObjectStudio
 
Prototyping Software Product Lines analysis with Pharo
Prototyping Software Product Lines analysis with PharoPrototyping Software Product Lines analysis with Pharo
Prototyping Software Product Lines analysis with Pharo
 
Tugrik: A new persistence option for Pharo
Tugrik: A new persistence option for PharoTugrik: A new persistence option for Pharo
Tugrik: A new persistence option for Pharo
 
Pillar: one language for all supports
Pillar: one language for all supportsPillar: one language for all supports
Pillar: one language for all supports
 
The Glamorous Toolkit: Towards a novel live IDE
The Glamorous Toolkit: Towards a novel live IDEThe Glamorous Toolkit: Towards a novel live IDE
The Glamorous Toolkit: Towards a novel live IDE
 
Lub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented ProgrammingLub: a DSL for Dynamic Context Oriented Programming
Lub: a DSL for Dynamic Context Oriented Programming
 
seamless – Object Oriented CMS System
seamless – Object Oriented CMS Systemseamless – Object Oriented CMS System
seamless – Object Oriented CMS System
 

Semelhante a Test Selection with Moose In Industry - Impact of Granularity

Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
PMI2011
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
PMI_IREP_TP
 
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
Leonardo ENERGY
 
ARF foq2 Day Router Presentation
ARF foq2 Day Router Presentation ARF foq2 Day Router Presentation
ARF foq2 Day Router Presentation
Federated Sample
 

Semelhante a Test Selection with Moose In Industry - Impact of Granularity (20)

business review
business reviewbusiness review
business review
 
Analysis of food and drinks manufacturing companies
Analysis of food and drinks manufacturing companiesAnalysis of food and drinks manufacturing companies
Analysis of food and drinks manufacturing companies
 
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
Day 1   1620 - 1705 - maple - pranabendu bhattacharyyaDay 1   1620 - 1705 - maple - pranabendu bhattacharyya
Day 1 1620 - 1705 - maple - pranabendu bhattacharyya
 
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
Day1 1620-1705-maple-pranabendubhattacharyya-131008043643-phpapp02
 
Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
 Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ... Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
Use the Windshield, Not the Mirror Predictive Metrics that Drive Successful ...
 
A Framework for Sustainability Assessment Technologies(SAT)
A Framework for Sustainability Assessment Technologies(SAT)A Framework for Sustainability Assessment Technologies(SAT)
A Framework for Sustainability Assessment Technologies(SAT)
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
Towards a systems approach in Ecodesign and Energy Labelling: How to make the...
 
ARF foq2 Day Router Presentation
ARF foq2 Day Router Presentation ARF foq2 Day Router Presentation
ARF foq2 Day Router Presentation
 
Making Right Choices: Sustainability Assessment of Technologies
Making Right Choices: Sustainability Assessment of TechnologiesMaking Right Choices: Sustainability Assessment of Technologies
Making Right Choices: Sustainability Assessment of Technologies
 
Performance Testing in the Agile Lifecycle
Performance Testing in the Agile LifecyclePerformance Testing in the Agile Lifecycle
Performance Testing in the Agile Lifecycle
 
PEX Week: iDatix Workshop Part 3
PEX Week: iDatix Workshop Part 3PEX Week: iDatix Workshop Part 3
PEX Week: iDatix Workshop Part 3
 
White paper on Quality by Design
White paper on Quality by DesignWhite paper on Quality by Design
White paper on Quality by Design
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
ISTQBCH2.ppt
ISTQBCH2.pptISTQBCH2.ppt
ISTQBCH2.ppt
 
Prototyping
PrototypingPrototyping
Prototyping
 
Ph.D. Research Update: Year#3 Annual Progress and Planned Activities
Ph.D. Research Update: Year#3 Annual Progress and Planned ActivitiesPh.D. Research Update: Year#3 Annual Progress and Planned Activities
Ph.D. Research Update: Year#3 Annual Progress and Planned Activities
 
Software metrics to predict the health of a project? - An assessment in a maj...
Software metrics to predict the health of a project? - An assessment in a maj...Software metrics to predict the health of a project? - An assessment in a maj...
Software metrics to predict the health of a project? - An assessment in a maj...
 
Sqcm
SqcmSqcm
Sqcm
 
Toolsusa01.ppt
Toolsusa01.pptToolsusa01.ppt
Toolsusa01.ppt
 

Mais de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Mais de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Último (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Test Selection with Moose In Industry - Impact of Granularity

  • 1. 25 – August – 16 Test Selection with Moose In Industry: Impact of Granularity Vincent Blondeau
  • 2. Vincent Blondeau | 25 - August - 16 | 2 Context ▶ Industrial PhD in a major international IT company –  +7 000 employees –  17 countries –  Problems from the field
  • 3. Vincent Blondeau | 25 - August - 16 | 3 Test Case Selection After a Change ? Test All Takes a long time (3 hours) Test Nothing Not a solution
  • 4. Vincent Blondeau | 25 - August - 16 | 4 Test Case Selection After a Change ▶ Question –  Does test selection modify developers’ habits and enhance software quality? ▶ Goal –  Save time and improve quality –  Select tests to relaunch after a change in the source code –  Any kind of test: End to end, performance… ▶ Comparison of approaches on real changes –  Call graph analysis by static approach –  Comparison with dynamic approach
  • 5. Vincent Blondeau | 25 - August - 16 | 5 Two approaches ▶ Static Approach –  Create a model of the system with Moose –  Navigate the call graph from a changed source code to find the tests Properties –  Allows to find multiple tracks to the changed source –  No test execution
  • 6. Vincent Blondeau | 25 - August - 16 | 6 Two approaches ▶ Dynamic Approach –  Execute the tests •  Map the tests to the covered code –  Relaunch the tests related to changed source code Properties –  Dependent to the test data –  The tests have to be executed
  • 7. Vincent Blondeau | 25 - August - 16 | 7 Issue Classification ▶ Problems in test selection approaches arise when there is a break in the dependency graph representing the system. –  Third-party breaks –  Multi-program breaks –  Dynamic breaks –  Polymorphism breaks
  • 8. Vincent Blondeau | 25 - August - 16 | 8 Experiment ▶ Hypothesis: Dynamic approach is the oracle –  With some flaws: •  Does not work on failing or in error tests •  Requires time to be performed ▶ Approach –  Compare influence of real source code changes –  Simulate code change on several existing projects
  • 9. Vincent Blondeau | 25 - August - 16 | 9 Experiment ▶ Consider real commits by mining repositories –  Weight each covered method by the number of commits –  Group covered methods in commits •  Considered real method commit groups
  • 10. Vincent Blondeau | 25 - August - 16 | 10 Projects: Metrics Metric P1 P2 P3 KLOC Core 447 716 302 # Green Tests 5 323 168 3 035 # Total Methods 9 808 56 661 45 671 # Methods Covered 4720 (48%) 3 261 (6%) 8 143 (18%) #Commits 2 217 467 2 115 Avg Methods/Commit 24 129 37 Avg Files/Commit 7 18 17
  • 11. Vincent Blondeau | 25 - August - 16 | 11 Metrics ▶ Number of selected tests –  Ratio of the total test suite to relaunch ▶ Precision –  How many selected tests are relevant? ▶ Recall –  How many relevant tests are selected?
  • 12. Vincent Blondeau | 25 - August - 16 | 12 #Selected Tests Precision Recall 1 Meth. Weig. 1 Meth. Weig. 1 Meth. Weig. P1 3% 3% 43% 42% 91% 92% P2 0.8% 1% 61% 64% 59% 62% P3 2% 2% 34% 41% 39%33% Weighting of methods with the number of commits
  • 13. Vincent Blondeau | 25 - August - 16 | 13 #Selected Tests Precision Recall 1 Meth. Commit 1 Meth. Commit 1 Meth. Commit P1 3% 4% 43% 55% 91% 81% P2 0.8% 3% 61% 64% 45% 45% P3 2% 6% 49% 41% 56% 34% Methods grouped in commits
  • 14. Vincent Blondeau | 25 - August - 16 | 14 Conclusion ▶ Considering commits instead of individual methods tends to worsen the results ▶ Impact on projects is different ▶ Low ratio of selected tests, so still acceptable Future steps ▶ Better understand how tests are used by developers ▶ Provide a tool for developers to select tests
  • 15. Worldline is a registered trademark of Atos Worldline SAS. June 2013 © 2013 Atos. Confidential information owned by Atos Worldline, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted without prior written approval from Atos Worldline. 25-August-16 Thanks!