SlideShare a Scribd company logo
1 of 16
The Impact of 
Test Ownership and Team Structure on 
Test Reliability and Effectiveness 
Kim Herzig, Nachiappan Nagappan
Improving Development Processes 
Quality / Risk 
$ 
Speed 
R 
Cost 
Development Environment 
(should be well balanced) 
Product / Service 
Microsoft aims for shorter release cycles 
โ€ข Speed up development processes (e.g. code velocity) 
โ€ข Maintaining / increasing product quality 
Empirical data to support & drive decisions 
Joint effort by MSR & product teams 
โ€ข MSR Cambridge: Brendan Murphy, Kim Herzig 
โ€ข MSR Redmond: Tom Zimmermann, Chris Bird, Nachiappan Nagappan 
โ€ข TSE Redmond: Jacek Czerwonka, Michaela Greiler 
โ€ข Windows, Windows Phone, Office, Dynamics product teams 
Technology 
changes 
Legacy 
changes 
New product 
features
A Simple Test Scenario 
Development branch 
๏‚ž Each developer runs โ€œhisโ€ tests 
๏‚ž Most tests check functional correctness 
๏‚ž Mostly pre-check-in verification 
๏‚ž Failures are isolated: no impact on other engineers
Letโ€™s go big: Complex Test Scenario for Windows 
Version Development Control Branch Tree 
Branch level 3 
Branch level 2 
Branch level 1 
Branch level 0 
branch 
Multi-area 
branch 
Multi-component 
branch 
main trunk 
branch 
Quality gate 
(component testing) 
Quality gate 
(component testing) 
Quality gate 
(component testing) 
โ€ข Developer have to pass quality gates (system tests) 
โ€ข Many tests check system constraints (e.g. compatibility or performance) 
โ€ข Failures not isolated (involve human inspections, causes development freeze for corresponding branch, etc.)
Test Effectiveness & Reliability 
Effectiveness 
Test suite effectivenesslow 
โ€ข Number of bugs found and fixes due to test failures (NumBugs) 
โ€ข We trace test failures to bug report to bug fixes. Using CODEMINE [1]. 
Reliability 
high 
High cost, 
unknown value 
โ€ข Bug detection ratio per test suite run (BugsPerExec) 
$$$$ 
High cost, 
low value 
$$$$ 
โ€ข Eliminates correlation to number of executions. 
โ€ข However, absolute number for more important as each defect might be cause a disaster. 
Test suite Low reliability 
cost, 
good value 
โ€ข Number of false test failures (FpPerExec) 
$$ 
Low cost, 
low value 
$ 
high low 
โ€ข Test failures due to any other reason than code defects, e.g. test and infrastructure issues. 
Test execution 
fails 
True positive 
failure 
False positive 
failure 
Mapped to 
bug report? 
yes 
Bug report 
fixed? 
yes 
Resolved via 
code change? 
yes 
no 
[1] Czerwonka, J., Nagappan, N., Schulte, W., and Murphy, B. CODEMINE: Building a Software Development Data Analytics Platform at Microsoft. Software, IEEE, 30, 4 (2013), 64--71.
Distributed Test Ownership 
Test sui te 
Test case 1 
Test case 2 
Test case 3 
Test case n 
Quality gates combine tests from different sources 
โ€ข Side effects between test cases 
โ€ข Limited synchronization over new tests and their interactions. 
Tests have impact on other teams 
โ€ข Engineers might not know what the test is doing 
โ€ข Low quality tests slow down product development 
Test evolve over time 
โ€ข Is the test still up-to-date? Can we remove it? 
โ€ข Who wrote the test and is that person still in our organization? 
โ€ข Who is maintaining the test right now? 
Ownership versus Responsibility: Engineers may own the test step but not the quality gate
Mapping Ownership to Organization Tree 
Test sui te 
Metric name Short description 
Number of contributors 
NumOwner The number of distinct engineers that own at least one test in the test suite. 
NumOwnerLeftOrg 
The number of distinct engineers that own at least one test in the test suite and that are no longer in 
the organizational structure of Microsoft (left the company). 
PCOwnerLeftOg 
The relative number of distinct developers that own at least one test case in the test suite but are no 
longer part of the organizational structure: ํ‘ํ‘ขํ‘šํ‘‚ํ‘›ํ‘คํ‘’ํ‘Ÿํฟํ‘’ํ‘“ํ‘กํถํ‘œํ‘šํ‘ํ‘œํ‘›ํ‘ฆ ํ‘ํ‘ขํ‘šํ‘‚ํ‘คํ‘›ํ‘’ํ‘Ÿ. 
Number of managers 
NumL2 
The number of level two (L2) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL3 
The number of level three (L3) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL4 
The number of level four (L4) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL5 
The number of level five (L5) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
HighestCommonManager 
The highest manager level (L3 > L2) whose sub-organization contains all engineers that own at least 
one test case of the test suite. 
Organizational communication paths 
LongestDevDistance 
The longest distance between two developers in the organizational sub-tree spanned by test 
contributors. The distance between two developers is measured by the length of the shortest path 
between the two corresponding organizational sub-tree vertices. 
MedianDevDistance 
The median of distances (length of shortest paths) between all pairs of developers contributing test 
content to a test suite. 
MeanDevDistance 
The mean of distances (length of shortest paths) between all pairs of developers contributing test 
content to a test suite. 
MeanPathLength The mean length of all paths between test owners. 
SizeOfLargestClique 
Number of vertices of organizational sub-graph such that any two test owners are connected via a 
single edge. 
Number of aliases 
NumAliasGroups 
The number of distinct mailing lists associated with test cases of the test suite. Does not include the 
number of system aliases (NumSystemAlias). 
MedianAliasGroupSize The median number of mailing list members referenced by mailing lists registered as test owners. 
NumSystemAlias 
The number of distinct aliases that point to a system aliasโ€”not to a mail distribution list. These 
aliases are real system accounts.
Mapping Ownership to Organization Tree 
Metric name Short description 
Number of contributors 
NumOwner The number of distinct engineers that own at least one test in the test suite. 
NumOwnerLeftOrg 
The number of distinct engineers that own at least one test in the test suite and that are no longer in 
the organizational structure of Microsoft (left the company). 
PCOwnerLeftOg 
The relative number of distinct developers that own at least one test case in the test suite but are no 
longer part of the organizational structure: ํ‘ํ‘ขํ‘šํ‘‚ํ‘›ํ‘คํ‘’ํ‘Ÿํฟํ‘’ํ‘“ํ‘กํถํ‘œํ‘šํ‘ํ‘œํ‘›ํ‘ฆ ํ‘ํ‘ขํ‘šํ‘‚ํ‘คํ‘›ํ‘’ํ‘Ÿ. 
Number of managers 
NumL2 
The number of level two (L2) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL3 
The number of level three (L3) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL4 
The number of level four (L4) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
NumL5 
The number of level five (L5) managers whose corresponding sub-trees contain all engineers that 
own at least one test case of the test suite. 
HighestCommonManager 
The highest manager level (L3 > L2) whose sub-organization contains all engineers that own at least 
one test case of the test suite. 
Organizational communication paths 
LongestDevDistance 
The longest distance between two developers in the organizational sub-tree spanned by test 
contributors. The distance between two developers is measured by the length of the shortest path 
between the two corresponding organizational sub-tree vertices. 
MedianDevDistance 
The median of distances (length of shortest paths) between all pairs of developers contributing test 
content to a test suite. 
MeanDevDistance 
The mean of distances (length of shortest paths) between all pairs of developers contributing test 
content to a test suite. 
MeanPathLength The mean length of all paths between test owners. 
SizeOfLargestClique 
Number of vertices of organizational sub-graph such that any two test owners are connected via a 
single edge. 
Number of aliases 
NumAliasGroups 
The number of distinct mailing lists associated with test cases of the test suite. Does not include the 
number of system aliases (NumSystemAlias). 
MedianAliasGroupSize The median number of mailing list members referenced by mailing lists registered as test owners. 
NumSystemAlias 
The number of distinct aliases that point to a system aliasโ€”not to a mail distribution list. These 
aliases are real system accounts.
Test Ownership 
Does organizational structure of test owners impact 
the effectiveness or reliability of tests? 
Similar: Distributed code ownership impacts code quality! 
Results for 8.1
Correlations 
Team ownership Scattered ownership 
More effective 
Less effective 
Less reliable
Correlations 
Test sui te 
? 
? 
Owners that left the company 
Less effective
Correlations 
Test sui te 
Few group owners 
Test sui te 
Multiple group owners 
More effective Less effective
Classification Models 
Classifying quality gates showing above-median effectiveness. 
Classifying quality gates showing above-median reliability. 
ํ‘ํ‘Ÿํ‘’ํ‘ํ‘–ํ‘ ํ‘–ํ‘œํ‘› = 
ํ‘Ÿํ‘’ํ‘ํ‘Žํ‘™ํ‘™ = 
100-cross-fold stratified random sampling. 
ํ‘‡ํ‘ƒ 
ํ‘‡ํ‘ƒ + ํนํ‘ƒ 
ํ‘‡ํ‘ƒ 
ํ‘‡ํ‘ƒ + ํนํ‘ 
Using multiple machine learners to rule out model over fitting.
Can we predict test effectiveness? 
Predicting the effectiveness of test suites with 
precision and recall values around 0.7.
Can we predict test reliability? 
Organizational structure metrics are 
excellent predictors for test suite reliability!
๏ Organizational metrics on test owners 
good predictors for test effectiveness! 
๏Organizational metrics on test owners 
excellent predictors for test reliability!

