Website:Testing And Profiling
From WormBaseWiki
(Redirected from Testing)
Jump to navigationJump to search
This document describes testing and monitoring of the web application.
Contents
Unit Testing
please go to Unit Testing
System Testing
- Validation (HTML/CSS/XML)
- Security
- Accessibility
- Usability
- Browser compatability
- Performance and stress testing
Profiling the Web Application
Debugging notes:
- RESTClient for Firefox
- Poster for Firefox
- Testing from the command line
Profiling Czar duties
- Explore profiling options and discuss
- Built-in server and Catalyst::Stats
- -d profilers: Devel::NYTProf
- Add dynamically configurable profiling
- Identify and report bottlenecks
- Develop caching mechanism of ajax-requested widgets
Using Devel::NYTProf
Profiling under the development server
$ cd website/ $ perl -d:NYTProf script/wormbase_server.pl
Use Apache's ab tool to simulate requests (-n) and concurrency (-c):
$ ab -n 1000 -c 5 http://localhost:3000/path/to/a/slow/page // Need to use 127.0.0.1 on Mac OS $ GET http://localhost:3000/quit $ nytprofhtml --file website/nytprof.out --out ~/nytprof --deletee
Unfortunately, ab can only request a single URL at a time.
Profiling under FastCGI
And here's how to profile a specific page running under Apache/FastCGI:
As a socket server (assuming that apache is configured as described in the deployment documentation, listening on port 8000.
cd website/ perl -d:NYTProf script/wormbase_fastcgi.pl \ -l /tmp/wormbase.sock -n 5 -p /tmp/wormbase.pid
In a separate shell...
$ ab -n 1000 -c 5 http://127.0.0.1:8000/path/to/a/slow/page $ GET http://127.0.0.1:8000/quit $ nytprofhtml --file /usr/local/wormbase/website/nytprof.out --out ~/nytprof --delete