We're knocking on a year of having webtest in our environment and are quite
pleased with it. Our intergration tests have grown to the point that they
execute in a linear fashion which takes about an hour and a half to run.
We also get a lot of failures which cause other test breakages down the chain.
In order to resolve this our next order of business is to break up these
tests into modular pieces which we can (hopefully) run in parallel.
I'm wondering if others have gone down this path and can offer any advice.
I envision a process something like this:
1) Get my app database in a known state:
2) Run small number of tests which depend on data in that database
3) Shutdown app
4) Revert database to another known state
5) Run small number of tests which depend on data in that database
And so on and so on.
I realize the best way to do this would by to dynamically load/unload data but
I am constrained by our product.
Any thoughts/advice/best practices?