-----BEGIN PGP SIGNED MESSAGE-----

Moin,

On Monday 20 October 2003 18:35, Tony Bowden wrote:
> On Mon, Oct 20, 2003 at 08:34:50AM -0700, Ovid wrote:
> > the suite of 15,000 tests takes about an hour to run.
>
> Devel::Cover issues aside, has anyone else looked at interesting ways of
> making test suites run faster?
>
> We insist on a full regression test on checkin, so having the test suite
> take a long time to run puts people off making small changes. :(
>
> On one project a full regression test takes about 8 minutes, which is at
> least an order of magnitude longer than I'd like. I couldn't dream of
> having it take an hour!
>
> Interestingly, a lot of this time is due to the fact that we front-load
> a lot of our stuff to compile time (dynamic class generation etc.) as
> it's a web-app. This works well under mod_perl, but not so well under
> testing as just loading the modules to be tested takes a while - which
> is noticable when it has to happen again for each different test file.
>
> So having some way to have that not need to happen for each test file
> would be nice.
>
> Alternatively we looked at running all the test files in parallel
> rather than sequentially. This was looking promising, but we never got
> it finished.
>
> I'm curious as to whether anyone else is doing anything interesting
> here...

Basically I do:

* "optimize" the tests as to not run so many ok() (e.g. run 1000 tests, output 
on ok(), or the internal test number that failed), although I avoid this 
"optimization" since it is not so important
* optimize the code to be faster (this is a winner)
* run the tests in the background, e.g. run them, while working in the 
foreground and later see if they broke
* run the tests only a few times a day. After all, it only matters if the 
daily build has them running ok or not, not if each change I do breaks the 
test or not. Some people believe that each individually change must be 
regression tested, but where do you draw the line? Chaning a file, a line, a 
word, a comma, a character? I tend to retest after implementing a "feature", 
e.g. anything that takes minutes to hours to complete, but is still done 
before the daily build get's pushed out of the door. Oh, I only "update" the 
dailys build if all tests pass, meanign I can stop working anytime and still 
have the "latest" daily build which passes all test. Ah, ignore my 
ramblings...

Cheers,

Tels

- -- 
 Signed on Mon Oct 20 18:51:24 2003 with key 0x93B84C15.
 Visit my photo gallery at http://bloodgate.com/photos/
 PGP key on http://bloodgate.com/tels.asc or per email.

 "Man, I'm hot." - "Thirsty?" - "No, I mean good looking."

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
Comment: When cryptography is outlawed, bayl bhgynjf jvyy unir cevinpl.

iQEVAwUBP5QSjXcLPEOTuEwVAQFAIAf9FTuz6isjW4n9W+N/5JRif3V9W5LFcKsv
pKY++5DiV7PpwyvJwvrqMtk7bMTRpFUAQeX6G6uDM79Kk9gUKJ3CnGR2DTnwIt+R
4eGmyhcr3uZxvURxFFPi0fRYI13If6tqJwbKC0ATHUCrWFnUozJfQlm2HoVD2/Yq
wXk2Xw3xHAsrgPLAnJgz3dpoglKLXPdUP1JDLVytRsZIdoTyibWm0b6EtGVlqvE8
gjAvmPkvjVPQV6WQEv5i3mY0ZsHz7cw5E4CdChXnk19yIiQ6/b1w+v8c9SbhFoSj
z4LK/DYHksvgfEWgzV2aFcGkEVe4N7x7KvvDe+NmGThma468IveI9Q==
=rzUK
-----END PGP SIGNATURE-----

Reply via email to