Testing web applications

Client Side Testing

Note to myself: unit testing is a great thing and I should do it more, I plan to do it more. But, unit testing is not enough...

What we need for web applications (or complex dynamic web sites if you prefer) would be something like this: the TEST program would act like a regular web browser, executing javascript and all the rest. The main difference with a web browser would be that the TEST program would be scriptable.

You could script it to log in, enter data into forms, perform search requests, check that the requested data appears on the screen, etc... You may even want to compare the generated HTML with a prerecorded excerpt. You may want to tolerate differences like white spaces and may be even non structural tags (ignore spans, styles attributes, etc...)

Of course, you'll want the TEST program to validate the XHTML output as well as the CSS styles.

Advanced testing would involve sending onclic events to specific objects on the page and see how the javascript behaves.

You'd have different scenarios you could run in sequence to fully test your application.

Even better: you could run multiple scenarios concurently (you'll need cookie isolated client threads for this) in order to stress load your application and record response times.

God, I gotta stop dreaming about it and find that gem...

Later:

I found a few potentially interesting tools here:

  1. Puffin Automation Framework. Open Source. [No longer exists]
  2. QEngine WebTest. Free / Commercial. [No longer exists]
  3. WAPT Web Application Testing. $ 250.
  4. WebKing. Commercial.
  5. OpenLoad. Commercial. [No longer exists]
  6. Web Performance Load Tester. 499 € +.
  7. iMacros. $30 - $499.
  8. eValid [No longer exists]

Mucho later:

There's more than the code...

Oh well... I think it's been too long since I last read some great wisdom like the one on Joel on Software.

I read this really insightful peace today about all the important things beyond just the actual software code.

Here's a funny quote:

Human emotions can be really, really superficial. In particular people ridiculously overvalue aesthetics and beauty when evaluating products. It's one of the reasons iPods, and, for that matter, Keanu Reeves, are so successful.

...but the whole article is definitely a must read!

Of course, this so much applies to b2evolution as well... :-/

Sendo X Flashlight

There's this freeware app, called Torch, that allows you to buse your Series 60 phone as a torch/flashlight by blanking the screen and maintaining the backlight on until you exit the app.

Pretty interesting (you know when you drop your garage keys at night... :P), except the screen backlight isn't even remotely as bright as the the camera Flash LED on the Sendo X. That's what I would like: an app allowing me to turn on/off the camera Flash on demand!

The incredible thing is that apparently noone ever bothered to release something like this... although it's very likely to be just a simple API call... Well... I guess not enough Series 60 developers own a Sendo X... :'(

Flash Lite getting real

And now, the Flash Virtual Machine is going mobile... for real! :)

NOKIA SIGNS LICENSING AGREEMENT WITH MACROMEDIA

Series 60 becomes a reference mobile platform for Macromedia Flash technology

Nokia (NYSE:NOK) and Macromedia (Nasdaq: MACR) today announced a licensing agreement that will integrate Macromedia Flash technology into Series 60 Platform. Series 60 becomes a reference platform for Macromedia’s mobile Flash technology, and Macromedia will implement new versions of its mobile Flash technology on Series 60. Nokia has also agreed to support Flash in its other software platforms.

Press release here.

The Flash Virtual Machine

Sometimes I wonder if Macromedia isn't going to succeed with Flash where Java failed... on this particular topic of harware and OS abstraction. Flash Lite makes their virtual machine (aka "player") more real than ever. Russ has all the details so I won't even try to repeat them here! :P