Unit, Integration, and server testing are needed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
EM London Website |
Triaged
|
Medium
|
Tarek Loubani |
Bug Description
To catch errors early and stomp them out mercilessly, unit and integration testing are necessary. As well, server health monitoring will go a long way to notifying us when problems arise.
For this, there are several pieces that will be useful:
1) phpUnit test suite: http://
This is more for testing pieces of PHP that we develop in house. Probably no real need to do this for Joomla or such.
2) Selenium: http://
This allows for automated tests of the user interface, as opposed to click-through testing.
3) Hudson CI: http://
I'm not really sure what the best roll-your-own CI server is, but Hudson is remarkably easy to deploy, so my instinct is that we should start with this. We should be able to bind a port relatively easily for our purposes and use this server to generate tests and notify us when any failures happen.
4) Pingability: http://
For server uptime, we can get something like pingability going. The free account covers one check every 60 minutes.
Of course we could also just set our own up..
I have implemented OpenNMS, which is a network monitoring system.
Currently, I am testing ONMS on my local server. Once I get it optimized, I'll deploy it on another server (not EML).
This system will do two main things:
1) Ensure that the server itself is alive (and the services associated with it)
2) Run click tests on the website using Selenium
If it fails, it will contact me (and you if you wish) by SMS, email, jabber, or whatever the heck you want. The system is quite resilient. Right now, it won't be possible for you to login from outside, but as soon as I deploy it on my main server, then your login info should work.
tarek : )