Just as every field has its myths, so does the field of Software Testing.
Some of these are borne of ignorance of the specialty of software testing, yet some come from overconfidence. As they say, familiarity breeds contempt.
In any case, there are too many myths to list all of them, but these are some of the biggest ones around.
Software testing myths primarily have arisen due to the following:
Testing may not be the most glamorous job in the software world, but it plays an essential role in creating functional software.
This article busts some myths that have been perpetuated about testing and shows how testing is not only very useful but also something worth being passionate about.
One of the most pervasive untruths is that testing is a boring and lonely endeavor.
Rather than being a monotonous affair, testing testing cases is an opportunity to sharpen observation skills. Testers push software to its limits and help their colleagues develop its full potential.
In the long run, testing a product actually saves money. It’s less likely that the team will have to spend hours providing customer support or rolling out patches once the product is on the market.
Once a problem is found, the team has to put in time, effort, and money to smooth out the edges.
When these are fixed, the team can roll out the product, safe in the knowledge that users will enjoy an impeccable experience.
There’s a great deal of discovery to be made when looking at a new piece of software. The more open and perceptive the tester is, the more effective he is in detecting errors.
Naturally, you need to analyse a situation logically when a problem is identified, but software often contains errors that aren’t so obvious.
In this case testers have to step back and observe the whole picture to see what is missing.
Many testers are in fact highly educated professionals who are often certified by the International Software Testing Qualifications Board.
Many others have degrees in software engineering. Testing is a complex craft that presents many challenges that must be unraveled before the product can hit the shelves.
Also Read: Software Testing as a Career
Actually, the two work side by side in a team, and if there are any disagreements, then agile methodology encourages them to sort out their differences in an open and constructive manner.
There are dedicated professionals in both fields, and communication between the two is important.
Too many people assume that testing can’t be that hard if a general, everyday user finds bug all the time.
In fact, that is a very unfair assessment, especially as testing is a very complex craft which is not suited to your average person.
According to Google’s Patrick Copeland, here is, what makes a great tester:
“great developers do not always make great testers, but great testers (who also have strong design skills) can make great developers. It’s a mindset and a passion. From the 100s of interviews I’ve done, “great” boils down to: 1) a special predisposition to finding problems and 2) a passion for testing to go along with that predisposition. In other words, they love testing and they are good at it. They also appreciate that the challenges of testing are, more often than not, equal or greater than the challenges of programming. A great “career” tester with the testing gene and the right attitude will always be able to find a job. They are gold.”
Software quality assurance and software testing aren’t the same! Rather software testing is a part of software quality assurance.
Software quality assurance involves several processes like – comparing SOW, system requirement specification and design specification with developed product, verifying business logic, version controlling, bug tracking and many others.
So, don’t confuse SQA with software testing. If you have medium or large software projects, then you must go through software quality assurance in order to deliver a quality and bug free product.
Wrong! Software quality assurance and software testing involves several specialized tools and need specialized skills to use them effectively.
For each test segment, code analysis, stress/load testing, functional testing and bug tracking require different complex software.
Additionally, the software quality assurance professionals need to communicate – developers, project managers, team leaders and client(s) frequently. Therefore, strong communication skills and an analytical mind are a MUST.
No! Both testing practices (manual and automated) are different. Both have equal significance.
There are a number of areas that need real time user interaction, in order to ensure better user experience. Those areas can’t be automated.
Whereas, there are many sections that need repetitive things and need lots of manpower and time, using automation is a good idea for those sections.
There is no such thing like exhaustive testing! Simply because, the definition of exhaustive can vary from one context to another.
Testing shows presence of defects but cannot prove that there are no defects.
A tester’s job is not to prove that software is bug free but to show the possible ways in which the software doesn’t work. But there is no such way to guarantee bug free software. Or to tell that the software has been ‘completely’ tested!
Although it is always the intention to fix all the known bugs but sometimes we have to learn to live with them, especially when a bug has been identified just before delivery.
Changing code to fix a bug is a risk. There is the risk that some other side effect may pop up, or that customers rely and expect the current behavior.
There can also be design choices where 2 approaches are both reasonable, but they both have flaws, or two bugs are logged and choosing to fix one means the other can’t reasonably be fixed.
Software teams usually triage all the bugs, but make hard choices to determine which should be fixed and which we can live with, without deteriorating the customer experience.
In any team testers are key members and, together with their colleagues, they ensure that the software that gets delivered will satisfy and exceed user’s expectations.
———
This is not an exhaustive list but most commonly encountered myths you might come across as a tester. Please share your thoughts and your experiences on myths encountered in the comments section !!