Testing Everything

by | May 26, 2014 | M5 Hosting Blog

test (verb): to take measures to check the quality, performance, or reliability of (something), esp. before putting it into widespread use or practice.

Recently, my oven broke. The lower heating element stopped working, and the temperature would not go above about 150 degrees Farenheit in any mode except broil. I had Jen (my assistant) call someone to come and fix it. He shows up, turns the oven on, opens the door, feels some heat, saw some numbers on the screen, then turns the oven off. He explains to Jen that according to his “tests” the oven seems to be working just fine and asks for his fee for the service call. She comes in to my office to tell me his findings. Cheese and Crackers! I walk out to the kitchen to get the scoop first-hand.

I asked the repair guy how he arrived at his conclusion and he tells me about his “test”. I asked him if the oven got hot enough to cook food, and if he thought the temperature read-out was accurate. I can’t even describe the look on his face. I don’t even know what emotions it was supposed to convey. He turned the oven back on, and not more than 2 minutes later diagnoses that “the sensor” was “bad”. Not more than 5 minutes later he left with his service fee, a deposit on the required part and an appointment to come back and charge me more to put it in. In this case an extra minute of testing, with the goal of determining the answer to those two basic questions earned him more money and solved the issue.

At M5 Hosting, we often order cross-connects in the colocation facilities that house our infrastructure. We order them to connect our cabinets that are not in our main cages, and we order them to connect to upstream providers. These days everything is fiber optic cable, but for years it was CAT-5e copper cable. Anyway, I always suspected we had an unusually high failure rate for individual connections within one of the two facilities. We use redundant connections which allow for one to fail without any downtime so these occasional failures are not customer-affecting.

One night, as we were bringing up a new rack, we discovered that the cross-connects would not link at 1Gig but would link at 100Mbps. It was our standard procedure to fix the interfaces to 1Gig instead of allowing the switches to auto-negotiate the link speed. We walked over to the on-site NOC. They called the cable tech who ran the cross-connects earlier that day. The cabling guy says he “tested” the cables and was certain there was no problem. Because of his certainty, he said he would not come out right away to fix it. I got the guy on the phone myself: “How did you test the cables?”, I asked. His answer was stunning, “We connect a laptop to either end. If the little light comes on, we’re good to go!”. Shut the Front Door!

“Did you check to see if it linked up at 1Gig? Did you transfer any data over this connection? What was the measure throughput? Do you have any sort of meter to test or certify that it meets the CAT-5e standard?”. The answer to each of those questions was “No”.

It seems like people have heard about testing, and suspect that testing is important. But, it seems like many people forget why they are testing to begin with. Tests need to be rigorous enough to check the quality, performance, or reliability of your work. Your work is only as good as the test it passes before you deliver it.



Recent posts