--
You received this message because you are subscribed to the Google "LoadRunner" group.
To post to this group, send email to LR-Loa...@googlegroups.com
To unsubscribe from this group, send email to
LR-LoadRunne...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/LR-LoadRunner?hl=en
1. Go to your LoadRunner web virtual user training manual.
2. Turn to the section on the use of web_reg_find().
3. Review the class discussion material and lab material.
You will find your exact question and use is covered.
James Pulley, http://www.loadrunnerbythehour.com/PricingMatrix
There is a well known and defined return on investment from training in LoadRunner. At the absolute minimum the difference between a trained and untrained person is an untrained person is only 20% as efficient as a trained one. And this assumes that core skills are in place. If you have a person who is weak in some core skills related to code development, testing, planning, analysis then you are looking at efficiencies dropping into the 5-10% range. Even less with some of the more exotic protocols. This efficiency hit acts as a thief against the budget for the test efforts, stealing resources from the effort and even from the mission of the company.
As I drove in this morning I was speaking with a colleague about an incident that occurred in California. Mid last year a large multinational firm had a pretty severe performance problem with an application and a colleague was asked to take a look at this issue. Within a couple of hours a hypothesis was in place that the cause was a memory leak and that this person would need access to some tools to validate the error. Well, this person is pricey compared to most in the market, but the skills and knowledge are worthy of the rate. The client supply chain yanked on the short hairs of the project managers not to pay that rate. So instead this company went through a large performance test effort with inexpensive and ineffective resources who were not able to even come to a hypothesis about the source of the performance problem. Fast forward six months to December and after a couple of hundred thousand dollars had been expended on the performance test effort the same colleague was once again asked to take a look. Two days later the problem was pinned down. It was a memory leak in the areas covered by the original hypothesis dating back some six months. Now, this colleague does have a price and that price is in the range of 5x what the other performance team individual members were charging. The supply chain didn’t bat an eye at the hour upon hour of inexpensive labor, but questioned even an hour or two of the higher rate. The cost for the more expensive resource to pin down the issue? Around 1% of the total cost of the team of less expensive resources. The opportunity cost of six months of ineffective performance testers hunting in the dark for a light switch likely can never be recovered.
The supply chain at many companies has forgotten the core issue of value, which is distinct from price. In the absence of a standardized industry credential to act as a discriminator of quality they lump all providers together in a commodity view. This perspective costs organizations severely every single day when it comes to performance test efforts as well as automated functional test efforts.
“It's unwise to pay too much, but it's worse to pay too little. When you pay too much, you lose a little money -- that is all. When you pay too little, you sometimes lose everything, because the thing you bought was incapable of doing the thing it was bought to do. The common law of business balance prohibits paying a little and getting a lot -- it can't be done. If you deal with the lowest bidder, it is well to add something for the risk you run, and if you do that you will have enough to pay for something better.” John Ruskin, The Common Law of Business Balance
Training is the first step on the path to success in any discipline: Being a performance tester is no different. If your management at the Red Cross is unwilling to follow a path of training and mentoring in this discipline which results in a high quality and high value deliverable then they are disinterested in success in this endeavor and they would be well served to simply abandon the performance test practice. A bad performance test is worse than no test at all for it creates false impressions about the scalability and performance of a system which are used to set users expectations. Poor quality tests will spawn engineering ghosts that development will spend sparse dollars chasing. Core tasks will take significantly longer to accomplish, taking scarce funds from the core mission of the company. Food for a disaster victim for a day or one more hour of script development? That’s easy, if the testing effort is of challenging quality then save the money for food and shelter for the disaster victims.
James Pulley, http://www.loadrunnerbythehour.com/PricingMatrix
Would you hand an untrained person a firearm and tell them to “just figure it out?” Would you engage in the same behavior with a potentially very destructive performance test tool? Why or why not?
Very well put, James!
Noelle
////////////////// Set Verification Key Word for Each Page ///////////////
startTransaction (LR_PARAM _keyWords ,LR_PARAM _transactionName) {
lr_save_string (_keyWords,"_keyWords");
lr_save_string (_transactionName,"_transactionName");
// Verification
web_reg_find("Text={_keyWords}",
"SaveCount=Welcome_Count",
LAST);
// Positive verification for Json call if there is no data
// web_reg_find("Text=personId",
// "SaveCount=personId_Count",
// LAST);
//
web_reg_find ("Text=numFound",
"SaveCount=personId_Count",
LAST);
// Negative Verification
web_reg_find("Text=Our Apologies",
"SaveCount=Error",
LAST);
// Negative Verification 1
web_reg_find ("Text=There are no columns",
"SaveCount=Error1",
LAST);
// Negative Verification 2
web_reg_find ("Text=The data in this form has been changed ",
"SaveCount=Error2",
LAST);
web_reg_find ("Text=Exception",
"SaveCount=Error3",
LAST);
web_reg_find ("Text=This action is no longer available",
"SaveCount=Error4",
LAST);
lr_start_transaction (lr_eval_string("{_transactionName}"));