Testing JBN, July 19, 2023October 11, 2023 The patter of rain against the office window sets the rhythm of the product manager’s thoughts. He leans back in his worn leather chair, running his fingers along the brim of his hat while he stares out at the neon haze of the city. His mind chews on a topic that’s done a lot for his ulcer: QA. That’s quality assurance, quality engineering, whatever you want to call it. Testing. “Shipping without enough testing… It’s like walking the mean streets without a revolver, like going out sans fedora,” he muses aloud to the empty grime and clutter of his office, “You don’t test your software? Might as well hang a neon sign around your neck saying ‘Sucker.’ Sure, everybody talks a big game about needing to test, but when the chips are down, the first thing they toss overboard is testing. It’s a script for a tragic comedy of errors and, let me tell you, you don’t want your clients to have a part in that play, finding the bugs that should’ve been squashed before the thing even hit their desk. You look like a fool, and they know you’ve handed them a half-baked cake.” Leaning forward, he picks up a worn out case file from his cluttered desk. Every wrinkle, every stain on it screams of a tough lesson learned. “Testing,” he muses, “shouldn’t just be part of the checklist, it should BE the checklist. And it’s not done till it’s tested. Then, regression tested. Because if you don’t, somewhere down the line, your shiny new code is gonna step on a landmine and blow your operation to smithereens.” Glancing at the technological detritus scattered around his office, he shakes his head, “Every code that breathes into this world has to be tested, over and over again. Because that’s how you make good software.” His gaze falls onto the cork-board littered with complaints, grievances, bug reports. “It’s not a pretty picture when testing is the ugly duckling. The bugs stack up. The customer service team is firefighting, clients start walking out the door. And your name? Mud. Stuck trying to sell a rotten apple with a pretty bow. It’s a domino effect. You lose trust, you lose opportunities. And why? Because you didn’t test.” He pauses, reaching for a cup of cold coffee, the bitter taste underlining his thoughts, “If you don’t have the dough for testing, you’d better find it. It’s gonna cost you either way. Untested code is a ticking time bomb, waiting to take your reputation down with it. So, you make the time. You don’t rush testing, you don’t push it to the last minute, expecting no roaches to crawl out of the house of cards you call an application. Software is a maze, and bugs are minotaurs lurking in the shadows. You can’t avoid ’em, so you gotta plan for ’em. And automate the hell out of it. If you don’t automate, you’re missing a trick.” His eyes flick to the organizational chart on the wall, his fingers tracing the complex relationships that make up a product team, “Who does QA answer to? It’s a double-edged sword. Answering to the dev team, they’re pressured to ship, overlooking the cracks. Answering elsewhere, they may not get the right guidance, and lose their way in the technical labyrinth. Make them a peer to development? They can end up a roadblock, refusing to let anything pass. I’ve seen it all, and it ain’t pretty. It takes work to do it right, and it means convincing the muckety mucks in the C suite that it’s necessary.” He exhales slowly, looking straight into the lens of reality, “QA needs to be part of the family, right there alongside design, alongside product management. You gotta have regression testing. You gotta have functional testing. You gotta have integration testing. Unit testing. User acceptance testing. You miss out on any of these, your software is limping. That’s the gospel, friend. Ignore it at your own peril.” With that, he gets up, adjusting his trench coat, picking up his hat. The city awaits, a dark labyrinth, just like the software development lifecycle. It’s a hard-boiled tale born from the heart of product management, where shipping code is life and shipping untested code risks it all. A gamble where the stakes are high, and the rewards, well, they’re worth what you make them worth. Product Noir