How to implement automated testing from 0 to 1? What is a mature model? Summary of test veterans...


foreword

In the past ten years, IT has developed rapidly. At that time, the demand for software development and testing was increasing every day. The applicants were always welcome. Although there has been a lot of feathers since then, the indirect impact is that the high salaries of software development and testing are highly attractive to practitioners, especially the threshold for testing is low.

In 2023, software testing is now entering a high-demand stage

Python automated testing: https://www.bilibili.com/video/BV16G411x76E/

In recent years, major factories have been reducing the ratio of development and testing. In the past, the ratio of Huawei's development and testing was about 1:1. Now that full-stack engineers are advocated, the ratio has dropped to about 3:2, and there will be more in the future.

Because automated testing is being done now, manual testers are reduced, and correspondingly, the software is becoming larger and more complex, and has higher requirements for safety, performance, and compatibility.

Now it is required to participate in almost the whole process of testing, and it also puts forward higher requirements for testers' business perception and code reading.

Automated testing has become standard for test engineers.

Next we will explain automated testing

How to implement automated testing

Before discussing the interface automation testing for novices from zero to one landing, I would like to throw out some of my suggestions:

Do not learn the so-called automation framework directly from scratch;
before learning the framework, it is necessary to learn network protocols and coding knowledge;

Why do you say that?
Novices generally do not have a solid technical foundation and do not have much coding practice. It is especially easy to learn the framework directly step by step.

To learn landing interface automation or other automated testing from scratch, I recommend to practice from easy to difficult, so that on the one hand, you can give priority to the completion of work in daily work and improve work efficiency;

On the other hand, just like fighting monsters and upgrading, learn to improve yourself from easy to difficult, and constantly optimize the practice of automated testing at work. From easy to difficult to implement interface automation testing, you can probably follow the following steps:

Learn to use tools for interface testing (such as jmeter/postman);
learn to use continuous integration tools (such as jenkins) to execute interface test scripts in batches;
learn tools such as git/gitlab and source code management to facilitate multi-person collaboration in the team;
learn A programming language that uses an automated testing framework to convert tool scripts into code scripts;
learn to encapsulate common parts, optimize code structure, improve the efficiency of writing code scripts, and reduce maintenance costs;
learn data parameterized management methods, you can learn from Excel— —Configuration files—databases—iterate in the direction of the number factory;
try to distinguish script collections according to business lines and test scenarios, and then introduce mocks to reduce call dependencies between services and improve execution efficiency;
start building wheels, engage in KPIs, and develop automation testing platform;

Automation Testing Maturity Model

Primary stage - test semi-automation
First use tools to convert daily time-consuming manual testing into semi-automation (such as postman/jmeter/jenkins), do not consider any framework or CICD and other high-end things, first solve some efficiency problems before you have time and resources into subsequent construction.

Of course, this stage is more suitable for test students in start-ups or small companies.

Intermediate stage-regression test automation
With the initial part of the construction, the daily smoke test, the main process regression test in the system test stage, and part of the process of creating test data can be transformed into automation.

In this process, on the one hand, it is necessary to cultivate and improve the technical capabilities of the construction team members, and on the other hand, it paves the way for the large-scale implementation of automated testing (after all, many companies' automated testing becomes pure KPI without seeing short-term benefits, and then nothing happens) .

Note: What I said above is test automation, not automated testing. Test automation refers to converting the time-consuming and highly repetitive parts of daily manual testing into tools for execution.

The purpose of doing this is to improve efficiency, liberate human resources, and lay a solid foundation. By the way, let the leaders know that doing these things has long-term value to the team.

Advanced stage - large-scale automated testing
At the advanced stage, I personally think that a large-scale automated testing can be carried out.

The large scope here does not mean that there is no need for manual testing at all, but according to the spinning cone model (not the pyramid model) of automated testing, and according to the proportion of UI-10%/API-70%/UNIT-20%, continue to build and landing.

Of course, at this stage, you can start to try to test the practice of shifting left, and test students to do more creative and exploratory work, such as:

Spend more time in the requirements stage, including requirements analysis and requirements review, and do a good job in the quality of the requirements stage;
design a more efficient automated testing process framework to improve the effective coverage of test cases (orthogonal experiment method);
promote R & D students Practice unit testing, test students provide cases and review and verify, R & D students are responsible for implementation;
construction quality measurement related matters (measure to solve problems and verify the effect, not to automate magic changes for measurement indicators);

Maturity stage-automated testing pipeline
With the technical construction and use case precipitation in the previous three stages, as well as the collaboration between different teams, this stage can consider integrating automated testing into the enterprise's automated delivery pipeline.

Regarding the content related to the continuous delivery pipeline of devops, follow-up updates...

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)

Success requires courage and determination, as well as constant pursuit and dedication. As long as you stick to your dreams and overcome setbacks and tribulations, the ultimate victory belongs to those who are not afraid of hardships and dare to fight hard!

On the road of life, we need to pay more sweat and effort than others. As long as you have an indomitable heart and firmly move towards the goal, even if the road is difficult, you can finally reach the other side of success!

Everyone has their own dreams, but success belongs to those who keep striving and making progress. As long as you have firm beliefs and go forward bravely, you will eventually walk out on a glorious road of life and realize your ideals and values!

Guess you like

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