Home » General QA Stuff

Category Archives: General QA Stuff

Happy New Year!

Welcome to 2014!

Any New Year’s resolutions? I have a few:

– Pay more attention to this blog. I tend to let too much time pass between posts. My goal – at least once a week.
– More positive posts. No more whining and complaining. Well less anyway. No one want to read that negative garbage.
– Make nice with the folks at Microsoft and Apple
– Learn something new. Be it a new too, or a new process. Something to keep the tools sharp.
– Speak more. I’m an attention whore. I love getting out and meeting and talking to people. Try to book more speaking engagements. Preferably in Las Vegas!
– Lose 30 pounds (again).

So if you see me out and about, please say hi!

Onion Bagel With Plain Cream Cheese Please…

I run a nightly automated regression test. I made a deal with my developers that if their code broke my regression test they must buy bagels for the team on Friday. Last night the entire regression test suite failed. Once the configuration issue was resolved, 1 test failed due to a change in the text of an error message. I’m thinking this is a multi-bagel offense. But, being the nice guy that I am, I’m only holding them responsible for a single error. I’m starting to get fat(ter).

New Friends

Last night found me at the Software Quality Association in Denver (SQuAD) meeting. It wasn’t a meeting as much as a holiday social. As usual, being the attention whore that I am, I was being loud and obnoxious. As a result, in addition to catching up with some good friends I made some new ones. Anytime they don’t run away screaming is a good day. Happy Holidays everyone!!!

Slamming My Head On The Wall

I’m not stupid. But sometimes I feel like a complete moron. Usually it is something to do with a tool download that humbles me. I have been using Fitnesse for years and I really thought I knew what I was doing. Luckily I have had really good developer support to do the heavy lifting. So I got a little cocky and signed up to do a couple of presentations on Fitnesse at the local software testing conference. I wanted to demonstrate a simple test using the fixtures in the Fixture Gallery. Sounds pretty simple right – cue the brick wall.

So I scour the web and the Fitnesse.org site for simple easy instructions. I find the fixture gallery zip file, download it, and unzip it. It seems to include a completely new installation of Fitnesse. I’m confused – let’s consult the documentation. Well I would if I could find any – i can’t!

Maybe there are books available? Nope! Well there are, sorta, but I’ll save that for another post.

I’m not giving up. Once I get this solved I’m going to write the Idiot’s Guide to Using Fitnesse.

If anyone can help and walk me through this, please contact me at dwhalen14@gmail.com.

Stay tuned.

I’m Unqualified to be Me

I just found out that the company that I was contracting for is looking for 3 contract testers on my old team. I absolutely loved it there, loved the project, loved the company, etc. The open positions are apparently to replace me – the exact same job I spent almost 2 years building – using a test architecture that I built from the ground up. I could be immediately productive. Literally hit the ground running. You’d think I’d be a shoe-in to return. Think again! I just heard that I’m basically not qualified to be me and that I won’t be considered for the open positions. Needless to say, I’m livid. Have you met me? I’m a Golden Test God!…lol. Oh well. No need to dwell on it. It’s their loss! As Jimmy Buffett says – “Breathe In, Breathe Out, Move On”!

Software Quality Association in Denver (SQuAD) Conference

For those of you in the Denver area, or wanting to visit our fine city, SQuAD will be holding their next conference in October. Your’s truly will be providing both a one-hour presentation in addition to a 1/2 day work shop on Fitnesse. Check out http://www.squadco.com for more details. If the current info isn’t up yet – keep checking back.

I Am Not The Quality Guy!

