How is the tester’s role likely to evolve in a changing world?

20 October 2021
evolution-testing-monde-en-mouvement
In recent years, the very usefulness of testers has been called into question with the emergence of automation and the advent of agility. The arrival of DevOps, coupled with software craftsmanship, the recent emergence of agility-at-scale and built-in-quality (building quality into the product rather than checking it after the fact) have also raised a lot of questions concerning the position and role of the tester.

If developers are handling the testing and quality aspects, what’s the point in having testers?

With this article, we will be presenting our vision of the changing nature of the tester’s role faced with these developments and the need to adapt to this new environment so that “humans remain at the very heart of software testing practices”.

How are the various technical and methodological changes forcing us to reinvent ourselves in order to be the standard bearers of quality in the development of software solutions?

Historically, the role of a tester was to manage testing activities on a development project. For this, he chose and implemented methods and solutions for describing or monitoring tests and automating the performance of testing, which could reduce his role in the search for anomalies and exhaustiveness in the tests. The tester therefore had to demonstrate his added value in the implementation and ongoing improvement of testing strategies and associated processes based on ISTQB principles.

Illustration-of-the-principles-of-the-ISTQB-tester

Illustration of the principles of the ISTQB tester

 

 

With agility, development and production cycles are becoming ever shorter. Clearly, optimum use of automation is the way forward. Some feel that having complete mastery over it all will be the path to take. However, beyond the technical aspects, the role of the tester is essential to ask the right questions, as opposed to a strategy of automating everything and anything: what are the critical paths of the application? Are there any critical components? Will the scripts be easily maintainable and scalable? Because let’s not forget that automation is not a test, but rather a means to get there.

Additionally, we are not in a race to find all the micro-anomalies because in any case it’s impossible to be exhaustive (second principle of the tester) but we must demonstrate that the developed software works as expected. The role of the tester becomes that of a communicator, who refines the understanding of the need, defines the risks, manages the priorities concerning the components and functions to be tested, raises awareness among developers regarding quality so that they can fully play their part in achieving it, all this while also favouring collaboration, in particular via the “3 amigos” workshops.

 

The arrival of agility-at-scale has introduced a further change in the tester’s role. In the SAFe framework, there is no mention of an organization or a role solely dedicated to test management, whether for strategy, tools, or expertise. “Quality” is everyone’s responsibility and the roles of the test manager or test leader are not clearly identified in this system. One reality of the SAFe Framework is that testing, an essential process for evaluating the quality of an application product, is only present in a fragmented way as a team objective; which can be very disruptive for a “legacy” organization with dedicated test teams and a well-established organization, as well as strong roles, hierarchical responsibilities and managerial positioning. For project teams, finding themselves in a large and interdependent environment raises questions about the types of tests to be carried out, the implementation schedule and the stakeholders involved. Do they need to run a huge end-to-end testing campaign? Who manages the overall testing strategy, the detailed testing strategy? Should the testing tools be standardised?

 

Faced with the deployment of these practices, the role of the tester and in particular of the test manager is evolving towards a role of coach to immerse and train the project teams in good testing practices at scale. He is therefore a facilitator for some, and a mentor or expert for others. In doing so, he must develop his skills with agility-at-scale frameworks and boost his interpersonal skills, such as communication and the ability to convince. He must also offer new ways of understanding complex test strategies in a short period of time, which can be the case with the mastery of BPMN type visual management to easily and collaboratively identify the critical paths of an application and quickly grasp a business context.

At scale, automation testers must also understand the interactions and complexity of the application ecosystem in order to study the possibilities of end-to-end automatic testing.

 

The DevOps approach and Software Craftsmanship see development as an activity for craftsmen, where the quality of the code, excellence and pride in the finished product are essential. It’s not enough for the software to be simply functional, it must be well designed, maintainable, scalable and free of anomalies in order to deliver the value expected by the customer. The “Crafts” objective means guaranteeing the reliability of applications by incorporating quality from the start of the needs-definition process and throughout the life cycle of the product. Testing is a central aspect of the method with shift left and iterative approaches around TDD / BDD in order to guarantee more scalable code. But what then becomes of the tester? Does he still add value? Are his activities compatible, complementary or competing with the craftsman? Or will the Craftsman replace the tester and find himself playing a central role regarding software testing practices?

In reality, in this context, the emergence of DevOps and Software craftsmanship can only be a benefit with the implementation of TDD / BDD. The craftsman becomes an ideal and constructive partner during the “3 amigos” workshops, where technical excellence allows for greater mastery of agility and makes it possible to ask the right questions and therefore to promote dev / test / business-client collaboration. During these workshops, usage and acceptance scenarios reinforce an understanding of both the needs and the acceptance criteria. The testers, through their experience with the system, support this role-play, and they are the ones who run these acceptance test scenarios.

Illustration-of-quality-at-the-heart-of-product-development

Illustration of quality at the heart of product development

 

 

This approach makes it possible to put quality centre stage during the product development process: this sharing of the vision and of the test strategy allows for effective and constructive collaboration. The craftsman and the development team use the test as a core factor for testing during the development phase, and the tester tests to verify and validate requirements and usage cases in a functional way. The role of the tester can therefore evolve in line with improvements in quality by favouring interactions. He can refine his testing programmes (manual and automated) and incorporate exploratory testing while bringing his vision of the test to it.

This quest for excellence therefore obliges us to further improve our skills in agility and DevOps as well as our skills in listening and collaborative communication with a positive critical mind.

 

To summarise, our role is evolving in line with two main trends and in two ways:

 

  • Towards a more technical role, focused on automation with in-depth technical skills regarding architecture and test resources, on DevOps tools (pipeline, Docker, etc.) but also with good compression concerning agility.

  • Towards a more methodological role, with a knowledge of complex projects, the mastery of good testing practices as well as the concepts of agility, DevOps and agility-at-scale (ATTDD, TDD, BPMN, 3 amigos, example mapping, etc.).

les-testeurs-aujourd'hui

Illustration of today's testers, men and women with multiple hats

 

In addition to technical skills in this ever-changing world, the development of interpersonal skills is essential. We should mention for example:

  • Positive critical thinking

  • Communication

  • Collaboration

  • Methodological and technical curiosity       

  • Continuous learning

  • Sharing

 

We have found that any software development must strive for methodological and technical excellence, and even more so in an agile context. This context of change, which seems to be shaking up or even eliminating the role of the tester, can be a source of fulfilment and a new opportunity, allowing him to become a “real agile tester”.

This is why the common values of quality, sharing and collaboration mean that quality and therefore testing can assume their full potential.

 

 

Authors’ bio:

 

Jean-François Fresi

Head of the test services centre for AUSY, Jean-François manages more than 50 testers. With nearly 15 years’ experience in testing, having worked on diverse projects of both a technical (performance tests, automatic tests, security tests) and organisational nature (supporting test projects in Agile, SAFe and DevOps organisations), he is now committed to passing on good testing practices and making projects autonomous. Jean-François has been supporting teams in SAFe contexts for more than 3 years in order to gain a better understanding of built-in-quality.

 

Yves Richard

Today a Consultant and Expert in Test Automation for AUSY, Yves is involved from the case study stage through to the development of skills for new members of the Practice Test. Whether it concerns the implementation or the development of technical solutions, he strives to pass on good testing practices and makes a point of devoting a great deal of time to technological intelligence.

 

 

Also do not hesitate to visit our pages dedicated to software testing

 

Let's talk about your projects.

bouton-contact-en