Evolution of requirements for testers: what was 5 years ago and what to expect in the future?

In the world of software development, changes happen rather fast. Some technologies flare up and disappear, others become indispensable components of our daily lives. The world of software testing, like any other field, does not stand still. Over the past five years, we have observed not only new requirements for testers, but also the evolution of the methods and approaches themselves. In this article, we'll take a look at what the requirements were for testers five years ago, how they differed from today's requirements, and what we can expect in the future.


Nostalgia for testers: when manual testing was king

Five years ago, the number of testing courses could be counted on your fingers. The courses themselves had a simple topic: test documentation, SQL for testers, API testing, test analysis, test management.

The vacancies for a middle tester had similar requirements: the ability to write test cases, conduct manual functional testing, create simple SQL queries at the select level, and, as far as it goes, know the basics about testing: what testing is, what test documentation is used in testing, what is included in a bug report and test cases, what test design techniques exist, what requirements exist, and how functional testing differs from non-functional testing.

Very little was required from the juniors – only to know the theory of testing: what testing is, types of testing, a brief description of the technical test design. This did not include SQL, API, or bug reporting.

Why were the requirements so low? Because due to the lack of professional training courses for testers, there were few professional engineers, so the lack of employees reduced the requirements for them.

In times of not so popular IT, testing did not require much effort, and there was almost no competition. The tester was caught dead in his tracks if he knew how to make queries in SQL. There was no talk about automation; if anything was required, then sufficient knowledge and skills were recording the steps of a test case using selenium and converting it into an auto-test.

Updated standards: what are the requirements for testers now?

Today, the requirements for testers have increased, and not only for the middle testers, but also for the juniors.

What is this connected with? Mostly with lots of learning platforms that have appeared on the Internet. Training has become more accessible, and advertising played a big role in that. “Get a profession with a salary of $2,000 in 1 month”, which is obviously exaggerated but still fights the good fight.

The requirements for candidates have increased. If in the past, a junior only required a “slick” theory about testing, nowadays the need for hard skills has significantly increased from what we had 5 years ago. Skills for middle testers have not stood still; if it was enough to know SQL, now you need to know not only automation, but also CI/CD, Web UI, working with logs and logging tools (Kafka, ELK, Zabbix, PuTTY, WinSCP, etc. further), working with queues and tools (RabbinMQ, Apache, etc.), working with traffic (various sniffers: Charles, Fiddler, Proxyman and others), not necessarily but including: performance testing, version control tools (GitHub, GitLab), and knowledge of flexible project management methodologies (Kibana, Scrum). This is approximately the basic set of requirements for a Middle Test-Engineer candidate.

Future standards: what requirements await testers?

It's worth discussing. Currently, testers have begun to be divided gradually into two directions: front-tester and back-tester. Perhaps this division will continue, for example, another separate dividing for testers will appear that checks the database deeper than select (are the keys: FK and PK lined up correctly, are all the attributes specified, is the developer linking the tables correctly, as indicated in the requirements and/or architecture, etc.).


And with the advent of Artificial Intelligence, it cannot be ruled out that there will be no requirements in this direction either. Of course, the tester must know the neural network for programs that use AI. Here we are talking more about testing using Artificial Intelligence, that is:

  • train the neural network how to test a particular program (especially relevant for combinatorial tests);
  • find typos in the software text;
  • find errors in layouts;
  • find bugs in the program themselves by studying the requirements.

You can come up with a bunch of options for what the AI will test. Or maybe Artificial Intelligence will independently select tests, describe test scenarios, and also develop auto-tests, giving AI only a technical task for analysis?

要查看或添加评论,请登录

MSOFT的更多文章

社区洞察

其他会员也浏览了