The voice of a 29-year-old software test engineer who has been working for more than a year

Let me tell you briefly, the coordinates are in Xi’an, I graduated from the 16th class, and I am currently changing jobs. Counting the interviews before the National Day, I have interviewed a total of 5 companies (because I don’t want to ask for leave, so I just go to other companies for interviews every night, so the interview There are relatively few companies) of which 5 were successful, and the other 2 failed because of:

1. The understanding of the system knowledge is still not comprehensive enough. During the last round of supervisor interview, the supervisor asked detailed questions, and I was at a loss for words, so I just went back and waited for the notification.

2. The other company that failed was a small company with a small number of people. After the interview, I learned about it from various sources. The other party thought that my basic skills were good, but I still lacked some actual project experience. My eyes are sharp! ! ! Because the other party is an entrepreneurial company, I think it is not suitable for people like me who want to be stable, so I rejected it decisively.

As for the other 3 successful companies, the interview evaluations for me seem to be quite high, so I won’t talk about the specifics, because the salary and treatment are not too different from mine at present, so I don’t consider it for the time being, so I won’t— —I have listed the interview process of each company. Let me talk about some skills and other personal insights as a software test engineer who has worked for more than one year (packing for more than 5 years):

One: Introductory stage
At this stage, you may have just graduated from school, or you may have changed careers from other industries. Like me, you will have a series of questions about the software testing industry, such as what is the prospect? Is the salary high? Is there a lot of overtime? How should I learn with zero foundation? What skills do I need to learn to find a job?

In fact, these are not important. The important thing is that you must understand what this industry does and whether you are suitable for this industry.

If you have not entered this industry or just started to understand, then you must think about these questions: Do you really love this industry, at least have enough enthusiasm to delve into it? Can your learning ability keep you from falling behind in the ever-changing technological wave?

First of all, as an Internet industry, there will inevitably be overtime. Even if it is not 996, there will inevitably be urgent tasks or online. Ask yourself whether you can accept such a work rhythm. If you are about to go online, it is common to stay overnight. The next morning you get off work, and your colleagues just went to work with breakfast.

Secondly, if you have a basic enthusiasm for this industry, or if you don’t hate this industry, then at least you can have the motivation to study and drive yourself, so as to ensure that your work is not a torment for yourself.

Finally, in the Internet industry, technology is changing with each passing day. To be able to go on in the software testing industry for a long time, we must continue to learn. If you hate learning, or have poor self-motivation, then it is not recommended for you to enter this industry.

Two: The primary stage
At this stage, you have already started to do testing, even if it is the most basic, you already know what the testing process of an Internet company looks like. It can be said that this is the time when you are most energetic.

Your embarrassment when you encounter problems at work and your admiration when you meet a great god will all be transformed into your motivation to seek knowledge. Read books, watch public lectures, visit forums, your various knowledge and skills will expand dramatically at this stage.

But at this time, we must also pay special attention not to go to the doctor in a hurry. At this stage, I don't recommend that you start learning automation without laying a solid foundation, and you don't understand anything in the end. Business ability is the most important thing, no matter how sloppy the automation is, it is just an auxiliary. If the foundation is not solid, the earth will shake and the mountains will shake.

Three: Intermediate stage
At this time, you may have been doing testing for 1-2 years. You are also handy in many jobs, your salary is basically stable, and you know a lot about technology, but you still feel that you don’t know anything. An in-depth study that is missing in a certain direction!

In the middle stage of the software testing industry, one of the problems I must face is which direction should I go for further development. Automation or performance? Python or Java? APP or web?

Let me give you some advice based on my experience: about the direction of development

No matter whether it is APP testing or web testing, or you want to study automation, or you want to specialize in performance, it is all possible. There is no so-called good or bad, the important thing is whether you like it or not. If you feel that performance is exhausting and you don’t have a sense of accomplishment without automated testing, then focus on researching automated testing. As long as you specialize in a certain direction, you can become a master after a while.

About language selection

You can choose Python to get started faster and more flexible. As for automated testing or performance testing, don't be led by it for automated testing, don't exaggerate its role too much, and don't automate for the sake of automation. Performance testing is somewhat harder to do than automation. You have to understand code, operation and maintenance, computer principles, database, business, etc. It is okay to write scripts or execute them, but the difficulty is performance analysis and tuning. Of course, if you don't have very high requirements for yourself at this stage, then you can master the basic process of performance testing and simple performance analysis. For more things such as building a stress testing environment, monitoring performance indicators, etc., it is still necessary to accumulate experience in actual combat. For these two aspects, I suggest to learn, because the current recruitment requirements are already standard requirements.

Let me share the knowledge architecture diagram of the development direction of software automation test development engineers that I have compiled, which may be the most complete in 2023.

1. Testing basics
Understand the basic skills of testing, master the use of mainstream defect management tools, and be proficient in the operation and maintenance of test environments

2. Necessary knowledge of Linux

As the most popular software environment system, Linux must be mastered. The current recruitment requirements require Linux capabilities.

 3. Shell script

Master Shell script: including Shell basics and application, Shell logic control, Shell logic function

4. Principles of Internet Programs

The only way to automate: the basic knowledge of front-end development and the necessary knowledge of the Internet network 4. Principles of Internet programs

5. MySQL database

Software test engineers must have MySQL database knowledge, not just the basic "addition, deletion, modification and query".

6. Packet capture tool

Fiddler, Wireshark, Sniffer, Tcpdump and various packet capture tools are suitable for various projects, there is always one that suits you

7. Interface testing tools

Interface testing artifact, a powerful tool you can't avoid: Jmeter. Small and flexible: Postman

8. Web automation test Java&Python

Understand the purpose of automation, master TestNG&unittest automation framework, and assertion and log processing

9. Interface and mobile terminal automation

Professional interface calling and testing solutions. Build a complete web and interface automation framework, and use Appium as a whole

 10. Agile testing & TestOps construction

Unveiling the mystery of TestOps, continuous integration of the Jenkins framework is familiar

11. Performance Test & Security Test

The other side of software testing: performance testing and security testing, choose a direction and work hard to climb the pit!

I hope that everyone will break through the bottleneck of technology according to this learning route, and continue to explore and improve. Although this process will be very difficult, everything is difficult at the beginning. As long as you get through it, the future you will definitely appreciate the hard-working self now.

As someone who has been here, I also hope that you will avoid some detours. The following learning resources for automated testing hope to help you.

Guess you like

Origin blog.csdn.net/2201_76100073/article/details/130384609
Recommended