More Related Content

What's hot

ProspectusPresentationPrinterFriendly
ProspectusPresentationPrinterFriendlyProspectusPresentationPrinterFriendly
ProspectusPresentationPrinterFriendlymartijnetje
ย 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testingJorge Ortiz
ย 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
ย 
Justin Presentation PPT Upload
Justin Presentation PPT UploadJustin Presentation PPT Upload
Justin Presentation PPT Uploadtechweb08
ย 
Paper CS
Paper CSPaper CS
Paper CStechweb08
ย 
justin presentation slideshare1
justin presentation slideshare1justin presentation slideshare1
justin presentation slideshare1techweb08
ย 
Paper Ps
Paper PsPaper Ps
Paper Pstechweb08
ย 
Paper Ps
Paper PsPaper Ps
Paper Pstechweb08
ย 
alkatest7
alkatest7alkatest7
alkatest7techweb08
ย 
Paper Ps
Paper PsPaper Ps
Paper Pstechweb08
ย 
upload ppt by browse button
upload ppt by browse buttonupload ppt by browse button
upload ppt by browse buttontechweb08
ย 
alka ppt upload no code change
alka ppt upload no code changealka ppt upload no code change
alka ppt upload no code changetechweb08
ย 
justin presentation upload PPT june 19
justin presentation upload PPT june 19justin presentation upload PPT june 19
justin presentation upload PPT june 19techweb08
ย 
justin presentation upload PPT june 25 ADVANCED
justin presentation upload PPT june 25 ADVANCEDjustin presentation upload PPT june 25 ADVANCED
justin presentation upload PPT june 25 ADVANCEDtechweb08
ย 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...The University of Adelaide
ย 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Damian T. Gordon
ย 

