Exploratory testing with Ruby

I wrote an article introducing testers to Ruby by way of showing how
you can use it for exploratory testing of Google’s web services
interface. This is part of my ever-faltering effort to make Ruby the
scripting language of choice for testers. You might know a tester you
can pass it along to.

http://www.testing.com/writings/behind-the-screens.pdf

···

Brian Marick
Consulting, training, and contracting
Mostly on agile methods with a testing slant
www.testing.com, www.testing.com/cgi-bin/blog

In article CC653CE9-A544-11D8-B292-0003939BC6F4@visibleworkings.com,

I wrote an article introducing testers to Ruby by way of showing how
you can use it for exploratory testing of Google’s web services
interface.

I just took a quick look and the ideas look very interesting (using irb to
‘explore’ ).

This is part of my ever-faltering effort to make Ruby the
scripting language of choice for testers.

Oh, I dunno, I’d like to think that we’re making some progress. :wink:
The more exposure Ruby gets, the more people try it and as people try it a
good percentage of them end up really liking it. We need more articles
like this.

Phil

···

Brian Marick marick@visibleworkings.com wrote:

really interesting, thanks for this.

And it is really close to the way I usually use google’s SOAP apis,
apart from using
my_driver.methods false
to check just the methods I need :slight_smile:

···

il Fri, 14 May 2004 11:20:45 +0900, Brian Marick marick@visibleworkings.com ha scritto::

I wrote an article introducing testers to Ruby by way of showing how
you can use it for exploratory testing of Google’s web services
interface. This is part of my ever-faltering effort to make Ruby the
scripting language of choice for testers. You might know a tester you
can pass it along to.

Brian Marick wrote:

http://www.testing.com/writings/behind-the-screens.pdf

That’s amazing. Very well looking visuals and the text is very clear and
still provides a good insight to Ruby. I’ll definitely recommend this
article to others who are interested in Ruby, Testing or both.

Some minor nitpicking:

The command tells Ruby that I’m going to use the WSDL package.
The value true means that the package is available for use.

I’d prefer this because it’s slightly more correct (require will return
false if the package was already available before):

The value true means that the package is now available for use.

“Make a new factory for WSDL drivers using the variable
wsdl that I just created.”

Hm, this might create confusion about variables actually being Objects
(instead of names for Objects), I suggest using this instead:

“Make a new factory for WSDL drivers using the location
that I just assigned to the variable wsdl.”

Apropos exploratory testing:

I’m currently embedding Ruby tests cloaked as examples into the
documentation of my libraries. This gives both my users and me
advantages. (I get all the benefits of being able to use Unit Testing,
because I can automatically extract and run those test cases, and my
users will always have documentation that’s in sync with the interface
of my library.)

Thanks again for that very interesting read. :slight_smile:

Regards,
Florian Gross

In article CC653CE9-A544-11D8-B292-0003939BC6F4@visibleworkings.com,

I wrote an article introducing testers to Ruby by way of showing how
you can use it for exploratory testing of Google’s web services
interface. This is part of my ever-faltering effort to make Ruby the
scripting language of choice for testers. You might know a tester you
can pass it along to.

http://www.testing.com/writings/behind-the-screens.pdf

One thing you might want to mention…

I just tried to run your first wsdl example to connect with google and it
didn’t work for me because I’m behind a firewall. You might want to
mention this as a potential problem and offer a quck workaround (I
imagine soap/wsdlDriver has some way to setup a proxy, but I don’t know it
right off hand.) Otherwise someone who tries it and has the same problem
might just give up on the rest of your article.

Phil

···

Brian Marick marick@visibleworkings.com wrote:

Apropos exploratory testing:

I’m currently embedding Ruby tests cloaked as examples into the
documentation of my libraries. This gives both my users and me
advantages. (I get all the benefits of being able to use Unit Testing,
because I can automatically extract and run those test cases, and my
users will always have documentation that’s in sync with the interface
of my library.)

That would make an interesting article as well. Write it up.

Phil

Hi,

Phil Tomson wrote:

I just tried to run your first wsdl example to connect with google and it
didn’t work for me because I’m behind a firewall. You might want to
mention this as a potential problem and offer a quck workaround (I
imagine soap/wsdlDriver has some way to setup a proxy, but I don’t know it
right off hand.) Otherwise someone who tries it and has the same problem
might just give up on the rest of your article.

Set environment variables like this;

$ soap_use_proxy=on http_proxy=http://proxy:8080 ruby wsdlDriver.rb

Your shell could expect ‘env’ at the head.

% env soap_use_proxy=on http_proxy=http://proxy:8080 ruby wsdlDriver.rb

Regards,
// NaHi

Phil Tomson wrote:

I’m currently embedding Ruby tests cloaked as examples into the
documentation of my libraries. This gives both my users and me
advantages. (I get all the benefits of being able to use Unit Testing,
because I can automatically extract and run those test cases, and my
users will always have documentation that’s in sync with the interface
of my library.)
That would make an interesting article as well. Write it up.

Heh, thanks. I’ll to do that as soon as I’ve got this in a polished
state. (I doubt that anybody would want to use it in its current state
which doesn’t feel as comfortable as one would want it to… :))

Regards,
Florian Gross

In article 40A83950.2030501@keynauts.com,

···

NAKAMURA, Hiroshi nahi@keynauts.com wrote:

Hi,

Phil Tomson wrote:

I just tried to run your first wsdl example to connect with google and it
didn’t work for me because I’m behind a firewall. You might want to
mention this as a potential problem and offer a quck workaround (I
imagine soap/wsdlDriver has some way to setup a proxy, but I don’t know it
right off hand.) Otherwise someone who tries it and has the same problem
might just give up on the rest of your article.

Set environment variables like this;

$ soap_use_proxy=on http_proxy=http://proxy:8080 ruby wsdlDriver.rb

Your shell could expect ‘env’ at the head.

% env soap_use_proxy=on http_proxy=http://proxy:8080 ruby wsdlDriver.rb

That’s pretty easy. Thanks!

Phil