“High-quality” Software is a subjective concept in my opinion, For some users, it’s mainly about performance, while for others it’s about usability or security, sometimes maybe it’s a day-maker that a software can do a specific functionality.
You can relate when using AI software that helps you execute an idea you wanted to try but have no clue what’s possible, In this case, “maybe” it’s all that you need without concerning so much about usability or performance.
So “High-Quality” has a different meaning according to the user whom we are serving, While achieving perfection in software quality is impossible, fortunately, there are common good practices I find valuable when working with the team:
1. Establish a unified goal:
We (Software Testers) should be aligned with developers and stakeholders regarding our users’ interests and agree on the potential relationship between the client and the feature that we are testing (Example: Are users looking for solving a serious problem when using this specific feature, Is it a nice addition with no sever impact, Will they be disappointed to the degree of abandoning the product if this feature didn’t work, what are the ramification of failure?…)
2. Find nasty Bugs no one focuses on:
Software Testing is not only about clicking some buttons and answering multiple-choice questions about the feature (Pass or Fail), unfortunately, it goes way beyond that, Digging deep and exploring the feature requires testers to get the proper education about the niche they are working with (Fintech, Healthcare, …) from a different perspective (Business, Technical, Emotional, Historical, …), the more education the tester gets the more helpful will be to the rest of the team.
3. Give the stakeholders/developers/product managers something they don’t know about the product/feature:
Software Tester’s responsibility is not to define the correct behavior, it’s about helping decision makers to take correct actions by illuminating them about the product through addressing unexpected behaviors, ambiguities may face the users in their journey, deprecated trends.
4. Invest in the Bug Report:
When writing ANY bug regardless of its severity and type, Try to put all possible information to help the developer/product manager understand not only that there is a bug, but also the risk behind not fixing it, In my humble opinion each bug is a report expressing your work in front of the team, and if you want to be taken seriously as a Software Tester, you should put a serious effort addressing your bug, it should be helpful and clear to the reader to the level that you can hand the keyboard and mouse to your grandfather and have him follow the steps you wrote one by one and re-produce the bug every single time.
5. Avoid negative stigma towards developers:
Developers are the most valuable actors in the “High-Quality” Game, the ONLY activity that can increase the Quality level of the product is development whether it’s developing a new feature, enhancing it, or fixing bugs, and who does all of these, no it’s not Testers, not Product Managers, not Founders, … Developers do.
By adhering to these practices, I believe teams can deliver Software that meets users’ expectations and fulfills their needs.