What's hot (16)

ProspectusPresentationPrinterFriendly
ProspectusPresentationPrinterFriendlyProspectusPresentationPrinterFriendly
ProspectusPresentationPrinterFriendly
ย 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testing
ย 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
ย 
Justin Presentation PPT Upload
Justin Presentation PPT UploadJustin Presentation PPT Upload
Justin Presentation PPT Upload
ย 
Paper CS
Paper CSPaper CS
Paper CS
ย 
justin presentation slideshare1
justin presentation slideshare1justin presentation slideshare1
justin presentation slideshare1
ย 
Paper Ps
Paper PsPaper Ps
Paper Ps
ย 
Paper Ps
Paper PsPaper Ps
Paper Ps
ย 
alkatest7
alkatest7alkatest7
alkatest7
ย 
Paper Ps
Paper PsPaper Ps
Paper Ps
ย 
upload ppt by browse button
upload ppt by browse buttonupload ppt by browse button
upload ppt by browse button
ย 
alka ppt upload no code change
alka ppt upload no code changealka ppt upload no code change
alka ppt upload no code change
ย 
justin presentation upload PPT june 19
justin presentation upload PPT june 19justin presentation upload PPT june 19
justin presentation upload PPT june 19
ย 
justin presentation upload PPT june 25 ADVANCED
justin presentation upload PPT june 25 ADVANCEDjustin presentation upload PPT june 25 ADVANCED
justin presentation upload PPT june 25 ADVANCED
ย 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
ย 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
ย 

