Parallel Execution of Unit Tests

W

wade

Hi,

I'm using Ruby's Test::Unit framework to drive some functional tests
which use Selenium to perform E2E scenarios against a web app in a
real browser. As one can easily imagine, running a large suite of
browser-based tests in serial can take ages, so I'm looking for a
practical way to parallelize these tests and run a bunch of them at a
time until they are all done.

I've looked briefly at DeepTest for Ruby, which won't cut it, as far
as I'm concerned. What I would really like come across is a solution
along the lines of the parallel execution support provided by the
TestNG framework for Java unit tests.

Any suggestions, direction, or comments regarding my approach would be
appreciated.

Thanks!
 
P

Phlip

wade said:
I'm using Ruby's Test::Unit framework to drive some functional tests
which use Selenium to perform E2E scenarios against a web app in a
real browser. As one can easily imagine, running a large suite of
browser-based tests in serial can take ages

How many of these tests could run against the source code directly, as real unit
tests?
 
W

wade

How many of these tests could run against the source code directly, as real unit
tests?

Really none of them, unfortunately. This specific domain of tests are
designed to be a sort of automated acceptance test to be carried out
following a deployment of the app, from an end-user perspective. Thus
the need to simulate "real world" interactions, starting from a
browser and essentially excersizing each layer of the stack in an end
to end manner..
 
P

Phlip

wade said:
Really none of them, unfortunately. This specific domain of tests are
designed to be a sort of automated acceptance test to be carried out
following a deployment of the app, from an end-user perspective. Thus
the need to simulate "real world" interactions, starting from a
browser and essentially excersizing each layer of the stack in an end
to end manner..

If I were a developer, adding features to this code base, how could I run a
short batch of unit tests to check my feature itself? Wouldn't they bypass the
soak tests and go to the actual code?

Soak tests are great, but if you need to run them too often, you don't need to
speed them up, you need more, faster tests, running closer to the tested code.
 
M

Mark Ryall

[Note: parts of this message were removed to make it a legal post.]

have you tried selenium grid?
 
W

wade

Yeah, I'm actually utilizing Selenium Grid for the client side of it.
I have a Grid farm all set up and configured, and several teams run
nightly Selenium test suites against it without issues. The problem
is that Grid doesn't provide for a means of actually driving tests in
parallel -- it only serves as a matrix of Remote Controls (browsers)
for your tests to run against. The advantage of this to me right now
is that several test suites can be running simultaneously, and the
Grid Hub will take care of allocating each test to an available
environment. However, the suites themselves are still running
serially, one test after another.

What I need is a way for a complete test suite to be executed in a
multi-threaded fashion, I guess.


wade
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top