[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Parallel Execution of Unit Tests

wade

3/17/2008 8:49:00 PM

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!

5 Answers

Phlip

3/17/2008 9:13:00 PM

0

wade wrote:

> 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?

--
Phlip
http://assert2.ruby...

wade

3/17/2008 9:38:00 PM

0

On Mar 17, 2:13 pm, Phlip <phlip2...@gmail.com> wrote:
> wade wrote:
> > 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?
>
> --
> Phlip
> http://assert2.ruby...

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..

Phlip

3/17/2008 10:05:00 PM

0

wade wrote:

> 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.

--
Phlip

Mark Ryall

3/18/2008 9:40:00 AM

0

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

have you tried selenium grid?

On Tue, Mar 18, 2008 at 8:40 AM, wade <onlywade@gmail.com> wrote:

> On Mar 17, 2:13 pm, Phlip <phlip2...@gmail.com> wrote:
> > wade wrote:
> > > 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?
> >
> > --
> > Phlip
> > http://assert2.ruby...
>
> 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..
>
>

wade

3/18/2008 9:41:00 PM

0

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

On Mar 18, 2:39 am, "Mark Ryall" <mark.ry...@gmail.com> wrote:
> have you tried selenium grid?
>
> On Tue, Mar 18, 2008 at 8:40 AM, wade <onlyw...@gmail.com> wrote:
> > On Mar 17, 2:13 pm, Phlip <phlip2...@gmail.com> wrote:
> > > wade wrote:
> > > > 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?
>
> > > --
> > > Phlip
> > > http://assert2.ruby...
>
> > 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..