Similar to 52 - The Impact of Test Ownership and Team Structure on the Reliability and Effectiveness of Quality Test Runs

The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...Kim Herzig
ย 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSst. michael
ย 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20koolkampus
ย 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
ย 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
ย 
Test design techniques
Test design techniquesTest design techniques
Test design techniquesOksana
ย 
Software testing
Software testingSoftware testing
Software testingBala Ganesh
ย 
Unit testing
Unit testingUnit testing
Unit testingmedsherb
ย 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
ย 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
ย 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010TEST Huddle
ย 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
ย 
SWE-6 TESTING.pptx
SWE-6 TESTING.pptxSWE-6 TESTING.pptx
SWE-6 TESTING.pptxprashant821809
ย 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression OptimizerShradha Singh
ย 
justin for ppt1 by browse button
justin for ppt1 by browse buttonjustin for ppt1 by browse button
justin for ppt1 by browse buttontechweb08
ย 

Similar to 52 - The Impact of Test Ownership and Team Structure on the Reliability and Effectiveness of Quality Test Runs (20)

The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...The Impact of Test Ownership and Team Structure on the Reliability and Effect...
The Impact of Test Ownership and Team Structure on the Reliability and Effect...
ย 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
ย 
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
ย 
Software Testing
Software TestingSoftware Testing
Software Testing
ย 
Ch23
Ch23Ch23
Ch23
ย 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
ย 
Testing
TestingTesting
Testing
ย 
Test design techniques
Test design techniquesTest design techniques
Test design techniques
ย 
Software testing
Software testingSoftware testing
Software testing
ย 
Unit testing
Unit testingUnit testing
Unit testing
ย 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
ย 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
ย 
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
ย 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
ย 
Ch13
Ch13Ch13
Ch13
ย 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
ย 
SWE-6 TESTING.pptx
SWE-6 TESTING.pptxSWE-6 TESTING.pptx
SWE-6 TESTING.pptx
ย 
Software Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC ModelSoftware Testing (Contd..) SDLC Model
Software Testing (Contd..) SDLC Model
ย 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
ย 
justin for ppt1 by browse button
justin for ppt1 by browse buttonjustin for ppt1 by browse button
justin for ppt1 by browse button
ย 

