First job, First day! Announcement “First half of joiners (sorted on names) are in Software development and the second half is allocated to Software Testing”. OMG! I fall in the second batch, the whole existence ceases. Cursing my luck, a feeling of disgrace to the talent overpowers me. Quickly I approach the HR and bombard her with questions if I can get the stream changed from testing to development. Why? As advised by friends & relatives – Software Testing is inferior to development. Why? It has multiple reasons. I feel like quitting and look for other job opportunities but settle for it as a job, which someone or the other has to do. Now after 7+ years in Software Testing, I give it a thought – Why Software Testing is inferior to Development?
Though the aspiration for being a successful IT professional is strong, we assume that the word ‘IT professional’ is synonymous with ‘Developer’. When a testing opportunity presents itself, there are many doubts in our minds and we often wonder if it’s the right career move or not. While being a developer is great and has immense potential, it should not be concluded that being a tester means the exact opposite. Let’s explore the reasons behind the perception – Software Testing is inferior to Development,
We don’t know “programming”
The first & foremost basis of the perception that Software Testing is inferior to Development! We don’t know programming and a ‘Software’ is all about that lines of code. To start a career in Manual Testing, you require little (or no) programming skills. This leads to incompetent professionals (who don’t have that technical or scientific mind) securing jobs in Software Testing practice. And what do we get out of this? A bunch of Manual Testers who write basic Test cases, execute it and go home feeling happy that I am at least a part of elite ‘Information Technology’ ecosystem. It is them who set wrong expectations from the QA team and ultimately make Software Testing look like inferior to development.
We need to stop this. If not programming, there are other multiple competencies which a successful Manual tester should possess, not restricted to a great aptitude, domain knowledge, logical thinking, understanding user perception, application understanding, etc. On the other end, though it is not typical of testers to have an in-depth understanding of the programming languages, this trend is changing with advancement in automation and testers with programming skills are now highly valued.
No application of Engineering knowledge
The curriculum of Software engineering does not include the ‘Software Testing’ discipline in it. So, we are unprepared to perceive that the topics other than development, database or network have anything to contribute to the software production. What is the use of your engineering degree if you just click here & there and report errors? Anybody can do this, right?
Wait! Software Testing has more to do apart from clicking here & there. A Software tester’s intent is to find maximum defects before the end-users do, which can be achieved only when we know the testing principles, process, methods & techniques, have the required domain knowledge, know the application intricacies, understand the end-user perception and are driven to optimize the process.
Limited scope for learning
Many IT professionals (a lot) believe that Software Testing has limited scope for learning. And that is not completely wrong in the practical world. When interviewing, personally I have seen many Software Testers with limited knowledge about the Testing process, methodologies, tools, domain, application, methods, techniques and artifacts. But is this restricted to ‘Software Testing’ technology? Nah! Many developers are also dumb in acquired knowledge.
Learning is always self-driven. It varies from person to person, not technology. There are many Software testers with excellent technical knowledge also. Why? Because they chose to learn new concepts. They are technology-aware. They keep up with the changing technology trends. Continuous learning is the key to success in any field. It is true of Software testing too which needs a lot of planning, strategizing, understanding of technology, time management and also the not-so-obvious aspects like understanding software’s ease of use, market relevance, performance etc. Keep your mind open 😉
Ambiguous Career progression
Software developers grow in their career as developers, leads, managers & architects. There is not much clarity on the Software Testing career progression. To the outside world, a career in Software Testing hits a dead end after few years unless you move to development or management tracks.
Let’s be clear. Software testing professionals have many interesting options today to design their career path based on individual preferences – Management, Architects, Business Analysts, QAEs or Testing Specialists. Move forward as People’s Manager, Automation architects, Performance & Security specialists, Data Analysts, Domain experts, Technical writers or any other specific streams. In contrast to developers – Testing professionals have more career options owing to our technical, management and business orientation.
Developers are paid more!
Many people believe there is a significant difference in salary between a software tester and a software developer, with the latter being paid much more. Pay package is one of the prominent reason for people believing that Software Testing is inferior to Development. But is this really true? The first impression may be deceptive.
How do you think a company decides professional’s salary? Yeah! There are multiple factors including (but not limited to) the company revenue, professional skill-set, current salary & total experience. The main factor being your competency, i.e. skills. Since there is a horde of Manual testers and Java developers in the market, the companies have more options. Its basic demand & supply rule 😉 If you want a higher pay package, it doesn’t matter if you are a developer or a tester – you have to expand your skills & prove your competency to the potential employer. It is no surprise that some companies, like Google and Microsoft, provide higher salary for testers rather than developers. It’s all in the capabilities, skills & competency!
We are not Technical
Some say ‘Testers are not technical’. They are functional people with limited technical expertise since to test an application, functional knowledge is more importance than going deeper into the technicalities. To a certain degree, that’s true for only manual functional testing.
Today, however, we are dealing with the fast progress of testing techniques for the creation of integrated automation systems in many environments. The role of unit tests, automation, application performance, security & usability has increased. Testers now-a-days write code, create test scripts, prepare reports, i.e. they have become the creators. One can become highly specialized in testing which requires much technical expertise, which is not to be underestimated. You can even do certifications to improve your technical skills & market value.
Software Testing is boring
Many people believe ‘Software Testing is boring’ since it involves repetitive test cases writing and test execution. Nobody likes monotonous work. Software development, they say, on the other hand poses new challenges every day in terms of algorithms, programming logic and the architecture.
But have you ever talked to a Java developer with 3 years of work experience? He/She might tell you how their work has become quite boring lately 😛 there are a number of copy and paste tasks even in the so-called development work. Doing a thorough test on your own code can be tiring and boring and could also miss several points that seems “invisible/impossible” for the coder but might be attempted by the end-user. As a tester, we need to explore the possibilities – Testing, Process, Management, Tools, Domain, Software, Business, Clients, Techniques… The opportunities are endless!
Quality assurance is still a low priority
Companies like to make money. Really, that is the only reason they exist. The development team makes them money by making the product. The testing team costs them money by identifying defects in the product. Would you want to pay more for less return? Even if a company says “Yes, we are very concerned at the quality!” This often does not follow the words of those changes in the budget section of quality assurance department.
The catch: The statement ‘Would you want to pay more for less return?’ is phrased incorrectly. The returns are indirect in case of Software Testing. By ensuring the software quality, you are indirectly retaining your customers from barring your application. In fact, Software Testers ensure that the work of developers doesn’t go wasted 😉 i.e. users abandoning a defected application at the first use!
Testing is low-skill work in many companies
Manual testing of the kind pushed by ISEB, ISTQB, and the other certifiers is low skill, low prestige, offers little return value to the company that pays for it, and is often pushed to offsite contracting firms because it isn’t worth doing in-house. The only reason to take a job doing this kind of work is to get paid for it. Doing it for too long is bad for your career.
There are much higher-skill ways to do testing like automated tests, performance & security tests, usability & accessibility tests, SMAC testing & emerging technologies. If you become a more skilled and more creative investigator who has a better collection of tools to investigate with, that might be interesting in busting the myth that Software Testing is inferior to Development.
Whatever Software testers do, there is one single perception – Software Testing is inferior to development. Some state ‘You can create and release a program without testers, but cannot create one without programmers’. Others might say Software testing is an easy job, anyone can do it.
This perception is old-age now. And it will take some time to change. But we testers have contributed more to be listed as second to development by NOT progressing at a faster pace. We can bring in a change only by demonstrating excellent testing, and creating an ecosystem where testers are technology-savvy and are pushed to enhance their own career skills.
What should we do to change this false perception?
They say ‘Software Testers are similar to editors who verify the work of authors’. It’s like telling the parents that their beloved child is ugly 😛 However, testers are just as important as developers; without QA the end product is bound to be buggy and might even miss out on the requirements. It’s like teachers molding your child’s future 😉 Treat them like teachers!
A Microsoft Test lead once said the best developers he knows all started out as testers.
The change in mindset (of believing Software Testing is inferior to Development) has already begun with new roles such as SDETs, Automation architects, QAEs, Performance engineers, Security analysts, etc. We as testers have to advance this change by learning & implementing new technologies, strengthening our domain & business knowledge, clearly understanding the Test processes, methods & techniques.
Some Interesting Facts
Software testers take pride in breaking software’s, they are software testers by choice, they enjoy laughing at the bugs, they know their end user very well and how the software should be more than developers or managers does.
- Software testers generally have the final say on whether a product is ready to be released – not developers or PMs – being the gatekeeper is extremely important.
- QA exists because some developers are sloppy, write poor code, do not bother cleaning up spaghetti code, and most are notoriously bad at testing their own code.
- With automated testing becoming more of an industry standard, software tester salaries are much closer to that of software developers.
- Most developers are extremely happy that there are software testers, and if given the choice would have QA rather than not.
- Testers also get an added advantage when it comes to exposure to the business domain knowledge over the coders. To grow higher up the ladder requires more and more of the domain understanding and less of the technical coding proficiency. All the directors, vice-presidents of a company are domain experts.
Trends have now shifted to having large teams working as part of COEs (Centers of Excellence), supporting complex testing. While traditional service offerings like manual regression testing continue to be available, vendors are now offering high-end and specialized testing services, such as performance testing and fine tuning, application security testing and vulnerability analysis.
Software Testing career
I am not suggesting that anyone should or should not go into testing. It depends on your skills and interests. Some people are better at programming and worse at testing, some better at testing and worse at programming, some are not suited for either role. You should decide what you are good at and what fascinates you.
Nothing is considered as great or a mean job. As long as you like and love to do, everything in that seems to be interesting.
With the lines between development and testing blurring, a test engineer is no longer considered inferior. Once you enter the Software Testing bandwagon, overcome the myth that Software testing is inferior to development. As a Test engineer, we play an important role in ensuring that the final software meets the desired quality standards. One needs to be confident and passionate about his or her role for success and recognition.
Understand Technical things like architecture, flow diagram, programming languages, debugging skills, middle-ware and back-end systems, etc. Become a Domain expert. Learn Testing Tools and Automation. Be aware of emerging trends. In short try to achieve excellence as a testing professional. You will never have a job problem. Also you will always get onsite opportunities too!
Software Testing is inferior to Development | Shatter the myth
Sometimes, the decision to become a software tester is not deliberate for some of us, especially in the beginning of our careers. We hope that this article will reassure those of us who have been plunged into the testing field accidentally that this is indeed not a dead-end but a turn towards a bright future.
The notion Software Testing is inferior to development is pure myth and needs to be corrected. Software testing is different from software development, not easier. Neither job is intrinsically harder. Both require different and unique set of skills to get the job done – they complement each other. So, if you are in the testing profile, don’t curse yourself, instead learn most of the business, domain, process and technical knowledge which will help you immensely in your career.
@ Developers: If you still believe Software Testing is inferior to Development; that’s fine. Just learn how to test your code properly and save us all the pain of faulty software and evil failures. Moreover, don’t feel bad if a tester shows you 10 bugs in your awesome-piece-of-code 😛
Do let us know in comments how many of you are accidental testers and how do you like the QA field now? Additionally, the next time you hear someone getting a testing profile, say congrats and ask him/her to read this article 🙂