Sunday, April 06, 2008

Are You Ready for "Green Testing"?

"Green IT" has been without doubt one of (if not the) the main hypes of this years CeBIT. The discussion about CO2 emissions has let the automotive industry all the way from a hype to a point that you'll be able to get even a Porsche with a hybrid engine in the near future. Regardless what one might think about that current hype, i think "green" technology is a good thing (no need to argue about that). While computer hardware actually does require less energy with every new generation of CPUs for example, most current trends in software engineering (from "green screen appliactions" or rich clients to WebApps, domain specific languages for higher abstraction, trading simple PHP-scripts for MVC frameworks like Rails, from unmanaged code to byte code that runs on virtual machines) do require more hardware resources on the other hand.

In order to create greener systems the software industry has to go a way similar to that the automotive sector did in the last years:
  • Engineering with efficiency in mind
  • Measuring the efficiency
  • Discuss the results, make them matter
This blog post by Yahoo!s performance expert Steve Sounders made me think about green IT from a load and performance testers point of view. As a performance tester you measure the efficiency of software systems against requirements based on response times, a number of transactions/concurrent users in a given time interval. All those factors have influence on the power consumption (and as such on CO2 emissions) of the system under test. So much for the theory.

In practice there are few projects with defined non-functional requirements just like the mentioned above. Without an quantified workload (output) you are not able to tell if the usage of hardware resources (input) is reasonable or not - not to mention being able to optimize the system.

furthermore most performance testing is done in a late project phase when there's no time left for architectural turnarounds in case of a severe bottleneck were found. This leads to the usual solution: throwing more hardware at the system (which doesn't exactly match the definition of efficiency, does it?) - more on the downsides of that waterfall approach to load testing popped up on testingreflections recently: here and here.

So, what comes next? Will "the system should be efficient and green" become a standard non-functional requirement of large software systems? Will they refer to us performance testers as the "green team" someday (in analogy to the "black team")? I think it would actually be pretty cool to give efficiency a greater significance in the IT world. Or am i the only one thinking the "throwing more hardware on the system" thing isn't really up to date anymore?

Tuesday, March 18, 2008

Got Developers?

I just received a phone call from a colleague at work asking me if one of us test engineers could help her out with some J2EE XML development gig. The funny thing is no one of us has worked as a developer for years... ok, we still do some programming and scripting to support our testing efforts and play around with some cool stuff in our free time but that hardly makes us experienced software dev guys ;-)

Aparently our company's offshore/outsourcing stragtegy for the last few years has caused that many of our onsite developers have quit their jobs, which leaves the business analysts asking the test guys to develop the software... what a funny world :-)

Friday, March 14, 2008

Rockers ;-)

The company i'm with recently made a partnership deal with those guys:

obviously they rock (sort of) ;-)

Monday, March 03, 2008

Catching up with Ruby 1.9

I finally got the time to play around with Ruby 1.9. It seems like Ruby can handle escaped unicode sequences now (finally! after all the pain we went through dealing with this encoding with Ruby 1.8.x...) :-)

puts "\u00fc"
=> ΓΌ

There have been some improvements regarding the speed. This benchmark went down from 12 sec (with Ruby 1.8.x) to 5 sec on my sweet Mac Mini (1.5 GHz, Core Solo). Ruby 1.9 looks promising so far - maybe i'll keep it in my toolbox.