We all are!
I get a kick out of watching the news for “quality” issues – or should I say “lack of quality” issues!  There are usually lots of them.
Someone recently told me that there is no difference between Quality Assurance and Quality Control.  Seriously?
Sadly, its not the first time.  In my not-so-humble opinion – most companies or organizations have absolutely no clue as to the difference between Quality Assurance and Quality Control.  Even though Quality Control has been an out-dated practice for more than twenty years, I still find a “quality control mindset” on each consulting assignment.  They may even call it Quality Assurance, but it ain’t.  Lets look at the two shall we?
Quality Control(QC) is the traditional way of looking at quality.  In a QC environment, quality efforts are usually tacked on at the end of a given process. Something is produced and then given to the QC folks to test and determine if the product meets quality standards.  In the event a quality issue is detected (and there usually is), the entire product may need to be scrapped and rebuilt.  Or, where it is practical, pieces or parts of the product may need rework.  Then the whole production/quality process repeated until quality standards are achieved.  If time is critical, its the quality process that gets the ax.  Ultimatly, only the QC Team is held responsible for quality. A QC mindset is expensive.  Had the problems been found earlier in production or even during the design process it would have been significantly less expensive to fix.  Ask Toyota.
Quality Assurance(QA) on the other hand involves having an eye to quality at every level of the organization, throughout every process, by everyone involved in designing, producing and even using the product – be it a computer, or the software that runs it.  With QA, quality isn’t saved until the end but rather looked at constantly – by everyone, not just testers.  Its having what I like to call the “Quality Mindset”.  The goal should be to identify quality issues constantly, throughout the process and adjust as neccessary (Controlling function of management)  Finding and resolving issues early ultimately saves money!  Sure it may take a bit longer to produce the final product and cost some money, but in the long run I think it saves money.  Ultimately is produces goodwill and trust with the customer.  Unfortunately, to the bean-counters, trust and goodwill are difficult to measure in terms of dollars and cents (or is that sense?).
If you’re Microsoft and control your market, you can slip up on quality (or customer service) and get away with it.  You can make your products difficult to install or completely annoy your customers.  Since there is no real competition, customers have no where else to turn.  So the company can make you lose all of your installed software when you try to upgrade to a more expensive version of THEIR operating system.  (Try upgrading from Windows 7 Home to Windows 7 Professional – you can’t.  They force you to do a new installation.  Not only do you have to reinstall all of your software, you also have to reinstall all of your drivers)  Then they can get away with charging a small fortune to help you resolve the problem when you call customer support.  What other option do you have?  Why make me pay to use the more expensive version of YOUR product then charge me for assistance?  Or for that matter – to use your product at all (see Microsoft Project). Because they can!
It is unlikely your company can get away with it.  You need a quality product and you need produce it as inexpensively as possible.  You probably have to compete in a competitive marketplace.
I like to get involved in any product development early.  I know most of the pit falls and I can catch most of them early – hopefully before the first line of code is ever written.  Will things slip by?  Absolutely?  As much as I like to think I’m perfect, I’m the first to admit that I’m not.  I want to see all design documents, specifications, requirements, etc.  I may find something really trivial – but its a lot cheaper to fix it now by running a spell checker than it is to fix it in the code, re-install it and re-test it.
Watch for the tell-tale signs.  Listen for things like “We’ll catch it in test” or “That’s not important right now” or “Its someone else’s job to fix that – they’ll find it later”.  You gotta love job security!

Shut Up and Test!

Shut up and Test!

Shut up and Test!

Shut up and Test!

Shut up and Test!

Shut up and Test!

My new mantra 🙂

Its My Job!

Thanks Jimmy Buffett and Mac MacManally!

It’s my job to be different than the rest
And that’s enough reason to go for me
It’s my job to be better than the rest
And that’s a rough break for me

It’s my job to be cleaning up this mess
And that’s enough reason to go for me
It’s my job to be better than the rest
And that makes the day for me

Ugly Babies!

One from the Capn’s Treasure Chest.   I’ve just been thinking about this one a lot recently.  One of my character traits – or flaws – is that I will usually tell people – sometimes bluntly – what I think.  It’s my job.  If you are paying me big bucks to look at your stuff – then you deserve some honesty.  You may not like the message, but it’s better to hear it from me than your customer.  So here goes….one from the archives…

While I’m not a huge fan of American Idol, I’m a big fan of Simon Cowell!  Do you think if one of the Idol winners ever gets an award, like a Grammy, they will thank Simon?  I doubt it.  He’s lucky.  He can be open and say what he feels.  Sure people are angry at him.  But you know what?  He’s usually right.  It’s just the message delivery that upsets most people.  Deep down, they know.  Unfortunately, for software testers, that’s not a luxury we have.

