On Testing

Yesterday, I refurbed an old joke for a current time and problem I had faced. This is 'edge case' testing; posting values to a system that really don't belong there. It came to mind because of a problem I had encountered in a system I was working on earlier. There is a procedure that accepts a FirstName and a LastName, and generates a UserName for Active Directory for it. The original code read:
CREATE PROCEDURE [dbo].[GetNextADUserName]
-- Add the parameters for the stored procedure here
@FirstName as VARCHAR(50),
@LastName as  VARCHAR(50),
And the new code read:
CREATE PROCEDURE [dbo].[GetNextADUserName]
-- Add the parameters for the stored procedure here
@FirstName as VARCHAR(7),
@LastName as  VARCHAR(7),
The engineer who altered the code was just trying to make it better. It was written very loosely for a stored procedure, and he simply tightened it up. That's not a  problem, but the front end designers didn't know, and most importantly - all of our test names were under 7 characters. We would have never found this in testing.
As it turns out, there are a lot of people who are all about this. The replies to my tweet over the last 24 hours covered a lot of ground, but by far were those that wanted to push the edge testing to the max - and I love it.
Oh, and then, of course: Surprising how many people like a little violence with their testing: Some QA engineers piped in with thoughts on structured testing: A lot of security folks follow me, so a lot of application pentesting tweets showed up as well. If you are a developer and don't recognize these, shoot me an email: And some of the business people had some things not-so-nice things to say about the QA process, most of which I agree with: But what, of course, really happens? And that's kind of the crux of it. Making your testing as real world as possible is an important part of QA. Don't let those tell you otherwise. Be it unit testing, integration, QA or pentesting, assuring that all tests push the edges of what happens in the real world will make your software better. And your Twitter timeline!

Comments (11) -

9/24/2014 5:11:01 PM #

I laughed pretty damn hard at this one. Glorious, truly.

Now, if you'll excuse me, I'm off to have undefined beers.

Victor Castillo Escoto
9/24/2014 5:16:23 PM #

Didn't make it to the replies' highlights :-(

Bill Sempf
9/25/2014 6:53:36 AM #

I got this in email from earthgeckp - no idea why s/he didn't just comment.

An ops engineer walks into a bar and wants to order a beer. So asks the barmen,...
what types of beer do you have?
how many do you have of each?
what is the volume of each beer's serving?
what is the alcohol volume of each?
what is the cost of each beer?
what is the rate at which each type of beer is served at throughout the day?
how often does each beer got stocked and in what quantities?

After the barmen goes through it all, the ops engineer says "Thanks, OK then I'll have a vodka and coke"

William Wallace
9/25/2014 3:45:28 PM #

A Government QA Engineer walks into a bar. I have no idea what happens next since they don't exist in our reality.

8/2/2015 8:59:04 PM #

You can't beat idiot testing. Write the code and test it to your best ability. Then give it to a user. It helps if you have a few tame users, but I find that as they get to know your style and the program tame users become much less useful.

8/26/2015 7:52:26 AM #

I disagree. Once I know a developer's style, I can zero in on his weaknesses like a laser. I know exactly where to look to find his or her bugs.
The same for the program. Once I know it well, I know where it is likely to break, and can focus my testing on the higher risk areas.

8/10/2015 8:53:42 AM #

QA Engineer walks into a foo. Orders a beer

Derek Scruggs
8/10/2015 3:06:42 PM #

*Wraps everything in gigantic try/catch blocks

8/13/2015 4:31:58 AM #

QA engineer orders a beer, then orders a bear!

8/13/2015 9:10:09 AM #

Just wanted to say, to all of the devs here, thanks for giving us QA jobs and keep up the bad work!

8/26/2015 7:26:26 AM #

Late to the party, but I laughed so hard! So funny because they all are so true.
My contribution:
A QA Engineer walks through a door to a bar and finds himself in another part of the city......

Comments are closed

Bill Sempf

Husband. Father. Pentester. Secure software composer. Brewer. Lockpicker. Ninja. Insurrectionist. Lumberjack. All words that have been used to describe me recently. I help people write more secure software.

profile for Bill Sempf on Stack Exchange, a network of free, community-driven Q&A sites