[wtr-general] Re: Performance Testing

2009-04-06 Thread Tim Koopmans

At the company where I work using oss tools for performance testing
(www.altentee.com) we often use JMeter to 'spin up the wheels' or as
Chuck put it, conduct 'protocol' level testing. At the same time we
also run a quasi-smoke test if you like, using Watir to conduct
'browser' level testing.

Protocol level tests do apply load differently albeit in subtle ways.
Things like re-use or discontinued use of http connections, parallel
execution of browser threads, client render time (DOM tree parsing and
javascript processing) sometimes have an effect on end user response
time. I have seen peculiar behavior of browsers (particularly IE) when
the SUT is under load or when emulating network conditions (latency 
bandwidth). Things like '1 items remaining' or hung AJAX calls or even
large discrepancies b/w protocol level response time and *actual*
browser level response times...  That's why we see significant value
in using Watir + JMeter/the Grinder/OpenSTA at the same time.

Operations such as BrowserMob (using selenium to control ur botnet) is
useful in the sense it does sometimes simplify the script effort for
your load test. We generally script 80% of the SUT with JMeter, but
the other 20% often complicated by pesky AJAX controls and the like
are sometimes easier done in Selenium and/or Watir.

Another great use of Watir is to generate your load scripts in JMeter
from Watir scripts. It sounds like overkill, but if you know you will
be re-scripting again and again due to successive code drops etc, it's
often easier to generate  maintain these from Watir scripts i.e.
playback watir with the JMeter/Badboy proxy/recorder after each code
drop. Once you get familiar with the SUT you generally have a template
bunch of regex extractors etc to apply to your freshly generated load
scripts. I prefer to read Watir scripts rather than look at .jmx or .c
files...

Regards,
Tim Koopmans

On Apr 6, 9:21 am, Chuck van der Linden sqa...@gmail.com wrote:
 On Apr 3, 2:56 am, sai saidesertrose2...@gmail.com wrote:

  Even if you use http clients to generate requests and load test the
  app it is advisable to use real browsers to do some kind of load
  testing because thats how the app is going to be used in the end
  through real internet in the middle.

 Yes, that's how it will be 'used' but how can the server tell?   The
 point of a loadtest is to see how your servers hold up under load,
 that load takes the form of http requests..  How exactly is the server
 supposed to be able to tell the difference between requests generated
 by a browerser, or a protocol evel tool that emulated the requests
 sent by the browser?   I fail to see what value you are adding for the
 expense of having to maintain scripts for two different platforms
 (protocol level vs browser level).   If you REALLY want to experience
 the 'user experience' while the test is running, just interact
 manually with a browser.



  The approach I take is when we are developing a functionality in an
  iteration I tend to use something like http clients to find
  bottlenecks and correct them. This gives me a fast feedback on parts I
  need to concentrate on. But once the app is in good shape where I can
  use it I tend to prefer using real browsers to test it along with http
  clients. The advantage of real browser approach is it is how the app
  will be used as well it takes away lots of complexities like ajax
  processing, streaming away from you.

 Again I fail to see the advantage.. emulating ajax processing doesn't
 matter, all that matters is what kind of post or get resuts when that
 processing is done and the user responds  to it.  If there's a delay
 due to the ajax or the user 'reading' or filling in a form or
 whatever, that's what Think Time is for.   Steaming can be trickier
 I'll admit, but there are some things out there for testing flash and
 such that will let you start up a large number of streams and maintain
 them for however long you want.   But ultimately we get back to the
 question of 'how can the server tell the difference'    because if it
 can, then you have an issue with your loadtest tool, and if it can't
 why bother with the browser?

 The disadvantage is it is not
  possible to run more than three browsers at a time as they are
  resource heavy.

 There's also the expense of maintaining two sets of scripts/tests.

 And so clouds may help to scale in this issue.

 IF you have a suitable connection to the intenet that you can afford
 to load up with cloud traffic perhaps..

 If you are running a production site you dare not clog it's pipe with
 loadtest traffic.   So that means you need two more pipes one for the
 cloud load to arrive on, and one for a 'back channel' that you use to
 control the cloud, and receive instrumentation regarding response
 times, lost packets or failed responses, and perhaps telemetry as to
 what the scripts are doing at a particuar moment.. which you wil then
 need to correlate with the instrumentation of the 