I think Simon would be a great software tester.  A desirable attribute for any good software tester is to tell people what we think – tactfully (OK this is SO not Simon). Software developers, Project Managers, Product Managers, and anyone else on a software project, spend countless hours designing and developing software applications for customers.  They’re proud parents.  It’s their baby.  Then they show it to us, and essentially ask:  “What do you think?”  More often than not we have to tell them they have an ugly baby!

I imagine, if you have an ugly baby, Simon would tell you so!

Nobody wants to tell someone they have an ugly baby, but unfortunately, it’s our job.  The key is how you tell them.  Sadly, you will always run into a proud parent that will be hurt no matter how you tell them.  Different parents will respond differently depending on the way the message is delivered or received.

So how do we handle these delicate situations?  Having been a test consultant now for a few years, I’ve had to deal with a number of delicate parents.  Here are a few tips on the proper care and feeding of delicate parents:

– Build a Rapport with the Team:  Get to know them.  Take them to lunch.  Buy them bagels or donuts.  Let them know that you are there to make them look good.  When a virtually flawless application is delivered to a customer, no one says how well tested it was.  Development teams will always get the credit.  However, if it is delivered with bugs, everyone will wonder who tested it!

– Be Honest and Responsive:  One of the best compliments I ever received was:    “If Dave and I grew up together, I’d never let him touch my toys.  He breaks everything!” Tell them up front, you’re going to do everything in your power to break their application.  It’s what you do!  Although a good magician never reveals their secrets, a good tester should.  If I have time, I will usually tell them what my attack plan will be.

– Be Open and Available.  Want me to take a look at your requirements? – Absolutely!  I always let teams know, that if I’m available before formal testing begins, I will give them a free look at their requirements, specifications, code, whatever they have.  I won’t create a defect in the bug tracker.  I’ll just shoot them a quick email, and make a note to look at it later.  It ends up saving everyone time in the long run and, once again, makes them look good when formal testing begins.  It also helps me develop and refine my tests.

– Let Them Review Your Tests.  If you’re going to look at and critique their stuff, it’s only fair to let them do the same to your stuff.

– Don’t Rely on the Bug Tracker.  Never send a public ugly baby notice!  The last thing you want to do is rely on the bug tracker to deliver bad news.  There is nothing worse, or less productive, than flame wars in the bug tracker.

– Talk to someone!  Let them know what you did and why you did it.  Show them.  Lead them towards a solution.  Tell them what your expectations are.  It may be a simple misunderstanding of a vague requirement.  Count to 10, then write it up.

– Check Your Attitude.  This is my personal weakness.  You don’t want to come off badly.  What’s funny to you, or well meaning, can be completely misconstrued.  Be critical, but constructive.  You need an air of friendliness and support.  If you come off as arrogant or condescending, the ultimate message will be lost.

– Don’t Take it Personally.  Tough to do?  Absolutely!  But you’re just the messenger.  Its’ usually not about you.  You’re just the closest and easiest target.  Grow a thick skin.

– Be Prepared.  It’s going to happen.  Maybe it hasn’t happened yet, but if you do this long enough, it will.  Be ready for it.

– Write an Article.  While it may not solve anything, you will feel better afterwards.  I know I do!

Unfortunately, while these tips tend to work well with in-house teams, it can be difficult with geographically distributed teams.  Since they don’t work with you face-to-face every day, and you can’t take them to lunch or buy them donuts or bagels, there is a tendency for the message to get distorted.  As I recently learned (the hard way).  Even though you may have good intentions, someone’s feelings may get hurt.  Unfortunately, attitudes don’t translate well over the phone or by email.  Don’t be afraid to apologize.  It’s typically a misunderstanding.  It’s more important to heal the relationship and move on than to stand on principle.  If you’re right – gloat to yourself.

Bottom line – no matter what you do, you’re going to hurt someone’s feelings.  Be prepared for it and don’t be afraid to make adjustments if you need to.  It may still be an ugly baby, but it’s never too late to do something about it!  Someone has to do it.  You don’t want the customer to do it.

If you’re in this business for personal rewards or recognition, you probably need to rethink your career choice.  Not that they’re not there.  They’re just few and far between.  No, a good tester gains satisfaction by knowing, albeit silently, that they were the reason the application was virtually flawless.  Sure, no one else may notice, but I know, and that’s good enough for me!