Sunday, October 13, 2013

Planning Ahead

I just flew over the North Pole.  How amazing is that?

Over this past year, I've been working on the most challenging project of my career.  It’s taken so much focus that I've let a good number of things slip; including this blog. 

“I’m so busy with work that I can’t focus on my career!”

I said that to my boss a few months ago.  It was meant to be more ironic funny rather than the tragic funny that it sounded like  I’ve been doing software testing for roughly 16 years now and I’ve been so reactionary, that planning ahead to what I would do next seemed like something I would do “when I got older.”  A couple of years ago, I started to focus on that and immersed myself into the Software Testing community.  Honestly, I had no idea there even was a community, but there they were.  Veterans and ‘newbies’ who all shared the same passion, same focus and drive, that I never knew I had until I started finding bugs all those years ago.  My sanity was restored and my career seemed to actually be something real suddenly; not just a notion or line item on my resume.

Then the company I work for starting work on implementing a new Trading Platform; a Global Trading Platform not just in name but in actual fact.  On paper, it seemed like another project; similar to the ones I’ve done in the past while being able to focus on several other things in both my personal and professional career.  Global was just another word; an adjective to give the project more impact.  Right? 

To answer that, I just need to restate: I just flew over the North Pole!

“The pressure it increases the closer that I get.  I could almost go to pieces but I’m not quite there yet.  See I've been braving crazy weather, drowning out my cries.  I pull myself together. I’m focused on the prize.”

I’m on my way to Hong Kong to meet with our APAC (Asian Pacific) trading desk and support staff.  This comes only two weeks after coming home from my second trip to London ; the first trip there only ending a week prior to that.  In total, a little under 40,000 air miles since August 30th

I’ve literally flow around the globe for this project.

I was supposed to speak at the Software Test Professional conference in Phoenix Arizona next week, but I had to pull out.  I struggled with that decision as I was looking forward to touching base with that community that so grounded and focused me not that long ago.  But after a week in Hong Kong and work to do when I get back to help ensure this projects continued success (we’ve already achieved some great milestones, but miles to go and all that) I needed to excuse myself from the conference.

I’m also missing New York Comic Con right now.  So sacrifices are being made all around.   

There have been so many things that I’ve learned (and relearned) in the past year as this project unfolds.  I’ve enough material for numerous blog posts, conference topics and maybe even a book on software testing.  Knowing that there is so much more coming out of this project is what’s getting me through it; that and the amazing people I’ve been working with who support, challenge and provide the focus needed to get anywhere on this project.

Now I just need to find the time to put all of this together.  To find a way to weave work and career together without burning out on either. 

 “Will I remain the same or will I change a little bit?  Will I feel broken or totally complete? Will I retain my name when I the biggest, hugest hit? Or will I blend in with the rest of the street?  The people all are pointing.  I bet they never guess that the saint that they’re anointing is frightened of the mess.  But even though I fear it, I’m playing all my cards.  Baby you are gonna hear it when I give them my regards.”

-          Song lyrics are from Broadway, Here I Come  from the TV Show SMASH

Thursday, November 22, 2012

What I’m Thankful For

This past year seemed to fly by so fast.  I mean, I’m still getting used to writing 2012 on my checks, mostly because who writes that many checks anymore?  But still, this past year has been so full of things, events, and people that I must take the time to look back and reflect and just say Thank You!

I’m thankful for my wonderful family!  As we’ve all gotten older and moved further away, you really take for granted the once often gatherings that now seem more and more infrequent.  Just sitting around a table with good food, good wine, and great conversation can be the best time and we should remember to cherish it.  I’m amazed at how quickly my nieces and nephews are growing up and so happy that I got to see them this past year.  Even my nephew in Ireland who is just starting school I got to see via photos on Facebook and video chat on Skype.

I’m thankful to the doctors and nurses who took great care of me when I was sick!  Getting diagnosed with Type 1 Diabetes was probably one of the most out-of-left-field things that has ever happened to me.  Being told “If you hadn’t come into the ER today, you would have most likely been dead in a couple of days” was, as you can imagine, extremely scary.  Having all the attending doctors and nurses simply say to me; “You’re here now, you’ll be fine” and “We’ll get you fixed up” and even “No, you’re not going to put all that weight you lost back on now” was all very reassuring.  And having my sister, brother-in-law and three nephews drive all the way down to come visit me while I was in hospital was a great treat.  

I’m thankful for my friends and co-workers!  To say the economy is tough is an understatement so I’m happy to have a great job and work for a great company.  The people I work with are amazing and I’m happy to walk in each day and be a part of it all.  Some of the people I work with now I’ve known for over sixteen years and their friendship over the years has been irreplaceable in my life.

I’m thankful to my fellow testers and colleagues in the software community!  It’s so great when you get a chance to meet with other people who share your interests and passion of work.  To be able to sit and talk with them, learn from them, share with them your experiences is a wonderful thing.  Thankfully, Twitter allows us all to stay in touch and keep up the sharing and learning until we can all meet up again.  You don’t realize how much 140 characters can do when you hit a wall and need to reach out to others for help!

