If you remember my last blog (click here to refresh your memory – and your browser), I was left eating a Caesar’s Salad (plain, for those who are truly curious) and trying to get through some test cases. Not succeeding, mind you, but trying.
1:00pm – This afternoon finds me at my desk, happily munching on my salad. I decide that now is a good time to check up on my email, as I haven’t even glimpsed at it in the last few hours and email, much like rabbits, tend to multiply out of control unless one sternly takes them in hand. [Aside: We have rabbits in Redmond. All over the campus! I love watching them hoppity hoppity. They look embarrassingly productive. :)] So that’s what I do. Munch my lunch, and read my email. Yawn. Let’s move on, shall we?
1:45pm – Lunch completed, I now attempt, once again, to return to my test cases. This time, I am more determined so I set my email to "OOF – Out of Office" and set my Personal Status Message on Messenger to "Do not Disturb Unless there is a Fire or Someone has Donuts". I would nail my office door shut but (1) I may have to.. well.. you know… leave at some point and (2) my officemate may become cranky with me. Hiding works wonders and I actually get through a few test cases before….
2:20pm – I realize that I am going to be terribly blocked on a large-ish number of my test cases if I don’t modify a few of my tools. It has been something I have been MEANING to get to, but hey. Did I mention the four iterations of Messenger?!? Also, I sleep sometimes. And sometimes I eat NOT AT MY DESK. So, I am thinking "No time like the present!" and I pull out some code I inherited and start spec’ing out the changes I am going to have to make to get my test cases run. Specifically, I need to try to figure out how the heck am I going to test how Messenger reacts when (and if, of course) various servers return with a whole host of different types of Errors. Parse errors. Disconnect errors. ServerBusy errors. Etc, etc.
Now, instead of giving you a blow-by-blow of my BRILLIANT and INSIGHTFUL coding that resulted in an INCREDIBLY USEFUL tool (grin), I will instead, explain somewhat of why these tools are necessary. Ok. Imagine you are a Messenger User. WHAT?!?! The deuce you say! A Messenger User?!? Yes. Imagine that you are. Now, you, as a Messenger User might get annoyed or somewhat, dare I say, peeved if a tester (such as myself) requested that a number of livesite (i.e. "in the world") servers be made to throw errors all over the place just so I could be sure that Messenger reacts well to server errors. Now, wouldn’t you be a bit peeved? Miffed maybe even? Exactly. And yet, as a diligent Messenger tester, I must make sure that those test cases are run.
Enter… tools. Instead of creating havoc for you, the loyal and ever so mellow Messenger User, I am instead creating a Fake Server. One that will throw errors on demand! Yay! Cool huh?!? A FAKE server!!! Yeah, well, each to his or her own… =)
4:30pm – Having spec’d out my FakeServer (yes, I named it FakeServer), I am now diligently coding away, creating UI, and, on occasion, looking over my emails to see if the livesite issue I saw earlier in the morning is progressing well. Email, again, like rabbits, often misbehaves when not watched. People might want something from me or worse, volunteer me for something. Yikes!! Can’t have that! "Oh, we need someone to sit in their office for the next few days doing nothing but sipping luke warm tea and reading SuperBoring™ documents while humming showtunes. Well, Wendy will love to do that!" Uhm… Negatory!! If something like this occurs and I am on email, I can quickly respond with something like "Well, while I would LOVE to volunteer for this RIVETING and EXCITING venture, I am, unfortunately, allergic to SuperBoring™ documents and showtunes make me hurl. So sorry!! Also, my religion forbids me from drinking tea. Luke warm tea is right out." See? Vigilance! Ever, vigilance.
6:30pm – Having completed Phase I of my Great Tool Project, I am considering scooting on out the door. And, if I had been wise, I would have done exactly that. However, I have a small thought instead (dang those small thoughts!) and decide that if I just waited a few minutes, I could contact some of our overseas partners and make sure that they can access my FakeServer. I mean, as sweet as it is to have a supercalifragilistic and expialidoceous FakeServer all to myself, it won’t be very useful if it just sits on my desk looking lovely. So, I wait. Sure enough, a few of my China friends come online and I ask them if they can access my shiny new toy. They can’t, so I decide to take a few more minutes to see if I can rectify the situation….
8:30pm – Which I finally do at some unholy hour of the night. Not that 8:30 is ghastly, but it’s not nearly as nice as say 6:30 (snort). But, diligence has paid off and my coworkers, friends, allies, partners, etc can now access the FakeServer as well. In addition, I have also began spec’ing out Phase 2, and I was able to spend a few minutes running yet another test case! Woohoo!
And that was my day. A Tuesday, in fact. It was a long day, as a lot of them are, but there are also the days that are meeting-free with no real deliverables that find me taking a long lunch in the dog park with my neighbor and his little baby dog (or the ‘lbd’ as he calls him). And there are days that I spend doing nothing but email, and days when I do nothing but code, and days when I am running test cases, madly, in an attempt to track down a bug or make a deadline. There are days when I ask myself what the heck am I doing here and who in the heck are these people?!? And there are days that I can’t believe that I get to do what I do AND that someone actually pays me to do it. Like, they pay me money! Muah ha ha ha!!! But let’s just keep that last little part between you and me, shall we?
Wendy the Mighty