Difference between revisions of "Website:Testing And Profiling"
From WormBaseWiki
Jump to navigationJump to search(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | |||
+ | |||
''This document describes testing and monitoring of the web application.'' | ''This document describes testing and monitoring of the web application.'' | ||
= Unit Testing = | = Unit Testing = | ||
+ | please go to [http://wiki.wormbase.org/index.php/Unit_Testing Unit Testing] | ||
= System Testing = | = System Testing = | ||
Line 60: | Line 64: | ||
[[Category:Developer documentation]] | [[Category:Developer documentation]] | ||
+ | [[Category:QA (Web Dev)]] |
Latest revision as of 18:38, 18 June 2014
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