[wtr-general] Re: Performance Testing

2009-04-04 Thread Andrew McFarlane

I think that Paul already mentioned this, but I started down the road of 
creating a watir script that emulated what a user does on our web site, then 
running that script on hundreds of virtual machines using Amazon's EC2 service. 
 The only reason that I didn't actually carry out the test is because the 
testing responsibility changed to someone other than me.  If you have your 
watir script(s) created, this is pretty easy and inexpensive--at least to drive 
the load.

Andrew McFarlane


Date: Thu, 2 Apr 2009 14:37:21 -0600
Subject: [wtr-general] Re: Performance Testing
From: lisa.cris...@gmail.com
To: watir-general@googlegroups.com

We have done a baseline with JMeter, we like the tool, but we used BadBoy to 
create the scripts (and it was a fairly rudimentary test). I was just wondering 
the other day if it's possible to incorporate Watir scripts with some perf/load 
test tool. I heard BrowserMob can use Selenium scripts.

-- Lisa

On Thu, Apr 2, 2009 at 2:21 PM, Jason Shelton jas.shel...@hotmail.com wrote:






All,

 

I am writing to ask the group what tools you all are using for performance/load 
testing on your web apps.  Are you using Watir?  If so, how did you structure 
your tests to simulate multiple users?  Thanks in advance for all responses.


 

- Shelton

Quick access to your favorite MSN content and Windows Live with Internet 
Explorer 8.  Download FREE now!







-- 
Lisa Crispin
Co-author with Janet Gregory, _Agile Testing: A Practical Guide for Testers and 
Agile Teams_ (Addison-Wesley 2009)
http://lisacrispin.com








_
Windows Live™: Keep your life in sync.
http://windowslive.com/explore?ocid=TXT_TAGLM_WL_allup_1a_explore_042009
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Watir General group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~--~~~~--~~--~--~---



[wtr-general] Re: Performance Testing

2009-04-04 Thread Paul Rogers
Andrew, how easy was it to set up the ami with a watir environment? How did
you control running the scripts?

Paul

On Fri, Apr 3, 2009 at 1:22 PM, Andrew McFarlane welkin_...@hotmail.comwrote:

  I think that Paul already mentioned this, but I started down the road of
 creating a watir script that emulated what a user does on our web site, then
 running that script on hundreds of virtual machines using Amazon's EC2
 service.  The only reason that I didn't actually carry out the test is
 because the testing responsibility changed to someone other than me.  If you
 have your watir script(s) created, this is pretty easy and inexpensive--at
 least to drive the load.

 Andrew McFarlane


 --
 Date: Thu, 2 Apr 2009 14:37:21 -0600
 Subject: [wtr-general] Re: Performance Testing
 From: lisa.cris...@gmail.com
 To: watir-general@googlegroups.com

 We have done a baseline with JMeter, we like the tool, but we used BadBoy
 to create the scripts (and it was a fairly rudimentary test). I was just
 wondering the other day if it's possible to incorporate Watir scripts with
 some perf/load test tool. I heard BrowserMob can use Selenium scripts.
 -- Lisa

 On Thu, Apr 2, 2009 at 2:21 PM, Jason Shelton jas.shel...@hotmail.comwrote:

  All,

 I am writing to ask the group what tools you all are using for
 performance/load testing on your web apps.  Are you using Watir?  If so, how
 did you structure your tests to simulate multiple users?  Thanks in advance
 for all responses.

 - Shelton

 --
 Quick access to your favorite MSN content and Windows Live with Internet
 Explorer 8. Download FREE now!




 --
 Lisa Crispin
 Co-author with Janet Gregory, _Agile Testing: A Practical Guide for Testers
 and Agile Teams_ (Addison-Wesley 2009)
 http://lisacrispin.com




 --
 Windows Live™: Keep your life in sync. Check it 
 out.http://windowslive.com/explore?ocid=TXT_TAGLM_WL_allup_1a_explore_042009
 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Watir General group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~--~~~~--~~--~--~---



[wtr-general] Re: Performance Testing

2009-04-02 Thread Lisa Crispin
We have done a baseline with JMeter, we like the tool, but we used BadBoy to
create the scripts (and it was a fairly rudimentary test). I was just
wondering the other day if it's possible to incorporate Watir scripts with
some perf/load test tool. I heard BrowserMob can use Selenium scripts.
-- Lisa

