The importance of the manual tester
By: Marcela Ortiz Sandoval
Tags: Manual Vs Automation, Qc Analyst, Qa Skills, Manual Testing, Qa Role

In recent years, automated tests have gained ground in the software world, not only in initial levels such as unit tests and integration; today, they are trendy in end-user tests. Without a doubt, they have come with the strength to stay; they have been sometimes assumed, in my view, in a wrong way at this last level. Frequently, the first impulse of those who come across the benefits of automation for acceptance testing is to think that it solves everything. That it is a magic solution and that once implemented, it will give them an infallible guarantee of zero errors, and that it is the end of problems with the users, in a word, it’s the PANACEA.

Indeed, like me, you could have heard about fantastic agile teams where complete test cycles are not done; there are no QC analysts; everything is done with automation. I have heard several times, and I can only say that none of the ones I saw had eliminated manual tests. Sometimes they were done without any procedure or repeatability by end-users, exponentially increased errors in the production environment. In another case, the entire development team stopped for months to test the built product. In others, they had the role of the tester with another name. Although I could not see if they existed, the point is that it is not as simple as it seems, and it is a solution that should be taken with a grain of salt.

What does the manual tester do?

So, from the perspective where automation is the best and perfect practice in testing, what role does the manual tester play? What is the use of having some QC analysts delaying the delivery, complaining about each new feature, and sometimes for no apparent reason, returning the user stories to development? Why should you keep a solution with leaked bugs when you can have a much more robust automated solution? The criteria for automating tests have been widely discussed, and this writing does not aim to delve into them. However, like any superpower, automation carries great responsibility, it cannot be abused, and only those who know how to use it wisely can make it bear fruit. In closing, I would just like to say that the essential part of your test automation strategy is knowing how and when to use it.

Back to the topic of what to do with manual testers, in many development teams, the tester is a species in danger of extinction, but at what cost! And it is here where I would like to deepen because it is impossible to assess what we do not know. I think that the greatest desire to replace the manual tester with automation comes from the ignorance of what the former does. What characteristics do you look for in a manual tester? What is the essential contribution to a development team?

A typical description for a QA position

In Latin America, the test profiles do not describe much of the characteristics expected of it and focus on “Person with X years of testing experience,” sometimes, specific experience is requested in the tools used to report a bug. The functions include the design and execution of tests and bug reporting. Which also does not describe what a manual tester does. So, it usually seems that anyone with a high degree of attention to detail could play that role, and while attention to detail can help, it is not the only thing or the most important thing. Next, I will deal with some of the aspects that should be evaluated in a tester candidate and their contribution, how they will notice it is difficult to differentiate these two aspects: skills and assistance, because skills are essential only if they have utility.

In my opinion, the manual tester is the one who gives value to the end-user, even when this does not exist -as in new applications- and manages to validate if the application will be useful, puts himself in their shoes, and knows if their expectations are met. Still, it does not do it capriciously with a wish list; it does it from a grounded point of view that limits expectations to a realistic plane supported by user requirements, user stories, mockups, screen design, etc., all its broad understanding system.

Unfortunately, when this testing discipline was born, the first option was to send those who did not have much development skills or did not like it in the software world. However, in my experience, the best manual testers have programmed. The reason is that they have a bigger picture to understand the problem, they know the limitations and possibilities, and they could structure concrete and successful test cases. They can read an algorithm and understand a model class. Therefore, the first requirement is a technical background, which is not necessarily a degree in systems engineering. I firmly believe that software should be the same as in the coffee industry; the most knowledgeable about the product and the one with the most exquisite palate is the one who tastes to know that the product is okay.

QA essential skills

The tester must be the voice of someone who does not know, a user who sometimes does not yet exist, for which his analytical capacity and criticality are essential characteristics. He must build scenarios ensuring that through them, he will solve a business need optimally and not only by meeting the acceptance criteria but by investigating a little more. The tester should hesitate when the developer tells you that it is not possible to do it in another way, that it is more straightforward and more logical, as well as when the user story asks for a contradictory and too forced requirement. This is the maximum contribution of a manual tester: being critical, analytical, and at the same time realistic, and that is a task that today we cannot automate, so when something begins to be boring and repetitive in testing, it is necessary to automate it, because already it does not require the expertise of a tester.

QA analyst is a translator

When someone asks me to define what a tester does, the first phrase that I usually use: “He/she is a translator,” a translator between business needs and system possibilities, and as in an English Spanish translator, he cannot be a translator without a good command of both languages. Therefore, your technical knowledge is vital. This specialized knowledge has several edges, the first is database experience, and it is not only about being able to make a query to know if the record was stored. It is important that it can read a relationship entity model, execute packages, and learn about non-relational databases to identify the implications of user actions on the data. His programming experience will help to understand what is done within his team, contribute to each of the ceremonies, and the ability to generate algorithms to solve requirements will be beneficial for the construction of test scenarios. That ability to turn the complex into simple, that those who build software normally train will be exploited from another perspective.

