Me: Self-reported by an Alibaba software testing engineer for 8 years

Unconsciously, I have been in software testing for more than ten years. I have worked for both start-up companies and listed companies. We have done functional testing, automated testing and performance testing. Having done testing, newcomers have also been testing team leaders, and now he is a byte test engineer who has been working for 8 years.

Looking back at the time when I first entered the industry, I couldn’t get away with functional testing, and I have been doing a little bit of work from the very beginning or for a long time. I feel that work is not fun and boring. It has been like this for 2 years, and the salary has always been the same.

I really don't want to just keep doing it like this, I want to improve myself. As the project gets bigger and bigger, use-case design becomes easy. My heart is not satisfied with just doing functional testing.

I had to start thinking about how to change the status quo. At the beginning of the company, I was the only software tester without any procedures and specifications. Fortunately, the work was relatively easy, which led me to have enough time to learn various testing techniques and tools. At that time, there were some opportunities to do performance testing at work, so I learned to use LoadRunner and JMeter. Once I needed to test the performance of a MySQL database. I used JMeter for a long time and didn't know how to set it up, but I asked a development colleague to help me here. Got it done in no time.

Let me understand that development knowledge is helpful for testing work. The ability of programming language will determine the depth of your testing skills. Of course, it can also bring a high level of income.

The pressure faced by those students who have been in the industry for a few years but are still functional tests can be imagined. After all, the software testing industry is still a technical position. Since it is a technical position, it must rely on technology to speak. Continuously mastering new skills and improving the ability of software testing to "find bugs" has become an urgent problem for software testing practitioners to solve. Therefore, most junior functional testers are now moving closer to automation, performance, and security.

However, there are still many software test engineers standing at the "crossroads" confused and helpless, unable to find their own direction.

insert image description here

1. Introductory stage

At this stage, you may have just graduated from school, or you may have changed careers from other industries. Like the subject, you will have a series of questions about the software testing industry, such as what is the prospect? Is the salary high? How much overtime? How to learn from zero foundation? What skills do I need to learn to get 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.

When the training was hot in the past few years, many students heard the boast of "good prospects, high salary on the Internet, no need to write code, no overtime, and the older you get, the more popular it becomes", and they threw themselves into this industry. After working for a few years, I didn't earn any money, and the technology didn't settle. If I couldn't get along, I had to change careers again.

If you, like the subject, have not yet entered the industry or are just beginning to understand, then you must think about a few questions:

  • Are you able to accept the pace of work in the Internet industry?

  • Do you really love this industry, at least have enough enthusiasm to study it?

  • Can your learning ability keep you from falling behind in the ever-changing wave of technology?

First of all, as the Internet industry, there will inevitably be overtime work. Even if it is not 996, there will inevitably be urgent tasks or going online. Ask yourself if you can accept such a work rhythm. If it’s time to go online, it’s common to stay overnight. You leave work the next morning, and your colleague just went to work with breakfast.

Secondly, if you have basic enthusiasm for this industry, or 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 you.

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

If there are no problems in the above 3 aspects, then congratulations you can enter the next stage.

2. 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 Internet companies is like. It can be said that this is the time when you are most energetic.

Your embarrassment when you encounter problems in your work, and your admiration when you meet a great god, will all be transformed into motivation for you to seek knowledge. Reading books, watching public classes, visiting forums, your various knowledge and skills will expand dramatically at this stage.

But at this time, it is also important to be careful not to go to the doctor in a hurry.

At this stage, I don’t recommend starting to learn automation without having a solid foundation, but in the end, I don’t understand anything. Business ability is the most important thing. No matter how much automation is played, it is only an auxiliary. The foundation is not strong, and the ground is shaking.

3. Intermediate stage

At this time, you may have been taking the test for 1-2 years. You are also handy for many jobs, your salary is basically stable, and you know a lot about technology, but you still feel that you know nothing.

Yes, you are missing some in-depth research in a certain direction!

In the intermediate stage of the software testing industry, one of the problems that must be faced is which direction should I develop in-depth. Automation or performance? Python or Java? APP or web?

I give you some advice from my experience:

About the development direction

Whether it is APP testing, web testing, or want to study automation, or 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 you are tired of performance and do not have a sense of achievement in automated testing, then focus on researching automated testing. As long as you specialize in a certain direction, you can become a god after a period of time.

About language selection

In the past, I wrote an answer on the choice of language for software test engineers. In short, when you first came into contact with it, you could choose Python to get started faster and be more flexible. At the advanced stage, you have to deal with larger business forms. Learn Java. It is normal for people who do technology to speak many languages.

