SlideShare a Scribd company logo
1 of 69
Download to read offline
Free QA!
David Golden
dagolden@cpan.org
www.dagolden.com
OSCON ▪ July 22, 2010
Free as in beer
Free as in speech
Quality
+
Assurance
Quality is an ideal
Quality Assurance is
what you can measure
CPAN Testers is Free QA for CPAN
The objective of the group is to test
as many of the distributions on CPAN as
possible, on as many platforms as possible.
The ultimate goal is to improve the
portability of the distributions on CPAN,
and provide good feedback to the authors.
CPAN is 15 years young
~135,000 uploads from ~5000 authors
~23,000 unique libraries uploaded
~21,000 active libraries available
~1,000 uploads every month
~200 new libraries every month
CPAN Testers is 11 years young
7.8 million reports
1000+ CPAN Testers
Peak month: 400,000+ reports
Learning
from
Crisis
Four ideas
for success
Culture
Fun
Mashups
Scale
Values Tools
Culture
$ perl Makefile.PL
$ make
$ make test
$ make install
$ perl Makefile.PL
$ make
$ make test
$ make install
CPAN (1995)
CPAN.pm (1996)
$ cpan File::Spec
(runs 'make test')
We built tests
into our tools
Thousands of people
running CPAN tests
... and throwing them away
CPAN Testers (1999)
cpan-testers@perl.org
Reports submitted "by hand"
CPANPLUS (2002)
Can submit reports
"automatically"
when you test or install
A step change in participation
0
5
10
15
20
25
30
35
40
45
50
2000
2001
2002
2003
2004
2005
2006
2007
2008
Reports/
Upload
A. Tang, “Becoming a CPAN Tester
with CPANPLUS” (2002)
We built tests
and test reporting
into our tools
But still just ~5 reports per upload
0
5
10
15
20
25
30
35
40
45
50
2000
2001
2002
2003
2004
2005
2006
2007
2008
Reports/
Upload
Crisis #1: Lack of coverage
CPAN Testers no longer a toy
but not yet useful for much
Fun
Community Competition
Step 1:
Make it easy to join
CPAN::YACSmoke (2005)
POE::Component::CPAN::YACSmoke
(2006)
CPAN::Reporter (2006)
Step 2:
Build a community
and give feedback
http://stats.cpantesters.org/
(2006)
cpan-testers-discuss@perl.org
(2007)
Barbie starts a monthly blog
(2007)
Competition
September, 2007
"The heat is on for Chris Williams,
he only thought Dave Cantrell
was chasing his heels, but
Andreas Koenig has also stepped
up his game too. It has been a
staggering month for the sheer
volume of reports..."
- Barbie
Climb the leaderboard
Test more or weirder
Perls and platforms
Perl version and OS coverage
The result of -Ofun
0
5
10
15
20
25
30
35
40
45
50
2000
2001
2002
2003
2004
2005
2006
2007
2008
Reports/
Upload
Zooming out
0
50
100
150
200
250
300
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
Reports/
Upload
… rise of the machines …
CPAN::Reporter::Smoker (2008)
POE::Component::SmokeBox (2008)
CPANPLUS::YACSmoke (2009)
minismokebox (2009)
Reports by #1 tester each month
1
10
100
1,000
10,000
100,000
1,000,000
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
Manual
Reporting
Automated
Reporting
Dedicated
Smoking
Smoke
Clusters
More testers & reports per tester
0
50
100
150
200
250
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
Number of
Testers
Reports per Tester
Manual
Reporting
Automated
Reporting
Dedicated
Smoking
Smoke
Clusters
Crisis #2: Spam
~15,000 reports a month (2006)
~250,000 reports a month (2008)
By email
Cc: AUTHOR@cpan.orgJoe Tester
To: cpan-testers@perl.org
2006: ~5 reports/upload
"Stop SPAMMING me!"
2008: ~120 reports/upload
WTF?!?
NOT fun for CPAN authors
Disabled author CC's
Notification through
a central service
Added author contact preferences
Mashups
Innovation Insight
Open data
allows
innovation
Test matrix
matrix.cpantesters.org
Dependency tree
deps.cpantesters.org
"Volatile 100" "FAIL 100"
Regression analysis and failure
correlations
o OS, architecture, perl version, perl
configuration
o test output, e.g. “failed at line …”
o tester, test framework
analysis.cpantesters.org – but offline! 
Crisis #3: Email overload
Reports sent by email
Reports re-distributed via NNTP
Success? Failure?
455,875
2,080
1,163
953
555
525
206
117
95
89
1 10 100 1000 10000 100000 1000000
perl.cpan.testers
perl.cpan.uploads
perl.perl5.porters
perl.daily-build.reports
perl.beginners
perl.modules
perl.perl5.changes
perl.moose
perl.module-authors
perl.perl6.language
November 2009 perl.org mailing list monthly volume
The way perl.org sees email
perl.cpan.testers
everything else
99%
November 2009: throttling back
Scale
Anticipation Leverage
Scale is not always
a technical problem!
Visualize
wild success
But don't build
for it right away
Email worked!
NNTP worked!
For 10 years
1. Anticipate the breakpoint
2. Do something about it
FAIL
We should have seen
it coming sooner
We built 2.0
by designing an API for
server components
and implementing
a version of it on AWS
Clouds give leverage
Technical scale
Administrative scale
Volunteer time
is more scarce than
nominal cloud costs
CT 2.0 running in beta since April
Culture within values and tools
Fun from community and competition
Mashups spur innovation and insight
Scale needs anticipation and leverage
Thank you for coming!
Your QA task:
Rate this talk, leave comments and
tell me what could be better

