Files | Admin

Notes:

Release Name: 0.7.0.009

Notes:
= Stella - 0.7 PREVIEW

<b>Perform load tests on your web applications with beauty and brute strength.</b>




== Features

* Realistic load simulation
* Sophisticated response handling (with automatic HTML document parsing)
* Dynamic variable replacement 


== PREVIEW NOTICE

This is an early preview of Stella. The following features are still under development (as of 2009-09-15):

* Reporting of any kind. 
* File uploads.
* Documentation.


== Usage Example

    # Verify a test plan is defined correctly
    # by running a single user functional test.
    $ stella verify -p examples/basic/plan.rb http://stellaaahhhh.com/
    
    # Perform a load test  
    # using the same test plan. 
    $ stella load -p examples/basic/plan.rb http://stellaaahhhh.com/
    
    
== Test Plan Example


Test plans are defined in the Ruby programming language. This makes it possible to define sophisticated logic to handle responses. They also typically contain more than one usecase which is important when simulating realistic load. In this example, 65% of virtual users will execute the first usecase and 35% will execute the second.

    usecase 65, "Simple search" do
  
      get "/", "Homepage" do
        wait 1..5
        response 200 do
          status                       # => 200
          headers['Content-Type']      # => ['text/html']
          body                         # => <html>...
          doc                          # => Nokigiri::HTML::Document
        end
      end
  
      get "/search", "Search Results" do
        wait 2..5
        param :what  => 'Big Al'
        param :where => 'Toronto'
        response 200 do
          listing = doc.css('div.listing').first
          set :lid, listing['id'].match(/(\d+)/)[0]
        end
      end
      
      get "/listing/:lid" do           # URIs can contain variables.
        desc "Selected listing"        # This one will be replaced by
        wait 1..8                      # the one stored in the previous
      end                              # request.
  
    end

    usecase 35, "YAML API" do
    
      resource :listing_ids, list('ids.csv')
      
      get "/listing/:lid.yaml" do
        desc "Select listing"
        param :lid => random(:listing_ids)
        response 200 do
          repeat 5
        end
      end

    end
    
See examples/ for more. 

    
== Installation

Get it in one of the following ways:

     $ gem install stella 
     $ git clone git://github.com/solutious/stella.git
     $ gem install solutious-stella --source http://gems.github.com


== More Information

* Homepage[http://solutious.com/projects/stella]
* Codes[http://github.com/solutious/stella]
* RDocs[http://solutious.com/stella]
* Stellaaahhhh[http://www.youtube.com/watch?v=jHHprvyl-Hc]


== Credits

* Delano Mandelbaum (http://solutious.com)
* Threadify (C) Ara T Howard (http://codeforpeople.com/)


== Thanks 

* Harm Aarts for the great test case and feedback!
* Kalin Harvey for keeping me on track.
* Dave L, the best intern money can't buy. 


== License

See LICENSE.txt



Changes: STELLA, CHANGES #### 0.7.0 (2009-09-05) ############################### NOTE: Complete rewrite * New internal architecture. * Improved stability and output for high thread loads. * Updated test plan DSL * Granular reporting via Benelux #### 0.6.0 (2009-03-15) ############################### http://github.com/solutious/stella/tree/0.6 * COMPLETE REWRITE! * The commands and API from 0.5.x are no longer supported. This ain't your grandmother's Stella. * NEW: Tests are now defined using a DSL. See tryouts/dsl_tryout.rb for an example. * NEW: Tests are run with Ruby directly: ruby testplan.rb (for now) #### 0.5.6 (2009-02-04) ############################### * API Change: watch is replaced by pcap and proxy. * "stella watch -C" is now "stella pcap" * "stella watch -P" is now "stella proxy" * Fixed body printing bug for stella -v watch -C * Added adapter tests * Improved RDocs #### 0.5.5 (2009-01-14) ############################### http://github.com/solutious/stella/tree/stella-0.5.5 * Now has specs (33 specifications, 303 requirements) * New dependency: test-spec (development copy only) * Added delano/drydock to vendor (was delano/frylock). * Improved argument handling for load tool adapters (httperf not complete) * Re-built Stella::Storable and subclasses (now using "field" method) * Test::Stats, Test::Run::Summary cleanup * Fixed RubyGems require error * Fixed stddev bug by removing weak math, adding stats class from Mongrel * Fixed --agent error #### 0.5.4-alpha (2009-01-07) ######################### http://github.com/solutious/stella/tree/stella-0.5.4-alpha * New command: watch. Monitor HTTP traffic with Ruby-Pcap (unix only) or proxy. Pcap also supports DNS sniffing. * Improved error handling for stats output * Now runs on Ruby 1.9.1, JRuby * Added Windows support for most features * Added patch for Ruby-Pcap * Added friendly error handling for Apache Bench, Siege, and Httperf #### 0.5.3-preview (2008-12-23) ####################### http://github.com/solutious/stella/tree/e4d2bd8db3d1323fbc3b8bbb7f703ce7b8c88551 * Initial public release