Sign up in 30 seconds.
No credit card.
No risk.
No download.
Load Testing Blogs
3 Steps to Diagnose Stuck Transactions in Minutes
NoSQL or Traditional Database: From an APM Perspective There Isn’t Really Much Difference
Fact Finders: Sorting out the truth in Real User Monitoring
How to Triple Throughput and Improve Application Performance Through End-to-End Testing
Speaking at STPCon this week – Top Performance Landmines
What is the Best Way To Learn Selenium?
(a small rant on asking answerable questions)
At a certain online QA/Testing Forum I regularly visit, the Selenium forum is one of the most active.
I continuously see newbie questions like: "How I do I learn Selenium?", with little or no other context given.
Then, helpful responders chime in with tangentially related answers. That's about as good as you can do, based on the lack of information given in the original post. This happens often and wastes significant brain activity in the responders, while generally giving no value to the OP or forum community.
So first... a clarification:
Selenium WebDriver is a system for automating browser interaction. It is accessed via programming library/API. If you want to use it without touching code, it is not possible (record/replay/export-madness via IDE aside). You can abstract away most of the programming aspects with higher level frameworks, but at that point you are no longer really dealing with Selenium anymore.
Here was my response to a recent forum example:
Question asked:
"Best way to start learning Selenium - I would like to know what is the best practice to start with Selenium for non programmers. Is there any books or ebooks?"
The responses compelled me to chime in with a rant:
To anyone on this thread looking for the "Best way to start learning Selenium":
Think of it this way:
Selenium (WebDriver) provides language bindings and a similar API for several programming languages. It gives you a programming library that can manipulate a browser and web elements/controls.
You can't "learn" a library for a programming language if you don't know the language itself (syntax, idioms, etc).
So the question shouldn't be: "How do I learn Selenium?", with no other information or context given.
Selenium should be used with either: the supported language that you are most comfortable with, or the language of the system under test you are working against.
If you are looking for information, be specific about what you want to learn. General understanding of the components that make up Selenium is great, but really, using the API's from any language is the best way to learn. If you specify a programming language along with your question, at least answers can be directed towards frameworks, code samples, documentation, tutorials, etc, that are *relevant* to you.
Diving into the main Selenium docs can be confusing at first, as it covers things from a general level... mixing in code samples from various languages.
So, my question to you: Which programming language are you going to use Selenium with? If you define that, someone can surely help point you in the right direction.
How are your programming skills? Which language do you want to learn in? If you know several, switching is trivial down the line, as the API's are similar between languages.
If you don't have skills in any Selenium supported programming language (java, c#, python, ruby, php, etc), then learn one of those before you even touch Selenium. If you have a language in mind, please phrase your question using that in context.
happy hacking,
-Corey
p.s. now go RTFM: http://seleniumhq.org/docs/
rant over.Bridging the Chasm: From Collision to Connection between the Mainframe and the Distributed World
There’s something about The Network …
Simulating realistic load using Load Impact
We’ve had this question posed a couple of times in the past, so we thought a blog article might help to clarify how a load test is being executed.
Load Impact’s basic functionality is geared towards simulating user behavior on your site in the most realistic way possible. In a real live situation, if you were to have 500 users on your website at the same time, you probably won't have all 500 of them on the same page. Some users might also take time to read material on the page, so not all your users will be loading resources. Load Impact tries to simulate that as realistically as possible. An easy way to do this would be to use one of our features called the Proxy Recorder, which helps you in creating a script simulating a user visiting several pages on your site.
When you start a recording, a new browser window with your target URL opens, and whatever actions you do there will be recorded. The HTTP requests will then be translated to a script when the recording is over, which you can further edit if necessary.
So when you start a test, what actually happens is that we will start by running your script with one user, and slowly ramp up to i.e. 500 SBUs. When the script runs to completion, it will re-run itself until the time runs out. Now if you look at your script, you will see that there is something called "client.sleep". That is the time that the user spends browsing each page, and serves as a simulation of what real users do. At the same time, since we add clients to your site in a ramp up situation, what you will get is that some users would be on Page 3 of your script while others are just starting on Page 1. This will mean that each page will never be subject to a load of 500 concurrent users loading resources at the same time.
However, it is important for you to know what your testing goals and objectives are prior to the scripting of the test. If your test objectives are to simulate a marketing campaign where you expect most of your traffic to flood to one page, the initial example might not be suitable for you. Instead, you might want to dedicate one user scenario which simulates the repetitive loading of one or two pages.
You could then have a few other scripts simulating browsing around the site, and how the minority user behavior would be.
You can create and modify scripts using our text editor or graphical editor, but generally if you're intending to modify the script dynamically we highly encourage using the text editor, and if it's simple editing both the text and graphical editor would work.
Performance Improvement is not Performance Optimization
Scalability Testing in Production
I just posted an article on how to performance load testing in production on the Box Tech blog – check it out.
The focus of that article is applying load to ensure that the system is stable and performs reasonably. This should be distinguished from Scalability Testing where the goal is to measure the scalability of the application for performance analysis as well as capacity planning.
To test scalability, it is important to increase the load methodically so that performance can be measured and plotted. For example, we can start with running 100 emulated users, then increment in terms of 100 until we reach 1000 users. This will give us 10 data points which is sufficient to give a good estimate of scalability. To compute a scalability metric, take a look at Gunther’s USL (Universal Scalability Law).