More Related Content

Similar to Free QA!

ZT: It's Not the Cost, It's the Quality
ZT: It's Not the Cost, It's the QualityZT: It's Not the Cost, It's the Quality
ZT: It's Not the Cost, It's the Quality
wish
 

Similar to Free QA! (20)

OpenStack Upgrade - It can be done! Koby Holzer, Liran Cohen - OpenStack Day ...
OpenStack Upgrade - It can be done! Koby Holzer, Liran Cohen - OpenStack Day ...OpenStack Upgrade - It can be done! Koby Holzer, Liran Cohen - OpenStack Day ...
OpenStack Upgrade - It can be done! Koby Holzer, Liran Cohen - OpenStack Day ...
 
Integration-, Snapshot- and Performance-Testing APIs
Integration-, Snapshot- and Performance-Testing APIs Integration-, Snapshot- and Performance-Testing APIs
Integration-, Snapshot- and Performance-Testing APIs
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
ZT: It's Not the Cost, It's the Quality
ZT: It's Not the Cost, It's the QualityZT: It's Not the Cost, It's the Quality
ZT: It's Not the Cost, It's the Quality
 
Govnet.Ppt
Govnet.PptGovnet.Ppt
Govnet.Ppt
 
The LLVM Release Process - Order from Chaos
The LLVM Release Process - Order from ChaosThe LLVM Release Process - Order from Chaos
The LLVM Release Process - Order from Chaos
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
Siphon - Near Real Time Databus Using Kafka, Eric Boyd, Nitin Kumar
Siphon - Near Real Time Databus Using Kafka, Eric Boyd, Nitin KumarSiphon - Near Real Time Databus Using Kafka, Eric Boyd, Nitin Kumar
Siphon - Near Real Time Databus Using Kafka, Eric Boyd, Nitin Kumar
 
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
 
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
[QE 2017] Dawid Pacia, Tomasz Janiszewski - SQA w erze TestOps
 
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical StepsPreparing for Enterprise Continuous Delivery - 5 Critical Steps
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
 
Using Hadoop to build a Data Quality Service for both real-time and batch data
Using Hadoop to build a Data Quality Service for both real-time and batch dataUsing Hadoop to build a Data Quality Service for both real-time and batch data
Using Hadoop to build a Data Quality Service for both real-time and batch data
 
Sonatype Software Supply Chain 2017 - JAVA Users Group
Sonatype Software Supply Chain 2017 - JAVA Users GroupSonatype Software Supply Chain 2017 - JAVA Users Group
Sonatype Software Supply Chain 2017 - JAVA Users Group
 
Monitoring Challenges - Monitorama 2016 - Monitoringless
Monitoring Challenges - Monitorama 2016 - MonitoringlessMonitoring Challenges - Monitorama 2016 - Monitoringless
Monitoring Challenges - Monitorama 2016 - Monitoringless
 
Petri for kyiv.pptx
Petri for kyiv.pptxPetri for kyiv.pptx
Petri for kyiv.pptx
 
How Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4JHow Shutl Delivers Even Faster Using Neo4J
How Shutl Delivers Even Faster Using Neo4J
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
Continous Delivery Toronto Presentation
Continous Delivery Toronto PresentationContinous Delivery Toronto Presentation
Continous Delivery Toronto Presentation
 
有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?
 
The Anatomy of Continuous Deployment at Scale
The Anatomy of Continuous Deployment at ScaleThe Anatomy of Continuous Deployment at Scale
The Anatomy of Continuous Deployment at Scale
 

More from David Golden

More from David Golden (17)

Slice Recycling Performance and Pitfalls
Slice Recycling Performance and PitfallsSlice Recycling Performance and Pitfalls
Slice Recycling Performance and Pitfalls
 
Eversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out ObjectsEversion 101: An Introduction to Inside-Out Objects
Eversion 101: An Introduction to Inside-Out Objects
 
Perl 5 Version 13
Perl 5 Version 13Perl 5 Version 13
Perl 5 Version 13
 
IsTrue(true)?
IsTrue(true)?IsTrue(true)?
IsTrue(true)?
 
One BSON to Rule Them
One BSON to Rule ThemOne BSON to Rule Them
One BSON to Rule Them
 
Adventures in Optimization
Adventures in OptimizationAdventures in Optimization
Adventures in Optimization
 
Make Comments Stand Out
Make Comments Stand OutMake Comments Stand Out
Make Comments Stand Out
 
State of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl ToolchainState of the Velociraptor Mini-Keynote: Perl Toolchain
State of the Velociraptor Mini-Keynote: Perl Toolchain
 
Practical Consistency
Practical ConsistencyPractical Consistency
Practical Consistency
 
How I get to the ☞
How I get to the ☞How I get to the ☞
How I get to the ☞
 
Real World Optimization
Real World OptimizationReal World Optimization
Real World Optimization
 
Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)Safer Chainsaw Juggling (Lightning Talk)
Safer Chainsaw Juggling (Lightning Talk)
 
Taking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order FunctionsTaking Perl to Eleven with Higher-Order Functions
Taking Perl to Eleven with Higher-Order Functions
 
Juggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDBJuggling Chainsaws: Perl and MongoDB
Juggling Chainsaws: Perl and MongoDB
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with Jitterbug
 
Cooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World TutorialCooking Perl with Chef: Hello World Tutorial
Cooking Perl with Chef: Hello World Tutorial
 
Cooking Perl with Chef
Cooking Perl with ChefCooking Perl with Chef
Cooking Perl with Chef
 

Recently uploaded

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

%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
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
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...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 

Free QA!