Technical knowledge

QC analysts must have a broad knowledge of architecture and design, which allows him to understand how the system is built and how the different components’ interactions navigate to deliver the functionality. An empowered tester of his product should be able to present the architecture of the application; this knowledge will give him the ability to demand adjustments according to the possibilities of the system, seeking the desired balance between usability and implementation. Finally, you must be steeped in what we now call DEVOPS, with more than a basic knowledge level that allows you to autonomously deploy your test environment, perform configuration validations and execute, just run automation tests with ease.

A confidence partner

The tester will undoubtedly do one of the least popular tasks: find fault with what others did, and by human nature, we are not very receptive to criticism. Software development is an art, an interpretation of reality made code, and no artist wants someone pointing out the inaccuracies in his work so that soft skills are precious. One of the main failures in a tester is that he makes the second voice to the developer and limits himself to approve those he receives, when contrary, a tester must be critical, and he needs more prominence, he needs to be visible. Therefore, mistakenly and for a long time, we think that someone with a strong character and who knows how to set limits, makes sure to separate their opinion of the implementer and judge harshly to find errors. Definity is true, but relationships within a work team must be long-term, and this type of confrontation does not contribute to building a collaborative team. In my experience, the most valuable soft skills for a tester are: empathy, objectivity, and good communication, being able not to be an implacable critic of their mistakes, but a partner that helps them not to let anything escape, a support.

Communication skills

Objectivity helps create good relationships, but it is also critical to never lose focus of what is requested in the user story because it is not as easy as it is believed to identify what really is a bug. Systems applications and the construction process have different stages, and just as there are times when suggestions for improvements and recommendations are handy, there are other times when it is necessary to be wholly objective and rigorous to express whether or not it is met. Testers can quickly identify when and how the different types of tests can be helpful.

Visibility, of course isn’t a plus, it’s necessary, testers often do not complain about a lack of recognition for our hard work, but when we see the reasons, we may forget to give ourselves that visibility. For this reason, a tester that can confidently present new features, defend the team’s decisions and resolve doubts, is essential. A tester doesn’t ask for visibility, he can find his place in the team to be visible, from where he can interact with others roles.

A tester needs a lot

As I explained a few paragraphs back, it is difficult to separate what the tester must have from what makes his role valuable, but trying to summarize and focus on skills: a tester requires extensive technical knowledge focused on programming, databases, design and devops, critical analysis skills, abstract knowledge, mathematical logic, and of course his empathy and ability to be objective will be fundamental in his work. All these skills are necessary because the tester is the one who assumes the position of the end-user seeking to ensure that their real expectations are resolved in the best way according to the possibilities of the system supporting their observations in the ability to easily understand the visions of business and technology.

Of course the automation testing is great and useful, the point is the manual and automated aren’t opposed, they are complementary. A project can have both in the same cycle with harmony to power the testing strategy. First valide the user stories with detail, and critical vision, through test cases you must assure the acceptance criterias and then when the feature is ready and you are sure the test case can find any bug you can use automation to reduce the risk of human mistake in the validation process and gain time to focus your attention in new features.

What happened in the future?

Technology is not static; technological obsolescence applies not only to electronic devices, but it is also why the profiles in the software industry change and will continue to change. Manual testers are no strangers to this rate. Years ago, someone who could replicate what an end-user does to be a tester was required, and it was limited to a “click and next screen,” today it is not enough. The QA area has become so specialized that there are even many profiles with different specialties and functions. So, the manual tester profile evolves, and it is necessary to evolve with the market and respond to these changing needs: tools, methodologies, technologies, and languages. One of the tester’s best features will be attentive to these new requirements and assimilating them into his side.

Are manual testing essential? Yes and no, it depends on what you want to build, as well as the moment of maturity of the product. For a product that demands maximum precision and with a narrow margin of failure, they are necessary. When it is possible to launch several beta versions before going into production, perhaps only a group of developers can do it alone. For those of us who have been in the software industry for several years, it is clear that an application can be built from scratch with only developers. In fact, we exercised that multitasking role with relative success. However, how many of those applications survive today? Few, because maturity in building software definitively requires specialization, so nowadays big applications have behind them: solution architects, data architects, devops, and of course testers.

The future is unknown; some changes are beginning to be glimpsed; others will surprise us. Today we know that big bets are on analytics and artificial intelligence, a reason that significantly supports the idea of ​​replacing all manual tests with automated ones. Clearly, it can be an option, if it is possible to create programs with skills to make decisions not only based on previous learning but also incorporating critical thinking, creativity, and the opportunity of cross-learning to apply what has been learned in new areas. These capabilities that nowadays no machine can do as well as humans, it is possible that they can be surpassed in the near or distant future, it is difficult to know precisely. Clearly, when this is possible, not only manual testers will be on the way to extinction, there will be many, many professions that will not be needed, and surely by advancing step by step, we will be prepared for those changes. But while that happens, the manual tester will continue to be essential for a good product.