Showing posts with label Testing. Show all posts
Showing posts with label Testing. Show all posts

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, April 5, 2012

Why Do We Test?

There have been a lot of recent talks and articles regarding the whole “Is Test/Testing Dead?”  Jon Bach gave a great keynote at STPCon in New Orleans last week regarding this.  “Testing isn’t dead,” he said, “but Bad Testing should probably die.”  Overall, testing as a practice, as a skill, seems to be on the decline as the actual activity is being done by just about anybody. 

But can just anybody test?

It depends.

I fall back on that response a lot, sorry, but it’s useful.  In this case, it depends on what you’re testing. 

A better question is can anybody test software?

No.  I personally don’t think so.  It takes someone with a good analytical mindset, technical knowledge, and an innate drive to find things out to be a really good software tester.  Again, that’s just my personal opinion based on my 15 years of software testing and working with a wide range of testers, developers, support engineers, and technologists.  Overall, I think some testers lose sight of the basic question, which I’ve conveniently put in the title of the post.

Why Do We Test?

A good interview question I’ve used in the past (along with my famous “How do you know when you’re done testing?”) I’ve heard many answers in response.

“To see if the software works”

This is a completely valid, logical response; also, the one that I hear the most.  Essentially, yes, we are confirming that the software works.  But isn’t there more to it?

“To prove the developers wrong”

I chuckled at this one especially because I’ve heard it on more than one occasion.  I’m not a fan of the adversarial tester versus developer mentality.  I try to squash it whenever I come across it in fact.  I like to think that we all have the common goal of delivering quality software to the client and should behave as such.

“Because it’s my job”

This one was an actual response from an interview I gave.  I had to quickly check to see if the candidate was in fact a two dimensional cardboard cutout.  If you’re just testing because you were told too, how well are you going to do your job? How inventive will you be in your testing? Going through the motions of testing is not time well spent at all.      

Ultimately, we test to learn something about the software that we don’t already know the answer to; to confirm or disprove something about the software that we think or had heard about. 

We test to learn.

The point of each and every test that we run on software should be to learn something about it.  Not just if it works, but how it works.  What happens when we expose the software to specific conditions?  How many users at one time will break it? Slow it down? Can I bypass the password protection? Will it run on my Mac just like it runs on Windows? Does the website look better on Internet Explorer than Google Chrome? Perform better on FireFox?

Endless amounts of questions can be answered by our testing.  And with each test, we learn something more about the software.  Sometimes, we learn things we weren’t even looking or testing for but we take the knowledge the test delivers to us and use it to create more tests.

At least we should be

Is Testing Dead? Are we doing our part to kill bad testing?

Ask yourself, for each test that you run, what have I learned from this test?  Did I learn anything new about the software?  Is this test telling me something that no other test is telling me?

If you have a suite of tests that tell you nothing about the software, ask yourself, Why am I running this test if I learn nothing about the software when I run it?

If you have questions about the software and you have no tests that give you the answers you’re looking for, ask yourself;

Why haven’t I written those tests yet?