At the age of 28, how did he become the testing director of a listed company

Under the current general environment, all walks of life have begun to involve, and testing is no exception. The requirements of enterprises are also getting higher and higher. "Knowing how to code" has gradually become a label for test engineers. If you want to get a good salary, an essential skill-automated testing, is it difficult to automate testing? In fact, as long as you want to improve, is it difficult? That doesn't exist, at least for me, so let me briefly talk about my personal experience! Hope it can give you a reference.

I have a friend who has been engaged in software testing for more than 5 years. He said that in the testing industry, you can find a very good job after self-study/training. Now. . . . In the past 5 years, he has been outsourcing, and also worked in small self-research. Now he works in a listed company (the details will not be disclosed), and he has done a little bit of basic, automated testing and performance testing. He has been in charge of projects such as China Merchants Securities, Hengfeng Bank SMS platform, enterprise ERP system, monitoring platform for tens of millions of users, and home-school education platform; he is good at quality process improvement, functional testing, interface testing, Python automation, loadrunner/Jmeter performance testing wait.

Combining past work and interview experience and the current environment, he affirmed that automated testing must be a must-have skill for every test engineer to advance, and your salary will naturally increase as your technology advances~

According to the current situation, many people should start to understand and learn automated testing. When many friends come into contact with automated testing for the first time, they often don't know how to start, what the learning path should be, etc. become the first difficulty ahead. So I will explain to you how to learn automated testing in detail later? At the same time, I have also prepared [a full set of software testing materials] for you . If you need it, you can click the small card at the end of the article to get it for free.

1. Preparation stage: Master a computer language, Python

The ability of the programming language will determine the depth of your testing technology. As we all know, Python is currently a language that is relatively easy to use, so many novices choose to start with it.

For most people, their computer is a device, not a tool. But by learning how to program, you can take advantage of the most powerful tool in modern society, and you will always be happy. Today, I have studied the "Python Automated Testing Learning Route" for half a year. It can be seen from the name that it fits our learning goals~

Python automated testing learning route

2. Automated testing learning roadmap


3. Everything is ready, officially advanced automated testing!

Automated composition:

Automated testing is widely used in the current market, and the mainstream includes interface automated testing and UI automated testing. On this basis, coupled with continuous integration, fully automated testing can be achieved. Next, I will give you a detailed introduction to automation according to the three main components of automation:

1. Interface automation testing
2. UI automation testing
3. Continuous integration

1. Interface automated testing

At present, most of the projects on the market are projects with front and rear ends separated, resulting in a large number of interfaces. The interface automation test is mainly to test the interface.

So, how should we conduct interface automation testing? These knowledge points and tools here must be mastered.

1. HTTP and HTTPS protocols
In the interface test of the main process, a large number of interfaces are implemented based on the HTTP protocol, and data security is guaranteed by the HTTPS protocol, so HTTP and HTTPS protocols must be mastered. 

2. Interface documents
In actual work, the information carrier of the interface is not only the code, but also the interface document (provided by the developer). Understanding the structure, content and specifications of the interface document can help us deeply participate in interface testing and interface automation testing.

3. Interface testing tools Jmeter and Postman

4. Mock test
In automated testing, not all functions are suitable for automated testing. For some difficult test points, we have to use Mock technology to simulate.

In the login and registration interface, the Mock of the password
Mock the payment environment
Mock the payment password
Mock the verification code (picture verification code, slider verification code, face recognition, etc., SMS verification code, etc.)

5. Specific learning route for interface automation testing

6. Summary
After mastering these knowledge points, you can fully grasp and apply the interface automation test of the HTTP protocol; you can even conduct small-scale interface performance tests.

2. UI automation testing

The cost of UI automation testing is higher than that of interface testing. The main reason is not that the technical implementation is difficult, but because the UI is the terminal interface for docking users. It is the most frequently adjusted and most drastically changed part, so the maintenance cost is high.

So don't we need to do UI automation testing? On the contrary, for some large-scale projects, its functions are constantly iterative. Although the interface is being adjusted, due to the long project cycle, during the development and testing process, it is necessary to frequently use automated testing scripts for regression testing, which can improve automated testing. Utilization rate, improve work efficiency and reduce work cost.

Moreover, in UI automation testing, there is a key idea called "keyword-driven" testing, which is specially used to solve the problems of UI automation test script development and maintenance.

So how to learn UI automation testing?

Here, we can learn Web automation testing first, and then learn App automation testing.

1. Web automated testing

1.1 Selenium
Selenium is mainly for web automation testing. At the same time, in the mobile APP automation testing, some testing frameworks are also implemented based on Selenium. If you want to automate web testing, learning selenium is the best choice. After mastering Selenium, then master the mainstream Web automation testing.


1.2 Robot framework

Robot Framework is a functional automation testing tool written in python language. It has good scalability, supports keyword-driven, supports simultaneous testing of multiple types of clients or interfaces, and can also perform distributed testing.

1.3 Summary
If both Selenium and Robot framekwork can be mastered, then whether it is mainstream Web automation testing or other UI automation testing, they can have their own experience and occupy a place in the market.

2. Specific learning route for App automation testing

3. Continuous integration

1. What is continuous integration?

Let's imagine a scenario. Now a test engineer has written all the automation scripts, but this boss still needs to go to work every day and click "Start" to run the scripts, and when the development submits a new version, the automation scripts also need to be re-run.

So can this automated script be run automatically, and executed automatically after each release of the development? Of course you can, this is continuous integration.

To learn continuous integration, we recommend jenkins first.

2. What is the continuous integration tool Jenkins?

The Jenkins tool is an open source tool written in JAVA. It is very good in terms of scalability and practicability. Many small and medium-sized companies use Jenkins for continuous integration, and some large companies also conduct secondary development on the basis of Jenkins.

3. How to learn Jenkins

Understand the concepts of CI and CD

CI: continuous integration (integrate the code written by multiple developers in the code warehouse, automatically perform unit testing, and return the results)
CD: continuous delivery (automatically build, deploy, test, release the integrated code, and return each Phase results)
To achieve these processes, we need to split learning,
integrate code
, unit test,
build code,
deploy code
, test code,
release code
, send test results ,
and use Jenkins to integrate these processes
. To learn continuous integration well, Jenkins alone is still far away Not enough, we even need to go deep into architecture design, development, testing, operation and maintenance to proceed well.

Four. Summary

In fact, automated testing is a very broad technology. If you want to be proficient in other industries, you need at least 5 years of study to be proficient, proficient to a certain level, and even becoming a technical director is not impossible.

As far as testing is concerned, the work of testing is actually relatively easy, and the technical difficulty is not particularly high. Therefore, during the testing period, everyone must continue to learn in order to make progress and realize their own value.

Finally, my road to automated testing is inseparable from the plan at each stage along the way, because I like planning and summarizing, so my friends and I spent a period of time organizing a lot of [software testing resources], friends who need it You can click the small card at the end of the article to get it for free. I hope it will bring you help and direction.

If it is helpful to you, click a like and bookmark it to give the author an encouragement, and it will be convenient for you to quickly find it next time.

Guess you like

Origin blog.csdn.net/HUA1211/article/details/130131474