More from ESEM 2014

Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...ESEM 2014
ย 
Keynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesKeynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesESEM 2014
ย 
33 - On Knowledge Transfer Skill in Pair Programming
33 - On Knowledge Transfer Skill in Pair Programming33 - On Knowledge Transfer Skill in Pair Programming
33 - On Knowledge Transfer Skill in Pair ProgrammingESEM 2014
ย 
222 - Design Pattern Decay: The Case for Class Grime
222 - Design Pattern Decay: The Case for Class Grime222 - Design Pattern Decay: The Case for Class Grime
222 - Design Pattern Decay: The Case for Class GrimeESEM 2014
ย 
210 - Software Population Pyramids: The Current and the Future of OSS Develop...
210 - Software Population Pyramids: The Current and the Future of OSS Develop...210 - Software Population Pyramids: The Current and the Future of OSS Develop...
210 - Software Population Pyramids: The Current and the Future of OSS Develop...ESEM 2014
ย 
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...ESEM 2014
ย 
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
196  - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...196  - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...ESEM 2014
ย 
42- Using Templates to Elicit Implied Security Requirements from Functional R...
42- Using Templates to Elicit Implied Security Requirements from Functional R...42- Using Templates to Elicit Implied Security Requirements from Functional R...
42- Using Templates to Elicit Implied Security Requirements from Functional R...ESEM 2014
ย 
166 - ISBSG variables most frequently used for software effort estimation: A ...
166 - ISBSG variables most frequently used for software effort estimation: A ...166 - ISBSG variables most frequently used for software effort estimation: A ...
166 - ISBSG variables most frequently used for software effort estimation: A ...ESEM 2014
ย 
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...ESEM 2014
ย 
224 - Factors Impacting Rapid Releases: An Industrial Case Study
224 - Factors Impacting Rapid Releases: An Industrial Case Study224 - Factors Impacting Rapid Releases: An Industrial Case Study
224 - Factors Impacting Rapid Releases: An Industrial Case StudyESEM 2014
ย 
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...ESEM 2014
ย 
214 - Sampling Improvement in Software Engineering Surveys
214 - Sampling Improvement in Software Engineering Surveys214 - Sampling Improvement in Software Engineering Surveys
214 - Sampling Improvement in Software Engineering SurveysESEM 2014
ย 
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...ESEM 2014
ย 
130 - Motivated software engineers are engaged and focused, while satisfied o...
130 - Motivated software engineers are engaged and focused, while satisfied o...130 - Motivated software engineers are engaged and focused, while satisfied o...
130 - Motivated software engineers are engaged and focused, while satisfied o...ESEM 2014
ย 
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...ESEM 2014
ย 
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...ESEM 2014
ย 
18 - Impact of Process Conformance on the Effects of Test-driven Development
18 - Impact of Process Conformance on the Effects of Test-driven Development18 - Impact of Process Conformance on the Effects of Test-driven Development
18 - Impact of Process Conformance on the Effects of Test-driven DevelopmentESEM 2014
ย 
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...ESEM 2014
ย 
167 - Productivity for proof engineering
167 - Productivity for proof engineering167 - Productivity for proof engineering
167 - Productivity for proof engineeringESEM 2014
ย 