Tester's Bottleneck

After two or three years of manual testing work, you can basically master most of the knowledge required for testing. If you do not climb to the position of test lead, many people will feel the bottleneck of development. Repeat the test every day, you will not learn anything, and soon Will lose enthusiasm for testing work. Inability to learn something and low technical level are the biggest faults in the testing industry. How to break through the bottleneck? Try to achieve automation as much as possible. Take the time to automate your testing work as much as possible, which can save testing time, improve your technical level, and avoid repeating testing all the time.

4. Advanced stage

If you are already an old fritter in the software testing industry, I believe you have stepped on many "pits".

At this stage, it can be said that it is the biggest career development bottleneck for software test engineers. The great gods in the industry have also broken through this stage and achieved new development.

Generally at this stage, there will be three directions of development:

  • Technical experts

This road is more bumpy, but also the most resistant. If you are not good at interpersonal relationships, do not ask about world affairs, and have such a strong interest in technology, then I suggest you take the road of technology. I usually write more code, communicate with developers more, and write some test platforms or test tools. At the same time, the development ability should also be good, so as to become a high-level test and development engineer.

  • management direction

Doing technology is tiring, and doing management is even more tiring, because dealing with people is the most complicated. It is necessary to coordinate the relationship between superiors and subordinates, and to make overall arrangements for various tasks. If you like to take the management route, don’t leave the business and only do management. It is recommended to be a technical manager. While leading the team, you can continuously improve your skills. On the one hand, it is difficult to convince the public if the technology is not good. On the other hand, it is also to exercise the ability to implement some team plans. Although the "life cycle" of management will be longer than that of pure technology, technology must not be abandoned.

  • change to other

R&D, product, operation and maintenance, or entrepreneurship are all new ways out after facing bottlenecks. Especially starting a business, don’t be hasty. I’ve seen too many failed startups and come back to work, and everything is gone.

So, as a software test engineer, how can you work hard to quickly become an excellent test development leader, or a performance test leader, or what knowledge systems you need to master as a software test engineer. This is not only a software test engineer who has just stepped into the workplace, but also an engineer who has become confused after three or five years of work. He must face and understand the problem.

Performance testing is somewhat harder to do than automation. Code, operation and maintenance, computer principles, databases, business, etc., you have to understand. Writing scripts or executing is fine, but performance analysis and tuning are difficult. Of course, if you are not very demanding of yourself at this stage, then you can master the basic process of performance testing and simple performance analysis. More such as building a stress test environment, monitoring performance indicators, etc., still need to accumulate experience in actual combat.

For these two aspects, I suggest to study both, because the current recruitment needs are already standard requirements.

As a tester, I would like to share some generalizations and summaries of my technology over the years, and share my notes on the skills that I need to master as an advanced automated tester, hoping to help you on the road of technology Friends all the way to the end!

1. Learn a programming language first, python is recommended

insert image description here

Second, the application of Python automated testing framework

insert image description here

3. Automated Testing - Web UI Automation

insert image description here

4. Automated Testing - Mobile UI Automation

insert image description here

Five, automated testing articles - interface automated testing

insert image description here

Six, automated testing articles - continuous integration of Git, jenkins, Docker

insert image description here

Seven, automated testing articles - performance test LoadRunner, jmeter, app performance

insert image description here

8. Automated Testing - WEB Security Testing, Penetration Testing, Vulnerability Scanning

insert image description here

Nine, automated testing articles - RobotFramework, AirTest

insert image description here

10. Test Development - Automated Test Platform Development

insert image description here

Eleven, Internet high-paying test to expand knowledge, Redis, MongoDB, Nginx cluster combat

insert image description here
If you want to develop performance testing in the stage of automation test engineer, the requirements will be more, in fact, performance is also a kind of automation. So the first one you also have to master a programming language, the second language scripting, the third indicator, and the fourth tuning.
insert image description here
Finally, a supporting automated learning resource is prepared for everyone. You can get the full version of the above network disk resources and a detailed analysis of the automated resources on the official account: Douzixiong.

And a 216-page software test engineer interview collection documentation. The corresponding video learning tutorials are shared for free! , which includes basic knowledge, Linux essentials, Shell, Internet program principles, Mysql database, topic of packet capture tools, interface testing tools, advanced testing-Python programming, Web automation testing, APP automation testing, interface automation testing, Test advanced continuous integration, test architecture development test framework, performance testing, security testing, etc.

I wish you all an exciting offer~~

Guess you like

Origin blog.csdn.net/m0_53918927/article/details/124368129