Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Monday, January 19, 2009

January '09 - New Year's Presents!

Originally published  1/19/2009 as
QA Tech Tip - January '09 - New Year's Presents!

This month’s Tech-Tip celebrates the New Year with a couple of New Year’s freebies – they may be free, but they still pack a wallop!


#1:
Avira’s AntiVir Personal  (http://www.free-av.com/)
They offer:
  • An absolutely free (personal use) anti-virus solution for your Windows boxes.

  • Absolutely free product and virus definition updates for as long as you have AntiVir installed.

  • A free “Rescue CD” program that will build a rescue CD ISO file and, (optionally), write it to CD if it recognizes your recorder. The Rescue CD is a stand-alone Linux system-on-CD that runs AntiVir on your hard drives while they are “quiet”, (neither mounted nor active under Windows), to make finding – and removing! – bogus programs easier. Both the virus definitions and the rescue CD image creator program are updated daily.
Avira’s AntiVir Personal does everything that the corresponding Norton, McAfee, and other commercial products do, except:
  • AntiVir is NOT a resource hog, and does NOT bring your system to its knees just because you installed it.  The corresponding Norton and McAfee products quickly reduced every machine I installed them on to the performance equivalent of a 66 MHz ‘486 of days gone by.

  • AntiVir doesn’t cost an arm-and-a-leg to purchase.  The comparable commercial products (from Norton and McAfee) would cost something like $60+/seat. If you have more than one or two computers to support – as I do – then this can become a seriously significant expense.

  • AntiVir doesn’t annoy you with a “subscription” based update system.
    (I don’t think this needs elaboration. . . .)

The important question is this:  Does it REALLY do the job?  Or is it just a pseudo-AV wannabe?

I got the answer to that question when I ran Avira’s AntiVir Rescue Disk on my computer.  Despite running several different versions of both Norton and McAfee on my machine at various times – all of which gave it a clean bill of health – Avira’s product found two, count ‘em, TWO root-kit droppers / worms neatly tucked away into a couple of perfectly innocent e-mail attachments.  At that point, it was up to me to go get the e-mails in question and delete them as AntiVir was reluctant to just stir around inside my Outlook mail-files.

To be perfectly fair, Norton found the installed root-kits / worms, but choked on the removal process which I had to complete manually.  It did NOT discover the source of these infections. AntiVir did.

The one “bad” point about the AntiVir program is that every time it updates, (usually once daily), it opens a pretty darn large dialog on your desktop extolling the virtues of their paid products and providing a convenient link to their on-line purchase page.  The good part of this is that it is entirely optional – you can safely dismiss the dialog and get on with your life. And I really can’t blame them for the attempted up-sell.  Even Anti-Virus developers have to eat sometime!

All in all – I rate it, (especially the rescue CD), as a definite “Must Get”.


#2:
Ubuntu Linux (http://www.ubuntu.com/)

“Ubuntu” is an ancient African philosophy meaning, (in essence), “Humanity toward humanity” or “Humanity toward others”.  While I won’t get into a philosophical discussion on ubuntu, (though there is an excellent Wikipedia article here), Ubuntu as a Linux/GNU operating system comes very close to this ideal.

They offer:
  • Ubuntu “Desktop” – designed for the “typical” desktop user with Firefox, Eudora Mail, Open Office, etc. pre-installed for you.

  • Ubuntu “Server” (Enterprise, clustering, whatever. . .) – is designed for those who wish a more server-oriented install.  It should be noted that - unlike other Linux distributions - the fancier versions, such as Enterprise, Clustering Server, etc. are - all of them - free for the taking.

    Of course, you can purchase commercial support - which might not be a bad idea in a production or mission-critical environment - but you don't have to.  There are lots of ways to get questions answered and problems solved even if your IT budget is NOT bottomless.
The installer media, (at least for the desktop version), is a “live” CD.  This means you can pop it into your machine's CD tray and run it on your PC without installing it, to see how you like it before you commit precious hard drive space to an install.

(Note that all of my observations below are based on the “desktop” version of Ubuntu.)

Ubuntu Linux has a number of characteristics that I believe make it stand above the crowd:
  • Ubuntu Linux is designed, first and foremost, to be used by people.  Note that I said “people” and not “techies”.  In support of that, Ubuntu has made great strides in the area of user experience and just plain old usability.  If you can use Windows, you can use (and install!) Ubuntu.

  • Ubuntu expands on the concept of “usability by non-techies” with a well thought-out installation process.

    In a word it is “slick” – even more so than Windows.  There are five-or-six dialogs in the installation process that basically ask you “who you are” (along with “what do you want to name your computer”), and “where to put it” on your hard drive.  The defaults offered are all reasonable and sane, choices are clearly shown, and if you really want to go behind the scenes and diddle, you can do that too.

    Starting with a stone-cold system, it takes less time to complete the Ubuntu installation dialogs, (and start the install running!), than it takes for Vista’s installer to boot and load.  This is made even sweeter because Ubuntu’s ability to correctly detect – and configure – a machine’s hardware configuration is as good as, or maybe even a tad better than, anything I’ve seen up to this point.  Unlike many other Linux installers, Ubuntu’s installer is truly “plug and play”.  You pop-in the CD, answer a few simple questions and you are on your way.

  • More important than that, Ubuntu doesn’t arrogantly assume that you want to throw away all the other operating systems on the machine.  If there’s another operating system present, Ubuntu will work hard to make itself fit in without disrupting the other system – and the Grub boot manager provides a clean boot process for all of the operating systems installed.

  • Ubuntu strives to be as completely Open Source as possible – but does not become religious or pedantic about it.  Ubuntu will cheerfully make non-open-source drivers or applications available to you – after telling you that there are either licensing restrictions that prevent it from being purely open source, or other issues that you may need to be aware of.

    Example:  Both ATI and NVIDIA have released a number of their video drivers to the Linux community – as binaries – but still retain copyright and ownership.  Ubuntu makes them available to you, but tells you that they’re not “pure” open source.  Other Linux versions, Fedora chief among them, go to great lengths to “forbid” (or even obstruct) the use of non-open-source drivers or software - despite the potential consequences to their users.

  • Because Ubuntu is based on the Tried-And-True Open Source Linux platform – it has available for quick download a HUGE library of free applications and utilities – from the simple, (roving eyeballs for your task-bar), to the complex, (Scribus, the open source replacement for Quark), to the more esoteric, (Q-draw, an open source AutoCAD replacement); it’s all there, waiting for you to find a need for it.  Since it is based on Debian and uses the equally tried-and-true “.deb” package installation process, adding applications or features is as painless as anything I’ve seen.

  • Ubuntu is about giving the user choices.  You can go this way, or that way, and both ways are just fine by them.  If you like things nice-and-simple, that’s perfectly OK.  If you want to play uber-geek and mess with the more technical aspects of Linux, that’s all there too.
The Ubuntu interface (desktop) is clean and uncluttered, with just about everything you need to get productive one or two mouse clicks away.

Their user security model is very similar to Vista’s (or is it vice-versa? ;-) ), where Ubuntu will let you do whatever you wish – until it would affect the system as a whole – then it asks you to confirm by typing in your own password.

I, for one, think that’s a great idea – rather than the classic Windows’ “everyone is Admin/root/God”, model which has been the bane of Windows users, and a boon for malware writers.  Or their “Restricted User” model, which is nearly useless.  Though Ubuntu’s system is far from bullet-proof, it goes a long way toward making it darn difficult to “accidentally” pooch your system beyond repair.

You can even run Windows apps on it, (at least in theory, I have not tried it yet), by running them inside a “Windows emulator” called Wine.

The real telling characteristic is this:  Ubuntu is the first Linux system that I would seriously consider putting on my wife’s computer, or even my mother’s, (a lady of nearly 80 years), confident that they would be able to use Ubuntu with an absolute minimum of difficulty.

Are there issues?  Of course there are.  Some portions of Ubuntu are less forgiving than others, (God help you if you accidentally set your monitor resolution or refresh rate wrong!), but this is true for any operating system out there – especially the various ‘nix systems and their near brethren.  (And I won’t even discuss the headaches Windows or Vista have given me!)

My bottom line is this: If you’ve been thinking of trying out Linux, but were afraid of all the “techie” aspects of it; go ahead, take the plunge and give Ubuntu a try.


That’s it! Now go give these a try and have a wonderful New Year!

Jim

Sunday, December 14, 2008

What is "Quality"?

Originally published on12/14/08 as
December Software QA Tech-Tip: What is "Quality"?

This month's Tech-Tip is a conversation-starter – What IS "Quality"?

To be honest, this Tech-Tip was inspired by a copy of Fortune magazine with a ‘50's Chevy on the front cover and the legend "GM – Death of an American Dream" describing the abysmal state that American automakers have fallen into.

I have heard a number of different definitions for "Quality" – and they all center on the concept of giving the customer a product (or service) that works as expected.

I am going to respectfully disagree – and I will say that Quality is not only giving a customer a product or service that works as expected, but goes beyond expectations in thoughtful ways that indicate you had the customer's best interests in mind when the product or service was designed.

Many years ago, I purchased a brand-new 1990 Hyundai Excel. This was back when everyone was "talkin' trash" about Hyundai and the "crummy" cars they created. This car not only did what I expected a car to do – get me where I wanted to go without a lot of maintenance and without consuming gallons of gasoline – but as I got to know the car, I noticed a whole host of thoughtful touches:

Two examples:

  1. The fuse-panel used the, (then new and unfamiliar), "blade" type fuses.  Not only did they provide a plastic coated PRINTED fuse-map, securely glued to the inside of the fuse-panel door; right next to it was a blade-type fuse puller – and a molded-in clip to hold it ready for use!  In addition, right there at the bottom of the fuse panel, were four extra fuses – one spare for every value used – just in case you blew a fuse in the middle of nowhere.  Not to mention that the fuse panel was located where it was easily reached – and only a slight push would cause the press-lock catch to release, opening up the entire panel for you.

    By comparison, most other cars – even those costing much more than the $7k I spent – if they had a fuse-map at all, it was molded into the plastic somewhere and was almost impossible to read.

    Fuse puller?  Yea, right! You'd get one at the local Auto-Parts-Extravaganza!  Spares? Who are YOU kidding?!!

    Location, location, location . . .  The fuse panel was invariably tucked up somewhere – BEHIND the dashboard – where even Houdini would have trouble reaching it. And even using a flashlight, (assuming you even HAD one with you!), was little help as the fuses were not only hidden somewhere up behind the dashboard, but tucked away behind something else, making them almost impossible to see.
  2. This car – unlike most other cars I had owned up to that point in time – was primarily electronic. Everything, from the dashboard clock to the fuel-injection system was run by computer. Every system, every subsystem had its own electronic module or controller to run it.

    One night, I helped a friend determine that her battery had died by swapping my battery into her car, and using it to start it. It was dark – dimly lit – and when I placed the battery back into my car, I attached the "minus" lead, tightened it down, and then the "plus" lead . . . .  To the accompaniment of a loud flash and BANG!!  Ohmygosh!  I'd installed the battery BACKWARDS and had blown the 50 amp fusible link that was built into the battery cable…  My heart sank – fifty amps of twelve-volt power, applied BACKWARDS to THOUSANDS OF DOLLARS of expensive car electronics and computers.  Not only was my car fried – it was EXPENSIVELY fried! It would probably cost more to fix than to replace – and I wasn't even finished paying it off yet!!

    Fearing the worst, I disconnected the battery, swapped it around, connected the battery terminals and, (to jumper out the now-blown 50 amp fuse), I swapped the charging lead from one fuse terminal to the other.  All the time fearing the smell of char-broiled electronics when I re-applied power.

    Once I made contact . . .  Lights came on, the heater fan started and (joy!) I heard not only the radio start playing, but the familiar clicking sound of the engine's computer starting up!  The car – much to my surprise! – was absolutely unscathed.

    Once home, (after singing Holy Hymns the entire way!), I dug out the copy of the service manual I bought when I purchased the car and found out what had happened.

    The engineers in Korea, realizing that car electronics are not cheap and that some clever idiot like myself would – inevitably – reverse-connect the battery, designed a special part into the electrical system – a part that did absolutely nothing so long as everything was connected correctly.  However, it would short-circuit the entire electrical system – not only blowing the master fuse, but also protecting the car's electronics – if the battery was accidentally installed backwards.  Total cost for my mistake: $4 for a new 50 amp fuse at the local auto-parts store. Not counting the thirty-or-so extra grey hairs!

In both cases, the engineers saw an opportunity to add value to the car owner's experience:  First, by providing a very inexpensive tool that would make changing fuses much simpler – AND spares, "just in case".  Second, by the inclusion of two extra components: the special part and extra "Master" fuse, the car was protected from a potentially devastating and expensive mishap.

The usual practice would have been to omit these touches – to save money.  And I am sure it would have. Thousands, maybe even millions per year while these cars were being made.  And since the Hyundai Excel was such an inexpensive car, no one would have missed them.  But, by the inclusion of a few extra dollars in parts and effort, they made a loyal customer who referred dozens of friends to that brand.  At seven thou, plus, per car – the few extra dollars spent proved a worthwhile investment.

Nowadays, Hyundai has glass cases filled with J. D. Powers Awards and legions of thrilled customers.  Toyota can't make cars fast enough to meet demand.  Lexus dealerships (a division of Toyota), are springing up like dandelions and "Honda" is the new Japanese word for "making tons of money", while "The Big Three" automakers pray for another miracle to prevent them from disappearing into oblivion.

Obviously, "Quality" is not just about giving the customer what he expects. It's about giving the customer MORE than he expects; looking for ways to meet needs the customer did not even realize he had.

What say ye?

Jim

Thursday, October 9, 2008

Network and Routing Tools for QA

Originally published on 10/9/08 as
QA Tech-Tip - October: Network and Routing QA Tools

Hello everybody!

This tech-tip will be a departure from the usual “single command or option” type tech-tip I’ve done in the past. In fact, I’m going to discuss an entire operating system!

Problem:
The boundary between applications, end-users and the Internet is becoming increasingly indistinct as more and more products depend on network connectivity for some or all of their functionality.  If you have a security suite or anti-virus application that receives automatic updates you will know exactly what I am talking about.

The problem is that the successful software QA Engineer / Analyst needs to become increasingly proficient in disciplines that were once considered outside the domain of Software QA, such as network architecture and infrastructure, bandwidth, security, WEB services, and so on.

This is compounded by the additional problem of learning these skills on a modest budget.

Fortunately much of this can be done with an inexpensive Linux setup: Apache for web services, Wireshark and Netmon for network health and packet inspection, IPtables (etc) for firewalling. . . .  Etc.

One of the final roadblocks in the way of the successful QA Engineer involves non-trivial routing, WAN load balancing or firewalls using “enterprise class” equipment. Many of the jobs I see out there today for the software QA Engineer need or want higher-end networking, (and telecom), experience.  WAN routing and load-balancing, multi-homed WAN, persistent VPN tunnels, point-to-point, (etc.), all of these things are needful to know for the up-and-coming QA analyst.

And few of us have the dollars necessary to get themselves a full-blown Cisco router to play with.

That roadblock has just fallen, thanks to a company called Vyatta.

“Vyatta?  Who’s that?!” you ask?  Well you should ask this – as not too many people have heard of Vyatta. Yet.

Vyatta is a small company out in California who has taken mature open source software, (Debian GNU/Linux to be exact), stripped it to its bare essentials, and released a software version of a high-end Cisco / Juniper / Nortel router that runs on virtually anything with a ‘x86 processor and a few megs of memory.  (At least 128 megs, to be exact.)

They’ve just released version 4 of their router software – and to mark the occasion they hired the Tolley Group to do an independent verification of their software, (on a beefy Xeon box), head-to-head with the best Cisco has to offer.  Result: Vyatta ate Cisco’s lunch.  And Vyatta did it for about one tenth the price of the Cisco equipment - *including* the cost of the beefy Xeon!

What is more important to us as QA engineers is that the software itself is Open Source – meaning you can download a copy, free of charge, and play with it yourself.  This provides a golden opportunity for people in QA to become more familiar with Internet edge-facing equipment at a minimal investment.  And if you’re using a smaller scale network with lower-than-gigabit requirements, it allows you to use less expensive hardware to host it.

In fact – at right around 150 meg’s in size, their live image CD ISO won’t take long to download even if your Internet connection is less than stellar.

That’s right kiddies, I said “live image CD”.

You can, if you wish, run it “out of the box” without even having to install it.  Just make sure there’s a blank floppy around to save your configurations.  Or – if you have the hardware to spare – you can install right off the CD.  They have oodles of documents (in PDF) right there so you can get a head-start on getting your system up and running.

IMHO, Vyatta is engaging in some extremely shrewd marketing here – they distribute Open Source software to interested parties.  This is a lot like the “Apple in the Schoolroom” marketing approach that Apple took years ago to guarantee a solid user-base for themselves.  People get a chance to use the stuff – learn how it works and what it can do – and then, when the time comes, they’ll recommend it as a “buy” when it comes time to join the Big Leagues.

Even if you don’t use one of Vyatta’s hardware solutions, (pre-loaded with Vyatta’s software, of course!), you can buy priority service support on an incremental basis.  It’s not cheap, but compared to things like Cisco’s service, it’s not all that expensive either.

Go take a peek – http://www.vyatta.com/

Jim