More from ESEM 2014 (20)

Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
Keynote 2 - The 20% of software engineering practices that contribute to 80% ...
ย 
Keynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics StudiesKeynote 1 - Engineering Software Analytics Studies
Keynote 1 - Engineering Software Analytics Studies
ย 
33 - On Knowledge Transfer Skill in Pair Programming
33 - On Knowledge Transfer Skill in Pair Programming33 - On Knowledge Transfer Skill in Pair Programming
33 - On Knowledge Transfer Skill in Pair Programming
ย 
222 - Design Pattern Decay: The Case for Class Grime
222 - Design Pattern Decay: The Case for Class Grime222 - Design Pattern Decay: The Case for Class Grime
222 - Design Pattern Decay: The Case for Class Grime
ย 
210 - Software Population Pyramids: The Current and the Future of OSS Develop...
210 - Software Population Pyramids: The Current and the Future of OSS Develop...210 - Software Population Pyramids: The Current and the Future of OSS Develop...
210 - Software Population Pyramids: The Current and the Future of OSS Develop...
ย 
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
169 - Bridging the Gap: SE Technology Transfer into Practice - Study Design a...
ย 
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
196  - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...196  - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
196 - Evaluation in Practice: Artifact-based Requirements Engineering and Sc...
ย 
42- Using Templates to Elicit Implied Security Requirements from Functional R...
42- Using Templates to Elicit Implied Security Requirements from Functional R...42- Using Templates to Elicit Implied Security Requirements from Functional R...
42- Using Templates to Elicit Implied Security Requirements from Functional R...
ย 
166 - ISBSG variables most frequently used for software effort estimation: A ...
166 - ISBSG variables most frequently used for software effort estimation: A ...166 - ISBSG variables most frequently used for software effort estimation: A ...
166 - ISBSG variables most frequently used for software effort estimation: A ...
ย 
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
112 - The Role of Mentoring and Project Characteristics for Onboarding in Ope...
ย 
224 - Factors Impacting Rapid Releases: An Industrial Case Study
224 - Factors Impacting Rapid Releases: An Industrial Case Study224 - Factors Impacting Rapid Releases: An Industrial Case Study
224 - Factors Impacting Rapid Releases: An Industrial Case Study
ย 
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
215 Towards a Framework to Support Large Scale Sampling in Software Engineeri...
ย 
214 - Sampling Improvement in Software Engineering Surveys
214 - Sampling Improvement in Software Engineering Surveys214 - Sampling Improvement in Software Engineering Surveys
214 - Sampling Improvement in Software Engineering Surveys
ย 
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
ย 
130 - Motivated software engineers are engaged and focused, while satisfied o...
130 - Motivated software engineers are engaged and focused, while satisfied o...130 - Motivated software engineers are engaged and focused, while satisfied o...
130 - Motivated software engineers are engaged and focused, while satisfied o...
ย 
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
178 - A replicated study on duplicate detection: Using Apache Lucene to searc...
ย 
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
124 - Impact of Developer Reputation on Code Review Outcomes in OSS Projects:...
ย 
18 - Impact of Process Conformance on the Effects of Test-driven Development
18 - Impact of Process Conformance on the Effects of Test-driven Development18 - Impact of Process Conformance on the Effects of Test-driven Development
18 - Impact of Process Conformance on the Effects of Test-driven Development
ย 
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
65 - An Empirical Simulation-based Study of Real-Time Speech Translation for ...
ย 
167 - Productivity for proof engineering
167 - Productivity for proof engineering167 - Productivity for proof engineering
167 - Productivity for proof engineering
ย 

Recently uploaded

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
ย 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
ย 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
ย 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy Lรณpez
ย 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
ย 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
ย 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
ย 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
ย 
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...OnePlan Solutions
ย 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
ย 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
ย 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
ย 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
ย 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
ย 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
ย 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
ย 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
ย 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
ย 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
ย 

Recently uploaded (20)

Hot Sexy call girls in Patel Nagar๐Ÿ” 9953056974 ๐Ÿ” escort Service
Hot Sexy call girls in Patel Nagar๐Ÿ” 9953056974 ๐Ÿ” escort ServiceHot Sexy call girls in Patel Nagar๐Ÿ” 9953056974 ๐Ÿ” escort Service
Hot Sexy call girls in Patel Nagar๐Ÿ” 9953056974 ๐Ÿ” escort Service
ย 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
ย 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
ย 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
ย 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
ย 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
ย 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
ย 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
ย 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
ย 
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...
Maximizing Efficiency and Profitability with OnePlanโ€™s Professional Service A...
ย 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
ย 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
ย 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
ย 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
ย 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
ย 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
ย 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
ย 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
ย 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
ย 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
ย 

