Smolder Introduction
Upcoming SlideShare
Loading in...5
×
 

Smolder Introduction

on

  • 6,146 views

A quick intro to Smolder.

A quick intro to Smolder.

Statistics

Views

Total Views
6,146
Views on SlideShare
6,123
Embed Views
23

Actions

Likes
3
Downloads
52
Comments
1

1 Embed 23

http://www.slideshare.net 23

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 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/
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Smolder Introduction Smolder Introduction Presentation Transcript

  • Bring Your Smoke Tests to Life Michael Peters (mpeters@plusthree.com) http://sourceforge.net/projects/smolder
  • 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?
  • Origins
    • 5460 tests
    • 28 minutes
    • 5 different dev platforms
    PlusThree and PlunkIT
  • Origins
    • Automated build and test server
        • emailed results every morning
          • always
          • huge (510k of HTML)
          • developers had no control
    PlusThree and PlunkIT
  • Origins PlusThree and Arcos
    • Several variations on test runs
    • 15,000+ tests
    • 40+ minutes
    • It was annoying and wasteful
  • 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
  • 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
  • TAP
    • Test Anything Protocol
          • http://search.cpan.org/perldoc?TAP
    • It's what test scripts output
          • Test::Builder, Test::More, etc
  • 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
  • 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'); }
  • TAP
    • Started in Perl-land
        • language-agnostic
          • C
          • PHP
          • Python
          • Java
          • Javascript
          • Parrot
  • 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
  • Using
    • How often?
      • Every checkin?
      • Periodically (every hour) ?
    Automated Tests
  • 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
  • Using
    • Every Hour
        • cron job
          • setup environment/services
          • Use TestRunner::Multi
    Automated Tests
  • Future
    • RSS/Atom feeds in addition to email
    • Better integration with TestRunner::Multi
    Upcoming Features
  • Future
    • Code coverage reports and trends
    • ???