I’m thankful for my neighbors!  These past few weeks recovering after Hurricane Sandy or Superstorm Sandy or “That one-eyed Bitch Sandy” has been extremely difficult.  Having others who are going through the same difficulties nearby to talk and share information with definitely helped.  It’s amazing when the small things we often take for granted become so welcome and needed when they’re taken away and then returned to you.  We shared phone numbers and contact information for FEMA, disaster relief information, trusted plumbers and electricians.  We stood on lines together to get Red Cross and City Harvest food donations so we didn’t have to worry about running around to find a hot meal. We literally jumped up and down the day that power was restored to our street and houses.  We now have hot water and heat, but some neighbors don’t.  “Come in and have a cup of tea,” we said to one of our neighbors who lives alone and lost the entire first floor of her home, “sit down and warm yourself up a bit.”  These small gestures can have a huge impact on people.  And you never know when you’ll be on the other end and need help yourself.

Finally, I’m thankful for my most wonderful partner, spouse and husband!  This past July, after being together for ten years, we were married in a very simple ceremony in New York.  This past year had a lot of ups and downs and I honestly don’t know how I could have gotten through it all without him.

Friday, October 19, 2012

STPCon Fall 2012 - Day Zero

This past week, I attended the Software Test Professional Conference in Miami, Florida; an amazing event with some truly talented people in the field of Software Testing.  Arriving Sunday afternoon from a cold and wet New York to a hot and sunny Ft Lauderdale, I drove down to Miami and checked into the Downtown Hilton.  After grabbing some snack foods to stock up my room from the Publix across the street, I spent the evening relaxing and reviewing the presentation I would be giving Tuesday afternoon.  Unfortunately, AMC was not one of the channels on my hotel television so the Season Three premiere of The Walking Dead would go unwatched, for now.

Bright and early Monday morning and what I call Day Zero began with an 8:00am breakfast.  Today was the pre-conference workshops and I attended Mark Tomlinson’s talk on New World Performance.  Mark and I had previously only met in the virtual world, on twitter and a TWiST podcast we did with Matt Heusser.  A seasoned tester and presenter, Mark’s workshop centered on exploring the balance of the new and the old technologies and techniques we as software testers use specifically with Performance Testing.  The details of the workshop were so dense that, to do it justice, I’ll be writing about it in a separate blog post.

One of the best things about the workshop was the attendees.  I was lucky to sit alongside and partner up with several testers and a developer from Sandia National Laboratories.  STPCon is an excellent place to meet and learn from testers with diverse backgrounds; Tina Newlander, Shavawn Bell and Lupe Massoth contributed great insight and questions to our conversations.  Our team re-wrote the Test Approach, using the information Mark reviewed and presented, to incorporate a more robust view on testing.

This document identifies <your company> attitude towards continuous performance, functional, and integration testing throughout the project lifecycle.  This test approach utilizes real-world and production level test data to allow for various development methodologies to be implemented and adapted across various product teams.

The conversation and ideas presented was so vast that Mark took an extra hour and half to finish his talk.  Despite the time, most of the attendees remained and gave Mark the attention and applause his talk deserved.

Throughout the day, the entire conference actually, the tweets were flying.  Using hastag #STPCon, I was able to follow along with other testers in other workshops as well as share what we were talking about.

On Monday evening, an impromptu dinner outing was planned by Matt Heusser which I was both happy and honored to attend.  The eight testers seated around the table must have easily represented well over 100 years of software testing experience. JeanAnn Harrison, Andy Tinkham, Todd Schultz, Seth Eliot, Karen Johnson, Matt Heusser, and Mike Lyles provided great conversation over a fantastic dinner at Gauchitos Steakhouse.  The testing talk continued as we made our way back to the Hilton’s lobby bar.  After a couple of Irish Coffee’s I excused myself and returned to my room.  I was presenting the next day, the first time I ever presented at a conference, so I wanted an early night and another chance to review my slides.

Before falling off to sleep, I of course watched the season three premiere of The Walking Dead that I downloaded on my iPad.
  ….to be continued

Thursday, September 20, 2012

I'm speaking at STPCon in Miami next month

In less than a month, I'll be traveling down to Miami, Florida to attend and speak at STPCon!  My presentation, The Trouble with Troubleshooting, is geared toward testers who are looking to learn and enhance their investigative skills when it comes to Software Testing.
It's part of the hands-on Track, so this won't be a lecture at all, but an interactive, audience participation session.

 You can read all about it here and, if you haven't registered yet, you can do so here.

 One of the most valuable skill sets a software tester can possess is the ability to quickly track down the root cause of a bug. A tester may describe what the bug appears to be doing, but far too often it is not enough information for developers, causing a repetitive code/build/test/re-code/re-build/re-test cycle to ensue. In this interactive session, you will rotate between learning investigative techniques and applying them to actual examples. You will practice reproducing the bug, isolating it, and reporting it in a concise, clear manner. Brian introduces specific skills and methods to track down the source of bugs, and testers can then use this information to build an analytical framework and mindset around root cause analysis.