52 - The Impact of Test Ownership and Team Structure on the Reliability and Effectiveness of Quality Test Runs

  • 1. The Impact of Test Ownership and Team Structure on Test Reliability and Effectiveness Kim Herzig, Nachiappan Nagappan
  • 2. Improving Development Processes Quality / Risk $ Speed R Cost Development Environment (should be well balanced) Product / Service Microsoft aims for shorter release cycles โ€ข Speed up development processes (e.g. code velocity) โ€ข Maintaining / increasing product quality Empirical data to support & drive decisions Joint effort by MSR & product teams โ€ข MSR Cambridge: Brendan Murphy, Kim Herzig โ€ข MSR Redmond: Tom Zimmermann, Chris Bird, Nachiappan Nagappan โ€ข TSE Redmond: Jacek Czerwonka, Michaela Greiler โ€ข Windows, Windows Phone, Office, Dynamics product teams Technology changes Legacy changes New product features
  • 3. A Simple Test Scenario Development branch ๏‚ž Each developer runs โ€œhisโ€ tests ๏‚ž Most tests check functional correctness ๏‚ž Mostly pre-check-in verification ๏‚ž Failures are isolated: no impact on other engineers
  • 4. Letโ€™s go big: Complex Test Scenario for Windows Version Development Control Branch Tree Branch level 3 Branch level 2 Branch level 1 Branch level 0 branch Multi-area branch Multi-component branch main trunk branch Quality gate (component testing) Quality gate (component testing) Quality gate (component testing) โ€ข Developer have to pass quality gates (system tests) โ€ข Many tests check system constraints (e.g. compatibility or performance) โ€ข Failures not isolated (involve human inspections, causes development freeze for corresponding branch, etc.)
  • 5. Test Effectiveness & Reliability Effectiveness Test suite effectivenesslow โ€ข Number of bugs found and fixes due to test failures (NumBugs) โ€ข We trace test failures to bug report to bug fixes. Using CODEMINE [1]. Reliability high High cost, unknown value โ€ข Bug detection ratio per test suite run (BugsPerExec) $$$$ High cost, low value $$$$ โ€ข Eliminates correlation to number of executions. โ€ข However, absolute number for more important as each defect might be cause a disaster. Test suite Low reliability cost, good value โ€ข Number of false test failures (FpPerExec) $$ Low cost, low value $ high low โ€ข Test failures due to any other reason than code defects, e.g. test and infrastructure issues. Test execution fails True positive failure False positive failure Mapped to bug report? yes Bug report fixed? yes Resolved via code change? yes no [1] Czerwonka, J., Nagappan, N., Schulte, W., and Murphy, B. CODEMINE: Building a Software Development Data Analytics Platform at Microsoft. Software, IEEE, 30, 4 (2013), 64--71.
  • 6. Distributed Test Ownership Test sui te Test case 1 Test case 2 Test case 3 Test case n Quality gates combine tests from different sources โ€ข Side effects between test cases โ€ข Limited synchronization over new tests and their interactions. Tests have impact on other teams โ€ข Engineers might not know what the test is doing โ€ข Low quality tests slow down product development Test evolve over time โ€ข Is the test still up-to-date? Can we remove it? โ€ข Who wrote the test and is that person still in our organization? โ€ข Who is maintaining the test right now? Ownership versus Responsibility: Engineers may own the test step but not the quality gate
  • 7. Mapping Ownership to Organization Tree Test sui te Metric name Short description Number of contributors NumOwner The number of distinct engineers that own at least one test in the test suite. NumOwnerLeftOrg The number of distinct engineers that own at least one test in the test suite and that are no longer in the organizational structure of Microsoft (left the company). PCOwnerLeftOg The relative number of distinct developers that own at least one test case in the test suite but are no longer part of the organizational structure: ํ‘ํ‘ขํ‘šํ‘‚ํ‘›ํ‘คํ‘’ํ‘Ÿํฟํ‘’ํ‘“ํ‘กํถํ‘œํ‘šํ‘ํ‘œํ‘›ํ‘ฆ ํ‘ํ‘ขํ‘šํ‘‚ํ‘คํ‘›ํ‘’ํ‘Ÿ. Number of managers NumL2 The number of level two (L2) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL3 The number of level three (L3) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL4 The number of level four (L4) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL5 The number of level five (L5) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. HighestCommonManager The highest manager level (L3 > L2) whose sub-organization contains all engineers that own at least one test case of the test suite. Organizational communication paths LongestDevDistance The longest distance between two developers in the organizational sub-tree spanned by test contributors. The distance between two developers is measured by the length of the shortest path between the two corresponding organizational sub-tree vertices. MedianDevDistance The median of distances (length of shortest paths) between all pairs of developers contributing test content to a test suite. MeanDevDistance The mean of distances (length of shortest paths) between all pairs of developers contributing test content to a test suite. MeanPathLength The mean length of all paths between test owners. SizeOfLargestClique Number of vertices of organizational sub-graph such that any two test owners are connected via a single edge. Number of aliases NumAliasGroups The number of distinct mailing lists associated with test cases of the test suite. Does not include the number of system aliases (NumSystemAlias). MedianAliasGroupSize The median number of mailing list members referenced by mailing lists registered as test owners. NumSystemAlias The number of distinct aliases that point to a system aliasโ€”not to a mail distribution list. These aliases are real system accounts.
  • 8. Mapping Ownership to Organization Tree Metric name Short description Number of contributors NumOwner The number of distinct engineers that own at least one test in the test suite. NumOwnerLeftOrg The number of distinct engineers that own at least one test in the test suite and that are no longer in the organizational structure of Microsoft (left the company). PCOwnerLeftOg The relative number of distinct developers that own at least one test case in the test suite but are no longer part of the organizational structure: ํ‘ํ‘ขํ‘šํ‘‚ํ‘›ํ‘คํ‘’ํ‘Ÿํฟํ‘’ํ‘“ํ‘กํถํ‘œํ‘šํ‘ํ‘œํ‘›ํ‘ฆ ํ‘ํ‘ขํ‘šํ‘‚ํ‘คํ‘›ํ‘’ํ‘Ÿ. Number of managers NumL2 The number of level two (L2) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL3 The number of level three (L3) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL4 The number of level four (L4) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. NumL5 The number of level five (L5) managers whose corresponding sub-trees contain all engineers that own at least one test case of the test suite. HighestCommonManager The highest manager level (L3 > L2) whose sub-organization contains all engineers that own at least one test case of the test suite. Organizational communication paths LongestDevDistance The longest distance between two developers in the organizational sub-tree spanned by test contributors. The distance between two developers is measured by the length of the shortest path between the two corresponding organizational sub-tree vertices. MedianDevDistance The median of distances (length of shortest paths) between all pairs of developers contributing test content to a test suite. MeanDevDistance The mean of distances (length of shortest paths) between all pairs of developers contributing test content to a test suite. MeanPathLength The mean length of all paths between test owners. SizeOfLargestClique Number of vertices of organizational sub-graph such that any two test owners are connected via a single edge. Number of aliases NumAliasGroups The number of distinct mailing lists associated with test cases of the test suite. Does not include the number of system aliases (NumSystemAlias). MedianAliasGroupSize The median number of mailing list members referenced by mailing lists registered as test owners. NumSystemAlias The number of distinct aliases that point to a system aliasโ€”not to a mail distribution list. These aliases are real system accounts.
  • 9. Test Ownership Does organizational structure of test owners impact the effectiveness or reliability of tests? Similar: Distributed code ownership impacts code quality! Results for 8.1
  • 10. Correlations Team ownership Scattered ownership More effective Less effective Less reliable
  • 11. Correlations Test sui te ? ? Owners that left the company Less effective
  • 12. Correlations Test sui te Few group owners Test sui te Multiple group owners More effective Less effective
  • 13. Classification Models Classifying quality gates showing above-median effectiveness. Classifying quality gates showing above-median reliability. ํ‘ํ‘Ÿํ‘’ํ‘ํ‘–ํ‘ ํ‘–ํ‘œํ‘› = ํ‘Ÿํ‘’ํ‘ํ‘Žํ‘™ํ‘™ = 100-cross-fold stratified random sampling. ํ‘‡ํ‘ƒ ํ‘‡ํ‘ƒ + ํนํ‘ƒ ํ‘‡ํ‘ƒ ํ‘‡ํ‘ƒ + ํนํ‘ Using multiple machine learners to rule out model over fitting.
  • 14. Can we predict test effectiveness? Predicting the effectiveness of test suites with precision and recall values around 0.7.
  • 15. Can we predict test reliability? Organizational structure metrics are excellent predictors for test suite reliability!
  • 16. ๏ Organizational metrics on test owners good predictors for test effectiveness! ๏Organizational metrics on test owners excellent predictors for test reliability!

Editor's Notes

  1. Results for Windows 8