+ All Categories
Home > Documents > Free QA!...CPAN Testers is Free QA for CPAN The objective of the group is to test as many of the...

Free QA!...CPAN Testers is Free QA for CPAN The objective of the group is to test as many of the...

Date post: 13-Jul-2020
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
69
Free QA! David Golden [email protected] www.dagolden.com OSCON July 22, 2010
Transcript
Page 1: Free QA!...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. A step change

Free QA!

David [email protected]

OSCON ▪ July 22, 2010

Page 2: Free QA!...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. A step change

Free as in beer

Free as in speech

Page 3: Free QA!...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. A step change

Quality+

Assurance

Page 4: Free QA!...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. A step change

Quality is an ideal

Page 5: Free QA!...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. A step change

Quality Assurance iswhat you can measure

Page 6: Free QA!...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. A step change

CPAN Testers is Free QA for CPAN

The objective of the group is to testas 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.

Page 7: Free QA!...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. A step change

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

Page 8: Free QA!...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. A step change

CPAN Testers is 11 years young

7.8 million reports

1000+ CPAN Testers

Peak month: 400,000+ reports

Page 9: Free QA!...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. A step change

LearningfromCrisis

Page 10: Free QA!...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. A step change

Four ideasfor success

Page 11: Free QA!...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. A step change

CultureFun

MashupsScale

Page 12: Free QA!...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. A step change

Values Tools

Culture

Page 13: Free QA!...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. A step change

$ perl Makefile.PL$ make$ make test$ make install

Page 14: Free QA!...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. A step change

$ perl Makefile.PL$ make$ make test$ make install

Page 15: Free QA!...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. A step change

CPAN (1995)CPAN.pm (1996)

$ cpan File::Spec(runs 'make test')

Page 16: Free QA!...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. A step change

We built tests into our tools

Page 17: Free QA!...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. A step change

Thousands of people running CPAN tests

... and throwing them away

Page 18: Free QA!...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. A step change

CPAN Testers (1999)

[email protected]

Reports submitted "by hand"

Page 19: Free QA!...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. A step change

CPANPLUS (2002)

Can submit reports "automatically"

when you test or install

Page 20: Free QA!...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. A step change

A step change in participation

05

101520253035404550

2000

2001

2002

2003

2004

2005

2006

2007

2008

Reports/Upload

A. Tang, “Becoming a CPAN Tester with CPANPLUS” (2002)

Page 21: Free QA!...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. A step change

We built tests and test reporting

into our tools

Page 22: Free QA!...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. A step change

But still just ~5 reports per upload

05

101520253035404550

2000

2001

2002

2003

2004

2005

2006

2007

2008

Reports/Upload

Page 23: Free QA!...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. A step change

Crisis #1: Lack of coverage

CPAN Testers no longer a toybut not yet useful for much

Page 24: Free QA!...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. A step change

Fun

Community Competition

Page 25: Free QA!...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. A step change
Page 26: Free QA!...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. A step change

Step 1:Make it easy to join

Page 27: Free QA!...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. A step change

CPAN::YACSmoke (2005)POE::Component::CPAN::YACSmoke

(2006)

CPAN::Reporter (2006)

Page 28: Free QA!...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. A step change

Step 2:Build a communityand give feedback

Page 29: Free QA!...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. A step change

http://stats.cpantesters.org/(2006)

[email protected](2007)

Barbie starts a monthly blog (2007)

Page 30: Free QA!...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. A step change

Competition

Page 31: Free QA!...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. A step change

September, 2007

"The heat is on for Chris Williams, he only thought Dave Cantrellwas 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

Page 32: Free QA!...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. A step change

Climb the leaderboard

Page 33: Free QA!...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. A step change
Page 34: Free QA!...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. A step change

Test more or weirderPerls and platforms

Page 35: Free QA!...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. A step change

Perl version and OS coverage

Page 36: Free QA!...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. A step change

The result of -Ofun

05

101520253035404550

2000

2001

2002

2003

2004

2005

2006

2007

2008

Reports/Upload

Page 37: Free QA!...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. A step change

Zooming out

0

50

100

150

200

250

300

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

Reports/Upload

Page 38: Free QA!...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. A step change

… rise of the machines …

Page 39: Free QA!...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. A step change

CPAN::Reporter::Smoker (2008)POE::Component::SmokeBox (2008)

CPANPLUS::YACSmoke (2009) minismokebox (2009)

Page 40: Free QA!...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. A step change

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

ManualReporting

AutomatedReporting

DedicatedSmoking

SmokeClusters

Page 41: Free QA!...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. A step change

More testers & reports per tester

0

50

100

150

200

25019

99

2000

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

Number of Testers

Reports per Tester

ManualReporting

AutomatedReporting

DedicatedSmoking

SmokeClusters

Page 42: Free QA!...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. A step change

Crisis #2: Spam

~15,000 reports a month (2006)~250,000 reports a month (2008)

By email

Page 43: Free QA!...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. A step change

Cc: [email protected] Tester

To: [email protected]

2006: ~5 reports/upload

Page 44: Free QA!...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. A step change

"Stop SPAMMING me!"

2008: ~120 reports/upload

WTF?!?

Page 45: Free QA!...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. A step change

NOT fun for CPAN authors

Disabled author CC'sNotification through

a central serviceAdded author contact preferences

Page 46: Free QA!...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. A step change

Mashups

Innovation Insight

Page 47: Free QA!...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. A step change

Open dataallows

innovation

Page 48: Free QA!...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. A step change

Test matrix

matrix.cpantesters.org

Page 49: Free QA!...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. A step change

Dependency tree

deps.cpantesters.org

Page 50: Free QA!...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. A step change

"Volatile 100" "FAIL 100"

Page 51: Free QA!...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. A step change

Regression analysis and failure correlations

o OS, architecture, perl version, perlconfiguration

o test output, e.g. “failed at line …”

o tester, test framework

analysis.cpantesters.org – but offline!

Page 52: Free QA!...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. A step change

Crisis #3: Email overload

Reports sent by emailReports re-distributed via NNTP

Page 53: Free QA!...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. A step change

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

Page 54: Free QA!...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. A step change

The way perl.org sees email

perl.cpan.testerseverything else

99%

Page 55: Free QA!...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. A step change

November 2009: throttling back

Page 56: Free QA!...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. A step change

Scale

Anticipation Leverage

Page 57: Free QA!...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. A step change

Scale is not alwaysa technical problem!

Page 58: Free QA!...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. A step change

Visualizewild success

Page 59: Free QA!...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. A step change

But don't buildfor it right away

Page 60: Free QA!...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. A step change

Email worked!NNTP worked!

For 10 years

Page 61: Free QA!...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. A step change

1. Anticipate the breakpoint

2. Do something about it

Page 62: Free QA!...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. A step change

FAIL

We should have seenit coming sooner

Page 63: Free QA!...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. A step change

We built 2.0by designing an API for

server componentsand implementing

a version of it on AWS

Page 64: Free QA!...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. A step change

Clouds give leverage

Page 65: Free QA!...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. A step change

Technical scaleAdministrative scale

Page 66: Free QA!...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. A step change

Volunteer timeis more scarce thannominal cloud costs

Page 67: Free QA!...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. A step change

CT 2.0 running in beta since April

Page 68: Free QA!...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. A step change

Culture within values and tools

Fun from community and competition

Mashups spur innovation and insight

Scale needs anticipation and leverage

Page 69: Free QA!...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. A step change

Thank you for coming!

Your QA task:

Rate this talk, leave comments and tell me what could be better


Recommended