How to advance test development? What capabilities are needed? Hematemesis finishing - your road to advancement...


foreword

Test development: https://www.bilibili.com/video/BV1VP411U7tu/

What abilities does a good test development student need to have?

What is a test development engineer?
My definition of test development
is the owner of the breadth of technology, the enhancer of the process efficiency of the test team, and the terminator of solving the pain points of landing delivery.

How to understand the above definition?
A very important point in domestic test development is to have the coding ability and technical breadth that most tests do not have or are not good at.

He can quickly solve various block efficiency problems encountered in the testing process by using the existing mature tool framework or secondary development, and provide some more efficient R&D testing tools for the technical team to improve the efficiency of the delivery process, and Ensure the quality of the testing process.

What does test development do on a daily basis?

Most of them are doing the following things:
With the help of existing mature tools or frameworks, build various internal testing process platforms or frameworks, such as testing platform, use case management, automated testing platform, unit test coverage, online smoke verification Platform, test data creation tools, etc.;
when there are many business needs, temporarily support the iterative test of the business version, or review the requirements, write test cases, raise bugs, and verify online releases;
internal technology sharing, technical training for newcomers, etc.;
do QA work , the core is delivery efficiency and quality. The essence of test development is still related to the testing process and online delivery.

On the one hand, test development engineers use tools and platforms to improve the efficiency of the testing process, and on the other hand, they also need to ensure the final online delivery quality.

Five Capabilities of Test Development

1. Basic capabilities
As mentioned above, the essence of test development is to do work related to test delivery.

Basic ones such as requirements analysis, design of test scenarios, writing of test cases, discovery and verification of bugs, communication and coordination, test process management, quality control, etc.

2. Technical capabilities
Test development needs to use existing mature tools or frameworks to build various internal test process platforms or frameworks.

Therefore, in addition to the coding ability, it is also necessary to be responsible for introducing and implementing widely used or highly mature tool frameworks in the industry to solve various problems in the daily testing process, improve the efficiency of the testing process, and ensure the quality of online delivery.

Common tool frameworks include:
unit test frameworks such as Junit;
unit test coverage such as jacoco;
automated test frameworks or tools, such as apifox, pytest;
internal continuous integration tools, common ones are jenkins and gitlab;
traffic recording playback, common There are GoReplay, JVM-sandbox;
chaos engineering exception injection tools, common ChaosBlade, Monkey-Ops;

3. Communication and coordination ability
Communication and coordination ability is a soft ability, but it is a very important ability in today's workplace.

Whether it is the promotion and implementation of platform tools, or communication and cooperation with technical students in other teams, a lot of communication and coordination are required.

Many students dream of doing technology with peace of mind, without being disturbed by others. But in fact, in the workplace, especially in some large factories, communication and coordination skills are even more important than technology.

4. Product design ability
As mentioned earlier, test development needs to implement some platforms or tools. This does not mean that it is OK as long as the tools are used. Because the students in the team have different technical abilities, it is necessary to standardize the process through platforms or tools, and provide convenient operation methods to improve efficiency.

Moreover, the process and business characteristics of each company lead to different demands on the platform. Therefore, it is necessary to carry out platform interaction logic design in a targeted manner, and even handle various things in the front-end and back-end development of the prototype map PRD by one person.

5. Project management and delivery ability
Talking about the last ability, in fact, it is not only the test development students, the test students sometimes do these things. In addition to fixed version iterations in daily work, occasionally there are some independent business or technical projects to participate in.

Many Internet companies will emphasize the initiative of employees, such as ownership, one step forward, and taking the initiative to take responsibility without pushing the work. Whenever you take a step forward, you basically cannot escape from following up the progress of the project, controlling the quality of the project, assessing risks, coordinating resources and even ensuring on-time delivery.

Isn't it the daily project manager's job to do these things?
It’s so interesting to hold multiple roles and have responsibilities but no benefits. If you do well, you should be blamed. If you don’t do well, you will be blamed.

At the end of the chat, what I want to express is: on the one hand, the modern workplace has increasingly fine-grained division of job responsibilities, and on the other hand, it requires employees to have higher comprehensive abilities.

The most essential factor is that the previous extensive era has passed, growth has slowed down, profits have decreased, communication costs have increased, and the frequency of wheel-building and refactoring has become higher and higher. Isn't this another kind of involution?

The following is the most complete software test engineer learning knowledge architecture system diagram in 2023 that I compiled

1. From entry to mastery of Python programming

Please add a picture description

2. Interface automation project actual combat

Please add a picture description

3. Actual Combat of Web Automation Project

Please add a picture description

4. Actual Combat of App Automation Project

Please add a picture description

5. Resume of first-tier manufacturers

Please add a picture description

6. Test and develop DevOps system

Please add a picture description

7. Commonly used automated testing tools

Please add a picture description

Eight, JMeter performance test

Please add a picture description

9. Summary (little surprise at the end)

Only after experiencing setbacks and failures can we enjoy the joy of success. Struggle is the only way in life. As long as you have firm belief and go forward bravely, you will be able to realize your dreams!

Every effort is worthy of recognition, and every harvest comes from persistence. Don't stop, don't lose your direction, let us pursue our dreams, keep pursuing, and fight to the end with no regrets!

The footsteps never stop, and the pursuit is endless. Even if you encounter setbacks, don't lose your courage and enthusiasm. Let us move forward firmly and work hard to create a wonderful life of our own!

Guess you like

Origin blog.csdn.net/m0_70102063/article/details/130508849