views:

49

answers:

4

I have been tasked with coming up with a testing strategy for our already existing PHP application. The application is running on a standard LAMP stack and is slated to be completely rebuilt starting in the next 2 to 3 months, so this is the perfect time to pick something and run with it.

These are the types of testing we would like to do: Unit Testing, Functional Testing and Load Testing. I will be focusing mostly on unit testing with the other two as by-products of the research.

In all the research I have been doing the brick wall I have hit is finding something that is commerically supported. This fact is actually a lot more important than I first thought.

Any recommendations would be greatly appreciated.

Thanks!

+3  A: 

PHPUnit has a large user base, is actively developed, and is modeled after JUnit. I don't believe anything comes close to it for unit testing, and I don't know why you would need commercial support with software that has all of that going for it.

http://www.phpunit.de/

Isaac
Unfortunately I work for a large organization that runs primarily Microsoft products. When you recommend something free you better have something to back it up.Thanks for the rec!
Robin
Talk about a false dichotomy... Such is the nature of business though... But then again, progressiveness comes at a risk (But the reward can be HUGE)...
ircmaxell
A: 

Granted I ain't all that of an expert but here what I know:

  • For Unit test, try PhpUnit
  • For Functional Test, try Selenium

I have no idea what load testing is. Sounds like deployment you can use Phing for that. Maybe it's testing how fast your db is? >_>?

As for continuous integration you can try Hudson.

edit: Sorry, I didn't noticed your automated tests: You can use Phing and Hudson to automate these tests (functional and unit).

Phing reminds me of C++ Make file but on crack. The file is build.xml and you can automate stuff and makes deployment the project pretty easy.

As for you company wanting something that's commercial. Yeah, funny way of seeing it that way when they're doing LAMP stack >_>. Maybe those projects have pay support.

Edit, adding more, there's a great book Expert PHP 5 Tools by Dirk Merkel, Packt Publisher. It doesn't go over Selenium or Hudson though.

mythicalprogrammer
A few load testing examples: jMeter, Siege and TestMaker
Robin
A: 

If you really insist on a commercial product you may try iMacros for automated functional and performance tests.

In addition I would also highly recommend using PHPUnit to complement the functional tests.

Nick
A: 

For functional testing you can use TestPlan. It works at the browser level but can also handle any email, ftp, or other such needs you have. It is great at writing quick tests as well as comprehensive test suites.

Commercial support is offered by EverSystems.

For unit tests I'd say stick to PHPUnit -- I usually have PHPUnit and TestPlan on any of my projects.

edA-qa mort-ora-y