Traditional Culture Encyclopedia - Traditional festivals - Test Agility and Agile Testing

Test Agility and Agile Testing

This article first appeared on the forest space website.

You may be worried that the two-state IT alliance released a maturity evaluation model to test agility a while ago, and my friends have been asking me questions about this maturity evaluation. I find that everyone naturally equates this with the maturity of agile testing, but it was not developed by Thoughtworks, and I am not sure. To this end, I made a special investigation, hoping that my interpretation of this article can answer most of your questions.

We try to understand it literally. We are familiar with the following two terms:

I believe everyone can understand these two examples, and there is no problem. With regard to test agility, similarly, it can be literally understood as follows:

So, is "agile testing" equivalent to "agile testing"? Literally, it seems to be equivalent. But the fact is that we need to have a deep understanding of the two before we can draw a conclusion.

In order to better explain, it is necessary to introduce what is sensitive steady state.

In the era of digital transformation, on the one hand, enterprises need to adapt to the rapidly changing market demand in the digital era, on the other hand, they need to maintain the security, reliability and stability of key businesses. Traditional IT needs to adapt to these two business forms at the same time and faces great challenges. In order to meet this challenge, Gartner company put forward the concept of bimodal IT:

The conventional practice of digital transformation of traditional enterprises is to use traditional waterfall development for predictable business, which is called steady state; Exploratory business uses agile development, which is called sensitivity. Thoughtworks insight An Hui's article "Sensitive State and Stable State in Agile Transformation" introduces this in more detail.

Of course, this steady-state and sensitive approach is also controversial in the industry. Xiao Ran, a digital expert at Thoughtworks, pointed out in the article "Dual-mode technology in the digital age, dual-mode IT becomes a thing of the past":

Nevertheless, in the process of transformation, traditional enterprises will basically experience a sensitive steady-state existence stage for a long time, which is of positive significance to the transformation. In the long run, it is still necessary to transform to organizational agility and realize real end-to-end agility of the whole process.

About agile testing, I quote two words from Wikipedia:

As can be seen from the definition of Wikipedia:

At the same time, based on many years of practical experience in agile team development, Thoughtworks' senior QA refined the Agile Testing Manifesto, which clearly expressed the values of agile testing:

Agile testing is the goal of "delivering more value quickly and effectively" based on agile values. All quality-related activities think about how to achieve this goal from the perspective of the team, not from the perspective of testing this activity/role, and cannot be simply understood as "agile testing" or "agile testing".

For more details about agile testing, please refer to Liu Ran's article "Agile Testing of Thoughtworks" and my series of articles "Agile Testing".

The concept of test agility comes from the White Paper on Test Agility published by Shuangfeng IT Alliance (hereinafter referred to as "White Paper"). Here, the content of the white paper is quoted directly to explain the test agility.

Judging from the contents quoted above, test agility means taking testing as an independent discipline and considering optimization and improvement from the perspective of testing.

Based on the content of the white paper, the two-state IT Alliance has also released the corresponding maturity evaluation model, which is also based on several dimensions of testing:

At this point, we can clearly see that test agility is about solving problems around testing, and more consideration is given to the embodiment of test value.

Understand the concept, and then compare agile testing and agile testing from the dimensions of background, objectives, subjects, concerns and scope of application:

From the above table, we can easily see that there is a big difference between agile testing and agile testing:

Agile testing originates from agile software development mode. In this new development mode, it is necessary to consider how to meet the requirements of quality assurance, which naturally leads to agile testing. Agile testing follows agile values, and its goal is consistent with agile development, that is, to deliver more value quickly and efficiently.

Agile testing refers to the transformation challenges faced by the test team in the traditional IT steady-state mode in the process of digital transformation, aiming at helping the test team achieve transformation. Therefore, the goal of test agility is mainly to reflect the value of test and improve the agility of test team.

In order to achieve the goal, agile testing focuses on fully functional agile development teams and quality-related activities in the whole life cycle of software development. Agile testing no longer focuses on testing as a check link/activity, nor does it emphasize independent roles. Instead, the team is required to be responsible for the quality as a whole, realize the left shift, continuous test and right shift of the test, and get feedback quickly, so as to truly realize the built-in quality of software products.

Agile testing regards testing as an independent discipline, and considers optimization and improvement from the perspective of testing. The main concerns include test requirements, test plan, test design and test execution, as well as test environment, data, technology and tools.

As shown in the digital conversion diagram above:

Agile testing comes from agile development mode, and it must be suitable for purely sensitive development teams. At the same time, some methods and practices of agile testing can also be used for reference and appropriate adoption by steady-state teams.

Because the background, objectives, subjects and concerns of agile testing are different from those of agile testing, it is not suitable for sensitive development environment, but only for steady-state environment.

Digital transformation has indeed brought great challenges to traditional test teams. On the one hand, it is necessary to cooperate with sensitive teams to realize the integration of test development, on the other hand, it is also faced with the problem of how to optimize and improve steady-state testing.

Although test agility helps the steady-state test team in transition to some extent, it can't fundamentally help the transformation. In addition, the sensitive and stable two-state storage mode mentioned above is only a transitional stage in the transition. Whether to invest more energy in this transitional steady-state mode, please think carefully and move on.

The transformation of testing adapting to agile development mode can be not only the transformation of testers, but also the transformation of testing working methods. Only by changing cultural concepts and cognitive methods, adjusting organizational structure and communication methods, optimizing processes and strategies, adopting tools and practices conducive to rapid feedback, and following the "Tao" from the inside out->; "law"->; "art"->; Only by completely changing the direction of "equipment" can we realize real agile testing. I have a very detailed introduction to this content in the article "Testing Transformation under the Background of Digital Transformation", please read it.

Agile testing is not "agile testing" or "agile testing", and testing agility is "agile testing". They are different.

Because the background, objectives, subjects and concerns of agile testing are different from those of agile testing, it is not suitable for agile development mode, only suitable for the steady-state mode of traditional enterprises, and cannot help the steady-state team realize agile transformation. Sensitive steady-state * * * memory itself is the product of the transition stage of digital transformation, so it needs to be cautious when it is adopted by the steady-state test team.

The real agile transformation of traditional testing needs to follow the Tao->; "law"->; "art"->; Can realize the direction of the "device" and the transformation from the inside out.