Why I Almost Gave up on Software Testing as a Career

We often hear that everything is a matter of perspective and in light of that notion I have to admit that there was a time in my career when I wanted to give up on testing. Due to having seen testing in a wrong (and rather shallow) light, I pondered hard about leaving it for good for a career in web development. So, let us get into the meat of things.

Now, when I talk to people I offer hear them describing me as someone who enjoys testing and is genuinely passionate about software quality. So how was it that I found myself in a situation where I wanted to quit being a tester if I love it so much? It was many years ago, and while I can't disclose exact details, I can talk about it in general terms. This blog post is in part inspired by my personal experience and also by observations I made while talking to lot of testers trough the time - and most of them relatively similar experiences to share, from some point at their career. It is my hope that by discussing things such as this one might help clear up some misconceptions people may have about testing in general.
One of the main reasons why you might have a wrong idea about testing is being in a work environment where testing is not being taken seriously and where the Software Testing Life Cycle process is poorly defined, non-existent or it is not fit for the needs of the company. This can give people the impression that testing is an unimportant activity, since if it was important it would be better structured, right? Usually there is not just a single person to blame for this, the upper management (the big-wigs calling the shots) might not know enough about testing and software delivery in general to realize that testing is done the wrong way. Another point of blame could be the testers themselves, ignorant and incompetent testers will push back against establishing a rigorous testing process, as that will make their lives harder - they will be forced to learn and do actual work - just imagine the horror...
In practice, this can imply improper use of tools, or the use of wrong tools. For instance, instead using some sort of tried and true test management tool (X-ray, Zephyr, Testrail, to name a few.) there are places where they write test plans in plain old word documents and store test cases in excel sheets! Companies where testing is done in a flawed way usually do everything else in sloppy manner. Just imagine working in a place where no software development methodology is applied, be it some flavour of Agile or even Waterfall. Places like that will lack skilled project management staff and development will usually being done in a chaotic and inefficient manner.
Apart from bad management, another cause of major issues can be low code quality, which is usually caused when a company tries to save money by hiring cheap and lousy developers - ironically making them lose a lot more money in the long run, as they will have a bunch of bugs present in production, a lot of them really embarrassing, which could have been prevented by proper testing. Also, these kind of companies will be forced to hire large teams of customer support techs to deal with a significant number of frustrated customers. Bad coders are usually pretty arrogant (clueless and insecure people generally are the most arrogant ones) and difficult to work with. I have witnessed first hand what this is like, they will even lie about fixing staff and have you waste time by testing it only to find out that the issue is still not fixed - commonly known as bug ping-pong. But the most hilarious things I have witness is a guy actually saying the words: "It's a feature, not a bug" - the dude was dead serious and it was one of the most obvious bugs I have seen. Another gem the same dude said was that he doesn't care if it is not working in test environment as it "works on my machine" so it's not his fault, but must be something wrong with the environment, as his code was flawless - turns out the code he had deployed to test had a typo and the local version was fixed in the meantime...
So what is a tester to do? Well, in my case I thought that by changing my carer path I wouldn't have to be a "lame tester" anymore. I invested a lot of time into studying web development,  completed a bunch of courses, took several freelance gigs (I was top-rated on Upwork at one time) and I also applied to over a 100 web developer job openings and internships. And as fate would have it, the next job I got I didn't even apply to, it was via a recommendation from a former co-worker who left the company, about a year before me, and he was aware that I'm looking to grow professionally, so he vouched for me. The new company needed a tester, I passed the technical interview with ease and accepted the offer. Boy, was I in for a surprise! They not only had a clearly defined and well structured testing process in place, but, there were also a lot of highly experienced testers on the project to learn from - this was the most important project for the company at the time. All of this ended my prejudices I previously had about testing - I realized that testing can be a serious activity, that testers can be highly knowledgeable and technical. I didn't even have to stop coding - I discovered more about this wonderous little thing called test automation! Besides, the knowledge I gained while learning to become a web developer helped me a lot in being a better tester! Apart from that, another huge plus was the fact that I started working with top-notch developers who cared about delivering high-quality software to the end-users and there was literally no place for hostility between QA and the Dev. Nobody hated me for reporting bugs, after all, we were all working towards a common goal.
If you get in a similar position, the best thing to do is to start asking a lot of questions and to try look at thins from a different angle. If you reach the conclusion that the you're not the root of the problem, and you can't change the situation for better after trying, it might be a sign that you should move on. Luckily there are plenty of jobs in IT today, so don't despair fellow tester, there' plenty of choice!


Post a Comment

Popular posts from this blog

10 Tips for Designing Better Test Cases

Testing an application you're unfamiliar with - where to begin?

TestRigor - Review