Your SlideShare is downloading. ×
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Smolder Introduction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Smolder Introduction

4,096

Published on

A quick intro to Smolder.

A quick intro to Smolder.

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
  • I can't wait to see more presentations from you.
    http://www.teethgrindinginsleep.net/
    http://www.teethgrindinginsleep.net/how-to-stop-teeth-grinding-at-night/
    http://www.teethgrindinginsleep.net/get-a-mouth-guard-to-stop-teeth-grinding-at-night/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,096
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
57
Comments
1
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Bring Your Smoke Tests to Life Michael Peters (mpeters@plusthree.com) http://sourceforge.net/projects/smolder
  • 2. Problems
    • Large and long running test suites?
    • Code changes without test runs?
    • Multiple languages
        • How do you bring them all together?
    • Project managers need to see pretty graphs?
  • 3. Origins
    • 5460 tests
    • 28 minutes
    • 5 different dev platforms
    PlusThree and PlunkIT
  • 4. Origins
    • Automated build and test server
        • emailed results every morning
          • always
          • huge (510k of HTML)
          • developers had no control
    PlusThree and PlunkIT
  • 5. Origins PlusThree and Arcos
    • Several variations on test runs
    • 15,000+ tests
    • 40+ minutes
    • It was annoying and wasteful
  • 6. Origins
    • Lot's of ideas from Pugs smoke server
    • Developers customize
        • Email frequency
        • Email format
        • Raw data
    • Tests can be commented, categorized and invalidated
    • Trends can be viewed
    • Can host multiple projects
        • public and private
  • 7. Origins Built With
    • Apache/mod_perl
    • CGI::Application and family
    • Template Toolkit
    • SQLite (or MySQL if you prefer)
    • Prototype.js (lots 'o AJAX)
        • Full reports are lazy loaded
  • 8. TAP
    • Test Anything Protocol
          • http://search.cpan.org/perldoc?TAP
    • It's what test scripts output
          • Test::Builder, Test::More, etc
  • 9. TAP 1..5 ok 1 – foo is fine ok 2 – testing bar value not ok 3 – The object isa Frobnicate # this is some useful # comment thing not ok 4 # SKIP Foo::Bar is not installed not ok 5 # TODO future feature
  • 10. TAP use Test::More (tests => 5) ok($foo, 'foo is fine'); is($bar, 'right', 'testing bar value'); isa_ok($bar, 'Frobnicate'); diag(“this is some useful comment thing”); SKIP: { skip('Foo::Bar is not installed' 1); ok($foo->bar, 'has a bar'); } TODO: { local $TODO = 'future feature'; ok($foo->feature, 'some feature'); }
  • 11. TAP
    • Started in Perl-land
        • language-agnostic
          • C
          • PHP
          • Python
          • Java
          • Javascript
          • Parrot
  • 12. TAP
    • A single archive file (currently Tar)
    • One file for each TAP stream
    • A YAML file containing meta information about the test run
        • Order
        • Start and stop times
        • Future expansion
    TAP Archives
  • 13. Using
    • How often?
      • Every checkin?
      • Periodically (every hour) ?
    Automated Tests
  • 14. Using
    • Every Checkin
        • SCM and build/test on same server
        • checkin-hook script
          • setup environment/services
          • use TestRunner::Multi (module by Dave Rolsky)
    Automated Tests
  • 15. Using
    • Every Hour
        • cron job
          • setup environment/services
          • Use TestRunner::Multi
    Automated Tests
  • 16. Future
    • RSS/Atom feeds in addition to email
    • Better integration with TestRunner::Multi
    Upcoming Features
  • 17. Future
    • Code coverage reports and trends
    • ???

×