I have been preparing for our coming session at CAST2007 (http://www.associationforsoftwaretesting.org/conference/sponsoredevents.html) and thinking of the different topics we want to discuss with the performance tester community and while doing so I thought why not widen the audience and publish few of the questions in hand here on my blog.
The general idea for such a focus group is to present few of the themes we are debating between and get the team comments and suggestions. Although in the ideal world we wouldn’t have to choose, in the resource bounded reality which we live in we don’t have that luxury.
As Robert Frost wrote in the “The Road Not Taken”, once one takes a certain road, there’s no turning back, although one might change paths later on, they still can’t change the past.
Where should we invest? Question 1:
Should we build a better load generation tool and leave performance analysis to the performance tester himself? Or should we add more tools and support for analysis of the results and identify not just the performance problem but also the source of the problem?
|
Load Generation product
|
Performance testing product
|
|
Invest in more protocol support,
to be able to generate load to more application such as new rich internet application frameworks (RIA).
|
Invest in performance measurements area by adding more measurements and better correlating measurements on client and server.
|
Where should we invest? Question 2:
Who is the performance tester? Can we lower the barrier and make performance testing more accessible?
I recently got a nice observation regarding performance tester profile from a colleague Corey Goldberg
“.. and an observation:
From several years of reading the OpenSTA mailing lists and talking to countless performance testers using a variety of tools, I realize there isn’t much middle ground for performance testers.. they tend to fall into 1 of 2 categories:
1. “I understand HTTP and scalability.. I know exactly what I want a tool to do.. I am a proficient programmer”
2. “I have no idea how to program. I have no idea what performance even is, let alone how to generate load or monitor it… my boss assigned me this task and any tool I choose will be shelfware within a few weeks”"
So going on with these lines here is the question:
|
Performance tester as a naïve user
|
Performance tester as a proficient programmer
|
|
Invest in “No Code” theme by providing better recording, better session correlation and automation.
|
Provide more advance drill down feature better access into the system code including root cause analysis.
|
Where should we invest? Question 3:
The next question refers to the type of tool we want to see. These days everybody are talking about collaboration and with the Web 2.0 hype and user generated content it is becoming the magic words for hiring people, getting investors funds and publishing PRs. But is this what the performance tester needs? Do we want a collaboration tool or a desktop application?
|
Performance Collaboration Framework
|
Performance Tester Weapon
|
|
Build a collaboration framework for analysis performance data in shared environment while integrating different teams like the system team, DBAs.
|
Build a professional desktop application with online\offline capability like any other development tool environment. Collaborate with other team members using mail.
|
Where should we invest? Question 4:
I had to go through few years of therapy before I realized that sometime being smart is better than being right J - and this refers to some debates we had around SOA testing in general and Web Services support in specific.
|
Framework compliance
|
SOAP Spec compliance
|
|
Build Web services support using different SOAP framework and SOAP client provided by these frameworks, such as Axis client.
|
Build Web services support based on the SOAP spec regardless of any framework implementation.
|
Obviously in ideal world these two should be the same but from previous experience they are not always so. So why smart and not right? Because if the developer is not looking for interoperability and only using WS as a internal client-server remote procedure call, than the load tool should help him generate load using his client stack tool of choice and not bother him with spec compliance issues.
A side note regarding Web services is the place for web services test during the life cycle of the system. We should strive to make sure that the script generated from traversing the WSDL while testing the WS as a standalone component early in the cycle match as much as possible to the same script recorded while testing this web service through end client application as part of the overall system test.
As usual comments are welcome…