[Update: here’s a video of the demo . . . Note: When you watch it on the YouTube site, you’ll probably like it better in a pop out window so you can resize it a bit larger. Direct YouTube link. ]
When the demo gods are against you, what are you going to do?
Sometimes the problem that causes a demo to crash and burn is something horribly complex and difficult to diagnose, and sometimes it’s the simplest thing that can cause a demo to go wrong.
And when you’re in front of a bunch of folks, sometimes a simple issue looks horribly complex. Unfortunately this was the case during my DevConnections session this afternoon. The problem looked huge. My Web Performance Tests wouldn’t complete successfully. The load tests wouldn’t run. I would walk through my web application, no problem. I’d make the recording, no problem. But when it came time to run the automated test: problem.
A failing test. . .
The thing is, I had been running through this demo for a few days. And it had never failed like this. I even ran a load test prior to the session, while I was waiting on folks to arrive, and it seemed to be working.
All systems go, right?
And I just couldn’t figure out what was going on. I tried running against IIS Express, against the site in IIS itself, and it would display fine in the browser, but when I tried to run the test against it, it would fail. I closed down VS and re-opened it, but no. That wasn’t it either. Crash and burn. Flames everywhere.
Fortunately I had made some screen shots and was able to talk about what things should have looked like, but. . .
That’s kind of like the difference between
showing you a picture of a key lime pie while telling you how good it is,
and handing you a piece of key lime pie to let you taste for yourself.
It’s just not the same thing. Totally lame.
So, of course, as soon as I got out of the room and sat in a chair and looked at the screen, I saw the problem.
The web site in the browser. . .
The web site in the test run results. . .
See the red X of death in the test run results? Over there, where the RSS button image is supposed to be?
Yeah, that was the problem. The image was cached in the browser. But the automated web test wasn’t going to have any of that… it wanted to SEE it. It wanted to get the image from the source; it didn’t want a cached version. So it failed the result.
During the session, all I should have done was expanded any one of the failed steps to the lowest node, such as this:
The culprit. . .
When I pulled the source code for my public web site and got it running on my laptop, I’d forgotten to change the reference to the RSS button image. Which pointed back to SnowstormLife.com. On the internet.
EVERY TIME I HAD RUN THROUGH MY DEMOS BEFORE THE SESSION, I HAD BEEN CONNECTED TO THE INTERNET.
But in the session itself, I wasn’t connected. As a result, the automated test run couldn’t resolve the image location. The test results were just sitting there, trying to tell me that that was the issue. Screaming at me!
But I missed it.
And this was a session on testing. And figuring out what’s going on with an application that’s being developed. Ironic, eh?
I guess this is what A-Rod feels like in October.
So, even though this falls into the “too little, too late” category, I’m going to record the demo (a working version) and post it online for you to watch. If you’re interested. I’ll update my blog entry with the link once I’ve posted it.
And in the meantime here’s a link to my slides, which are already online: http://bit.ly/eT5P6M. Feel free to download them, print them out, then throw them into the shredder. That’s what I’m going to do. Then the demo gods will be happy and I’ll be able to move on.
Anyway, thanks for coming to the session. Wish I could have let you taste the piece of the key lime pie. It’s delicious.
P.S. Baris, I hope you enjoy the Zune!!!