During this session, I will discuss several investigative methods and show how they can be used as a means of information gathering in determining the root cause of bugs. Common tests that are designed to eliminate false leads as well as tests that can be used to focus in on the suspect code will be shown and discussed in interactive examples.

Monday, September 17, 2012

Quality Is In The Eye Of The Beholder

Of the several definitions of quality found in your copy of Webster’s (or for those of us who haven’t opened an actual dictionary since high school), the one that I believe best fits the world of Software Testing is:

  an essential or distinctive characteristic, property, or attribute

When we test software, to assure its quality, we are ensuring that the software not only works but delivers some intended feature to the user.  For the most part, testers are able to verify their findings against an established spec or meeting notes or some form of outline that will tell them if the software passes and, as a result, delivers on the intended feature.  However, often the case is that the test findings will result in questions as to whether the actual software features and the intended features are a match.  Thus begins the questions; Is it a bug, an undocumented feature or a complete misunderstanding between the developers and the stakeholders?

Oh the joys of Software Testing!

At this point, it might be helpful to look at two additional definitions of quality;

character with respect to fineness, or grade of excellence


high grade; superiority; excellence

Often, and for some ironically, Quality Assurance or Testers are not actually the ones who define quality.  We can create tests, execute them and deliver our findings.  We can voice our concerns and/or approval based on the findings, but defining the quality may not actually be in our jurisdiction.  This is because, based on the definitions I shared earlier, Quality itself is defined by the end user.

A working piece of software that has no value to a consumer really has little to no actual value or quality.  Working doesn’t automatically bestow quality in software.

 Beyond the Testing – Quality Assured

This is why software testers, in order to grow, need to go beyond the test results.  Question exactly what you are testing; who will use it, how will they use it, how often?  Ask for defined, realistic workflows that the users will perform to better define the tests. See if you can even talk to some users as well and hear feedback directly from them.

When a bug or issue is found, ask yourself; will the user also find this bug? Will it prevent them from using the software? Will it affect their perception on whether the software has quality?

This will allow you to better prioritize your bugs to the developers and the project lead, leading to better bug advocacy from the tester.  Concentrating on fixing and testing issues that the user needs rather than get bogged down in the smaller, edge case issues.

Sunday, September 16, 2012

Summer’s End

I cannot believe the summer’s over. I also can’t believe that I’ve gone this long without a blog post. My fault; it’s been a crazy, sometimes lazy summer.  I’ve got about 5 or 6 half-written blogs that I need to finish and the publishing will start again, I promise.  I’ve also been hard at work on my presentation for STPCon next month in Miami.  Hopefully some of you will be in attendance!  Check out my presentation description here:

But let me catch you up on my summer and some possible reasons while my blog has been silent these past few months.

           I was conducting interviews for an open position on my team that we managed to fill with a great candidate who started a couple of weeks ago!

           I got married in July!
           Diet and Exercise has allowed to me to shed nearly 50 pounds!

          I got diagnosed with Type 1 Diabetes in August and spent 4 days in the hospital; a good chunk of that time in the ICU!

          I’ve begun an outline of a book I’m attempting to write on Software Testing!

         Some changes at work have brought more responsibilities onto my plate and I’m being challenged daily with exciting new things.

All of these things have provided me some great material for my Blog so I hope that Fall and Winter 2012 will make up for my quite Summer.  Hope to see you all at STPCon in Miami.

Monday, May 28, 2012

It’s a Bug!

As a tester, there’s probably not a phrase more often heard than; “It’s a Bug!” or “I’ve found a Bug!”  Usually, the phrase is delivered more emphatically by people who aren’t actually testers.  The Project Manager, Tech Writer, Customer, and of course Developers seem to take a small thrill in finding bugs in the software.  I’m not sure if it’s because they enjoy finding errors in other people’s work or simply think that bug finding is a game or puzzle and they’ve just won a prize.

 “I’ll take Software Errors for $400 Alex!”

But the problem I’ve often found with the quick-to-label “It’s a Bug!” is that once that bell is rung, it cannot be unheard; especially if an end user is within earshot.  Suddenly, the whole application’s stability is called into question and quite often, there’s no proof that there’s even an actual bug.

When is a Bug not a Bug?

The term bug carries a very large stigma in Software Engineering.  It’s used to describe everything from the wrong color of a button to a leak in memory causing massive system failure.  Imagine the same label being applied to the code that caused the Pentium to fail Long Division to the code that made a red button look pink.  But this is done all the time.  Those of us in the know will quickly add to the label words like “minor”, “critical”, “showstopper” and “negligible.”  However, the common user will still simply hear the words “It’s a Bug!”

Ben Simo (@QualityFrog) recently tweeted:

 “There is a big difference between your code ‘working’ and doing what it’s supposed to do”

I think this may be where a lot of the breakdown occurs; somewhere between what the developer codes and what the user expects.  Inside this gap, there be bugs….or at least what everyone calls bugs.  And in all fairness, they’re kind of right.

If Something Doesn’t Work The Way You Expect It, Is It A Bug?

There’s the main question; when is a bug really a bug?  And who gets to decide the criteria?