Saturday, 31 May 2008

FunkLoad

A functional and load web tester from http://funkload.nuxeo.org/, written in Python, whose main use cases are:

Functional testing of web projects, and thus regression testing as well.
Performance testing: by loading the web application and monitoring your servers it helps you to pinpoint bottlenecks, giving a detailed report of performance measurement.
Load testing tool to expose bugs that do not surface in cursory testing, like volume testing or longevity testing.
Stress testing tool to overwhelm the web application resources and test the application recoverability.
Writing web agents by scripting any web repetitive task, like checking if a site is alive.

FunkLoad is free software distributed under the GNU GPL.
Functional test are pure Python scripts using the pyUnit framework like normal unit test. Python enable complex scenarios to handle real world applications.
Truly emulates a web browser (single-threaded) using Richard Jones' webunit:
basic authentication support
cookies support
referrer support
fetching css, javascript and images
emulating a browser cache
file upload and multipart/form-data submission
https support
http_proxy support
Advanced test runner with many command-line options:
set the target server url
display the fetched page in real time in your browser
debug mode
check performance of a single page (or set of pages) inside a test
green/red color mode
select or exclude tests cases using a regex
support normal pyUnit test
support doctest from a plain text file or embedded in python docstring
Turn a functional test into a load test:
just by invoking the bench runner you can identify scalability and performance problems.
Detailed bench reports in ReST or HTML (and PDF via ps2pdf) containing:
the bench configuration
tests, pages, requests stats and charts.
the 5 slowest requests.
servers cpu usage, load average, memory/swap usage and network traffic charts.
an http error summary list
Easy test customization using a configuration file or command line options.
Easy test creation using TCPWatch as proxy recorder, so you can use your web browser and produce a FunkLoad test automatically.
Provides web assertion helpers.
Provides a funkload.CPSTestCase to ease Zope and Nuxeo CPS testing.
Easy to install (EasyInstall) and use, see examples in the demo folder.
Works fine with CPS or any Zope application, CherryPy, Nuxeo EP or any JBoss Seam application ...

No comments:

Post a Comment