Mark Gilbert's Blog

Science and technology, served light and fluffy.

It pays to show up for jury duty

About two months ago I got a jury summons in the mail.  As it turns out I was going to be out of town the day that they had me down for, so I called and had it rescheduled to today.

I checked the county web site last night to see if my juror group (#1) was called in, or called off.  Group 3 had already been dismissed, but the site asked that groups 1, 2, and 4 check back this morning at 8:45 to see if we were needed.

So I checked back at 8:45.  Sure enough, groups 1, 2, and 4 were called in.  This wasn’t the first time I received a summons, but this was the first time that I was actually asked to report.  Ok, no problem.  I have some work I can bring with me, and some time to work through a novel.  Who knows, I’ve never sat in on a real trial, even as a spectator, so this would be an interesting experience.

I show up at the courthouse about 9:15, and followed the directions to the Clerk’s window.

“Good morning,” I said.

“Good morning,” she replied cordially.  “How can I help you?”

“Is this where jurors check in?”

“Yes it is, but the juries have all canceled for today.”

“All of them?”  I asked, surprised.

“Yes.  Can I get your name?”  she asks.

I showed her my summons, and as she searched for my name on her list she explained.  “Yeah, about 10 minutes after the call went out they decided that they didn’t need anyone after all.  I’m just checking your name off for showing up so you can still get paid.”

 

Had I checked the site 15 minutes later than I did, I would have seen the message “No jurors need report”, and not bothered to go in.  Let this be a lesson to all of you out there who have made fun of me for being on time.  Na na na-na na.  Pbbststst.

Advertisements

August 5, 2008 Posted by | General | Comments Off on It pays to show up for jury duty

Web Service Testing – Part 4 of 4

In this final post, I’ll discuss an inherent problem with the test suite I constructed for a web service I wrote.  The first three posts covered the basic structure of the test suite, a performance issue that I worked around, and the value that the suite brought to the project.

Each test would hit the web service twice, once to perform a search of “include by X” and the other “exclude by X” where “X” was some search criteria.  I would count the number of records returned by each and add them together.  I expected to get the total number of records.  The inherent problem with this is that all three numbers were obtained via the web service.  I am effectively testing the web service using the web service.  The tests aren’t providing an independent critique of the functionality under test.

As I thought about the problem, I came to the conclusion that the ideal way to test the service would be to insert a few test records with known values, use the web service to check that I can retrieve those records by searching on those values, and then delete the test records when the test was complete.  Assuming that my test-record-insert and test-record-delete methods were working properly, this would be an independent test of the service.  Unfortunately, I don’t have direct access to the pre-production and production databases, so my “ideal” test suite wouldn’t work in all environments.  I wanted to be able to run the majority of my suite against all environments, so that I could verify the functionality in development, and verify that the service was being deployed correctly to the other environments.

What we ended up doing to provide this independent test was to take one of our web sites that currently accesses the database and rewire it to pull data instead from the production web service.  Then, we checked the rewired site against the current production site, and compare the data being brought back.  This became our independent check on the service (which, by the way performed beautifully; no new issues were discovered in this final test).

August 5, 2008 Posted by | Agile, Visual Studio/.NET | Comments Off on Web Service Testing – Part 4 of 4