Common misconceptions about testing and quality assurance

17.03.23 10:02 AM - By topgrep21

I have been working in Quality Engineering for nearly twenty plus years and have noticed that many professionals in the business world, including decision-makers, do not fully understand the essence, potential, and importance of Quality Engineering. One of my mentors, whom I greatly admire, once conveyed to me that quality is not solely the responsibility of the QA team, but should be shared by everyone involved in the development process, including developers, technical architects, and product managers. To be successful in a QA role, it is crucial to gather input from all parties and consistently ask questions. I have taken this advice to heart and now feel comfortable expressing my concerns, even during technical architecture discussions with all stakeholders.
In this blog post, we will clarify and disprove a few widely held misconceptions about the job of QA specialists. While there are other myths out there, the ones we'll be addressing are the ones that come up most frequently.

QA will not understand this because they are not technical
QA specialists possess a good understanding of technological architecture and are required to comprehend program specification papers in order to conduct tests efficiently. Identifying flaws or failures is only a single aspect of testing, and critical thinking is essential for QA professionals. Contrary to the misconception that QA is not technical, developers, product managers, and technical architects should recognize the technical acumen of QA professionals. At the end of the product development cycle, QA is responsible for performing the most time-consuming tasks, such as confirming product quality and collaborating with other technical staff to ensure the final product meets the desired standards. It is not possible to perform these tasks without technical expertise.

Anyone Can Do It
In the software development industry, there is a misconception that anyone can conduct competent testing if given a comprehensive test plan. However, a test plan based on binary test cases with a simple yes or no outcome may be executed by untrained or low-skilled testers, but it would be extensive, costly to create, and require ongoing maintenance. Many software developers view themselves as creative and want to build valuable products out of code. As a result, there is a bias towards development over testing, leading to terms like 'tester' being used in a derogatory way. However, in reality, software engineers with a quality mindset are crucial assets in any tech company. They can identify potential problems in a design and ensure it functions correctly. A software quality engineer who comprehends the code, its objectives, design, and potential issues is indispensable.


A QA Engineer Is a Poor Software Developer
There is a common assumption that individuals who are unable to secure software development jobs or lack relevant experience are offered QA positions. However, this belief is inaccurate. Development and testing are distinct roles that require individuals with different attitudes and perspectives. While they complement each other and play critical roles in projects, they possess unique qualities.

No coding was required for QA
It is a common misconception that quality assurance testing does not require advanced coding skills. However, this is not true. To be able to write complex SQL queries, test data sequences, translate codes to databases, and create scripts for automated testing, one needs to have a good understanding of coding. It is only with high-level coding skills that one can write testing sequences and scripts.

Testing should be automated
Automated testing cannot replace functional testing entirely, as a combination of both is the most efficient way to achieve effective testing. While automated testing reduces the need for repetitive manual testing, it may not cover unexpected inputs that manual tests can detect. Moreover, an experienced quality assurance professional can provide a more comprehensive examination than an automated script. In addition, selecting appropriate and reliable types of automated testing in the early stages of a project or for new features can be challenging. It can also be tough to determine when to add test automation during the initial stages of a project, particularly when most work is still in flux. Finally, some software systems may have a limited selection of test frameworks, leading to less automation.

Quality Engineers cannot grow to CXO Roles
The notion that Quality Engineers are not well-compensated and cannot advance to CXO roles is simply a myth. Quality Engineering has become a vital aspect of modern-day businesses, and the demand for skilled professionals is on the rise. Quality Engineers who keep upskilling themselves with new technologies and methodologies can earn very competitive salaries. Additionally, with experience, they can become experts in their fields, and their knowledge and expertise are highly sought after. With their unique skill set, Quality Engineers are ideally positioned to take on CXO roles such as Head of engineering, software architects, chief product officer, VP professional services, VP customer success, VP customer support, CIO, CSO, CDO, chief quality officer, chief operating officer etc. These roles require a deep understanding of quality and its impact on the business, which is precisely what Quality Engineers bring to the table. By upskilling and staying current with industry trends, Quality Engineers can position themselves for success and advancement in their careers.

Reasons behind misconceptions about testing and quality assurance

There are several reasons why myths and misconceptions exist about Quality Engineering in software development. One of the primary reasons is a lack of understanding about the role of Quality Engineers and the testing process itself. Many people assume that QA is only responsible for finding and reporting bugs, rather than being an integral part of the software development lifecycle.

Another reason for these myths is the tendency to view Quality Engineers as less skilled or less important than developers. This attitude can lead to a lack of respect for the QA role and a devaluation of its importance in the development process.

In addition, the increasing use of automated testing tools has led to the belief that manual testing is no longer necessary or valuable. While automation can certainly improve efficiency and speed up the testing process, it cannot replace the human insight and intuition that a skilled Quality Engineer can bring to the table.

Furthermore, some of the myths surrounding Quality Engineering may be perpetuated by individuals or organisations with a vested interest in downplaying the importance of testing. For example, a development team may want to rush a product to market, and may therefore minimise the role of QE in order to speed up the development process.

Overall, these myths and misconceptions are circulating due to a combination of factors, including a lack of understanding about the QA role, a tendency to devalue the importance of testing, the increasing reliance on automation, and the pressure to speed up the development process. It is important to educate stakeholders about the role of Quality Engineering and to promote the importance of testing in order to dispel these myths and ensure that high-quality software is being delivered to end-users.

Conclusion

In a competitive market, quality engineering is not an optional aspect but an essential one. The primary objective of QE is to identify and resolve any issues that may hinder the project's progress and deliver a quality product that satisfies all customer and user needs. I trust that I have been able to clear up some of the misconceptions surrounding QE in software development and that you now have a complete understanding of what QE entails and its importance


topgrep21