By Kadaine Williams
Software testing is often seen as a redundant and rudimentary process of clicking a few buttons and validating to see if the desired outcome is achieved. This shortsighted view is held by many individuals outside of the Software Testing community, and as such, the Quality Assurance (QA) process is sometimes seen as a “nice to have” rather than an essential piece of the Software Development Life Cycle. With this in mind, the role of a QA professional is treated as a task that can be performed by anyone and everyone within an Agile team.
During my first few months as a QA engineer, I was often challenged during the Sprint Planning sessions whenever I gave an estimation of how long it would take to test a ticket. Although I could understand the need for the wider team to know the reasons behind my estimates, I did not appreciate constantly being told to reduce the time to test because there was a deadline on the horizon. This situation felt like a double-edged sword because whenever the time to test is reduced, the QA engineer runs the risk of missing bugs within the application, which would not reflect well on the QA team. I also noticed that developers were rarely questioned when they estimated their tickets. The QA process felt undervalued and by extension, I started to feel demotivated to fulfill my role. I am quite certain that many QA professionals have experienced similar issues throughout their careers. This article will explore the steps every QA professional should take to feel empowered within a team — and to gain the respect they deserve.
Know Your Role
In 2021, the role of a QA professional has evolved far beyond the boundaries of manual testing. Software testers should therefore not limit themselves to the manual click of buttons to verify that an application is ready for production. According to a CISQ 2020 report, “The total cost of poor software quality in the U.S. is estimated at $2.08 trillion.” This report signifies the relevance of QA professionals providing reputable guidance and quality testing to reduce the cost associated with poorly developed software. To ensure that the best quality in software is developed and maintained, we must extend our testing to include the usability and performance of the application.
The rapid emergence of automated testing provides an opportunity for software testing to become more efficient and less time-consuming. Automation can also be used to assist in API testing, which provides a more convenient approach to verify that the API responses are as expected. Performance testing is also an avenue for every QA professional to (1) explore where validation can be done to ensure the application performs well under a specified workload, and (2) determine the amount of traffic an application can handle at a given time. QA professionals are the gatekeepers between a developed software and its end-user; this means we should be aware of our roles and not allow ourselves to be limited by the expectation of persons outside our field.
Own Your Role
With the misconception held by many that a QA professional’s role is rudimentary, it is important to step outside of the box and change that narrative. If the team only expects you to perform manual testing, then you are operating in a limited capacity as a software tester. The term “quality” represents a high standard, so we are expected to ensure that application functionality, performance, and usability are top-notch.
Have you ever felt skeptical about the design or workflow of an application feature and did not highlight it to the wider team, only to have the same issue be identified by a user during User Acceptance Testing (UAT) or while the application is in production? These scenarios remind us as QA professionals that we should embrace our roles and responsibilities and never shy away from highlighting issues that may affect the quality of the software. The look and experience of using software also make up the quality of the software and by extension should be validated by QA professionals before the end-users interact with the application. If QA professionals shy away from highlighting issues, we run the risk of compromising the quality of the software. So own your role and let your voice be heard.
Learn the Fundamentals of Software Development
If you have worked in multiple software development teams, you know that we QA professionals sometimes do not get the respect we deserve. The low technical expectation of QA professionals has limited the respect we have gotten over the years. To help combat this issue, we must accept the fact that software testing and software development are correlated. The best developers will test their code appropriately to ensure it works as expected before deploying it to the QA environment. Also, the best QA professionals will ensure that, at a minimum, we understand the basics of software development to have a better insight into how to approach testing a feature based on its implementation. In addition, having software development knowledge improves communication between QA professionals and developers by allowing the QA professionals to understand technical terms and jargon used by the developers. This will assist in eliminating time spent between developers and QA professionals to clarify development related tickets before testing begins.
Know The Project Industry
As QA professionals, we have the privilege to test applications across many different industries. These include health, entertainment, banking, and education, just to name a few. However, without an understanding of the project industry, the test cases created may not capture all the necessary areas and testing scenarios relevant to upholding the quality of the application. It is therefore important for QA professionals to seek an understanding of the project industry to ensure their testing efforts are properly channeled. My recommended approach is for QA professionals to meet with the Product Owner to gain a better understanding of both the project industry and the objectives of the application. With knowledge of the industry and the goals of the application, the test cases created will be adequately written to cover the critical scenarios and features of the application. Once the test plan and test cases are aligned with the application industry, the quality of the product will be better suited for the end-user.
Imagine what a software development cycle would be like without the Quality Assurance process. Undoubtedly, there would be plenty of bug-infested applications, causing users to feel skeptical about these products. With software quality assurance playing a vital role in the development of a successful application, it is integral for us as QA professionals to take the necessary steps to empower ourselves. Knowing our roles and responsibilities allows for us to not limit ourselves, but rather to make the necessary changes for continuous improvement. Owning our roles assists in fulfilling our goals to facilitate the best quality application to end-users. Learning the fundamentals of development allows for better communication between QA professionals and developers, and it also improves a QA professional’s testing ability. Knowing our project industry helps in the building of test cases to cover critical areas of the application to ensure that quality meets the expectation of end-users. Once these steps are undertaken, QA professionals will be empowered and ready to facilitate quality applications to end-users.