On Thu, Apr 2, 2009 at 2:21 PM, Jason Shelton jas.shel...@hotmail.comwrote:

  All,

 I am writing to ask the group what tools you all are using for
 performance/load testing on your web apps.  Are you using Watir?  If so, how
 did you structure your tests to simulate multiple users?  Thanks in advance
 for all responses.

 - Shelton

 --
 Quick access to your favorite MSN content and Windows Live with Internet
 Explorer 8. Download FREE 
 now!http://ie8.msn.com/microsoft/internet-explorer-8/en-us/ie8.aspx?ocid=B037MSN55C0701A
 



-- 
Lisa Crispin
Co-author with Janet Gregory, _Agile Testing: A Practical Guide for Testers
and Agile Teams_ (Addison-Wesley 2009)
http://lisacrispin.com

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Watir General group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~--~~~~--~~--~--~---



[wtr-general] Re: Performance Testing

2009-04-02 Thread Chuck van der Linden

On Apr 2, 2:01 pm, Paul Rogers paul.rog...@shaw.ca wrote:
 most load tools do direct http posts/gets/put requests. jmeter does this
 using a java library, to get the high levels of virtual users.
 Browsermob uses amazon cloud running ms windows 2003 server and a real
 browser.

Paul is absolutely right in this regard.  This is because the overhead
of rendering and running client side code means if you use anything
remotely resembling a 'real browser' it won't scale well, and you will
need a small fleet of systems to generate the load.

It's also un-necessary.  some vendors who don't support protocol level
load will try to justify their tool as being 'more realistic' which I
say is utter one-hundred percent hogwash.  The server has NO idea who
is sending those packets, and it can't tell IE or Firefox from a good
tool claiming to be IE or Firefox.. the 'realism' is all in the mind
of the salesman because the web server hasn't a clue.


 Ive think the best way of doing load tests is to use jmeter or other tool.
 You may be able to record a script via the jmeter proxy when watir is
 running. I can see a lot of advantages to this, but it takes a lot of hand
 editing to go and make the recorded jmeter script usable for more than one
 user.

 Ive found load testing to be a particulary difficult thing todo. Mostly
 because of the question what are we trying to do here? - find out what bit
 breaks first? Find out how many users we can support before we need a new
 bit of hardware? Find out what the slowest operastion is? Find out how to
 make the slowest operation better? There is a book that Scott Barber was a
 coauthor of, that is available as a free pdf that is good reading.

I agree 100% Paul.  load testing and perf testing is some of the more
'scientific' testing you can do, it requires close attention to
detail, tight control over variables, tests that are highly
reproducable, and as you point out you have to start out by asking the
right question.  A loadtest is basically an experiment, and like any
experiment it's only going to be as successful as the hypothesis it's
trying to prove or disprove.  If you don't know the question you are
trying to ask, you're not likely to design loadtest that will give you
results you can use.

As for myself, I've used both loadrunner (really good but really
expensive) and Microsoft's Visual Studio Team System2008 (both the
test edition and team suite versions have a HTTP level web-test
and loadtest capability)  I found in my work that it scales well and
blows loadrunner away in terms of bang for the buck.  I've used it
with just a single machine as the load generator (also running the
controller as wel) and brought both webservers and db servers to their
virtual knees and had they crying uncle!  There's also an excellent
MSDN forum with some of the main pm's etc providing advice and
support, and a small collection of videos and such.

The downside is that it does all the SUT monitoring via WMI
(Microsoft's implementation of WBEM) which works fabulous on windows
servers, but because the *nix community never implemented WBEM (a
multi vendor DMTF standard) there's no performance monitoring daemon
that allows you to connect to the machine using WBEM, and hence you
can't monitor the performance of non windows servers, and without good
(really good) data on how the systems are being affected by the load,
corrilated with what the scripts are doing, the loadtests are of much
less value.

Sorry but this is a bit of a soapbox for me. it's really ironic in a
way that the closed' windows OS, because MS implemented an open
standard is more accessable in terms of remote monitoring and
rathering of system information (out of the box without having to
installl anything, and merely configuring some accounts that are
allowed to access the data) than the supposedly 'open' os's which
never adopted that standdard and are thus a relative black hole in
terms of being able to remotely monitor performance counters

--Chuck
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Watir General group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~--~~~~--~~--~--~---