After five years of software testing in byte beat, he was ruthlessly dismissed in December to remind his brother of rowing


First, let’s briefly explain the background. An unknown 985 benshuo joined byte after graduation in 17 years. He was ruthlessly laid off in the name of “personnel optimization”. Then he switched to youzan and has been engaged in software testing. I have no internship experience before. It’s five years of work experience.

In the past five years, I completed a promotion and changed a company. I had happy and satisfied times and confused and struggling days, but I successfully changed from a career rookie to a senior rower.

In this process, I have summed up some practical experiences, some of which are realized by myself, and some of which are learned through communication with others. I’ll share them with you here.

Learn to think deeply, summarize and precipitate

The first thing I want to say is to learn to think deeplyTo sum up, this is the most important and meaningful thing I think.

First, think deeply. In the circle of programmers, I often hear some remarks: I have no technical content in this work, and I do it a little every day. What can I learn from this TM? Aside from some ridicule and banter, this may indeed be the real idea of some students, at least I once thought so. Later, with the accumulation of work experience and the exchange and discussion with some high-level students, I found that this idea is actually very wrong.

The reason why there is such a view that there is nothing to learn is basically the result of lazy thinking. Any little thing that seems insignificant, as long as we think deeply, dig a little vertically or broaden horizontally, is an ocean of knowledge that people can indulge in.

Let’s talk about the summaryI think this is also the lack of most programmers. They can do one thing well just by immersing themselves in their work. However, he almost never makes abstract summary, so that he has worked for several years, and his knowledge is still sporadic and unsystematic. It is not only easy to forget, but also causes his own narrow vision and limited perspective. 

It is very important to make some summary and precipitation in time. This is a process from art to Tao, which will make you see problems from a wider perspective and at a higher level. When encountering the same type of problems, we can promote and solve them systematically and hierarchically according to the summarized methodology.

You can write more technical articles, share more, and force yourself to think and summarize. After all, if the article is not deep enough, you are also embarrassed to share it publicly.


Actively study and maintain technical enthusiasm 

In the past two years, an anxiety theory widely spread in the Internet circle is called the phenomenon of 35 year old programmers, to the effect that programmers in the industry are basically waiting to be laid off when they are 35. It is undeniable that the Internet industry is indeed inferior to civil servants and other occupations in the system at this point. But in this question, 35 year old programmers are not 35 in the absolute physiological sense. They should refer to programmers who have worked for more than ten years and have worked for two or three years. The later work is basically based on the old capital, and there is no active learning and charging. It is almost the same between the ages of 35 and 25, and there is no desire for learning and growth at the age of 25. Instead, it adds many trivial matters of family life, and the salary requirements are often high. In the view of enterprises, this is really not competitive.


If we study actively and keep the technical ability and knowledge reserve in direct proportion to our working years, how can we be anxious when we are 35? I think major companies should also rush to buy such a bull? But learning is actually an anti human process, which requires us to force ourselves to jump out of our comfort zone, take the initiative to learn and maintain technical enthusiasm. In Didi, there is a saying that it is often the darkness before dawn when you take the initiative to jump out of your comfort zone and feel struggle and pressure. That is the time when you grow up fastest. On the contrary, if you feel comfortable every day and work only for a long time, you may really be boiling frogs in warm water.


Just graduated from this period of time, often more free time, it is a good time to study technology hard. With the help of this period of time, we can consolidate the foundation, cultivate good learning habits and maintain a positive learning attitude, which should be beneficial for life. As for how to study efficiently, there are many big guys on the Internet who write such methods to summarize articles


(1) Adjust your mind

Mentality is the key to a person’s success. If you don’t adjust your mentality well, it’s difficult to calm down and learn. Especially in such an impetuous society, the current situation of most programmers is three points and one line, and they feel very tired. Some older programmers will feel more anxiety, and this anxiety will become stronger and stronger with age. Then the only solution is to adjust their mentality, Be confident, young and diligent. Such adjustment, on the one hand, is helpful for your study, on the other hand, it makes you deal with the interview more calmly and smoothly.

(2) Multi read bug
Usually communicate with colleagues, take some time to read the bugs raised by colleagues and understand the process of finding bugs. You can learn a lot from the experience of others in finding bugs and improve your observation.


(3) Design your test
Whether it’s looking for boundary values, using combinatorial techniques, drawing charts, or creating test models, it’s always useful to put your ideas into your test design. During exploratory testing, consciously alternate your test plan and product learning, and constantly try to find a simpler and more applicable method.
(4) Squeeze in time and make a plan
Once you have made up your mind to improve yourself, no matter how busy you are, you should squeeze time every day. Remember not to “catch fish in two days and dry the net in three days”. In addition, it is also necessary to make a good learning plan. Review logically and methodically, check and make up for deficiencies first, and then review systematically. In this way, we can get twice the result with half the effort and the effect will be immediate.
(5) Continue to learn technical knowledge and update their knowledge reserves
Learning should be a continuous process for everyone. After all, the times are developing constantly. If you stop learning and stay where you are, you will easily become a front wave photographed on the beach. The same is true for testers. If they want to grow and not lag behind others, they must always learn new knowledge and master new skills. Moreover, in the Internet era, the channels for acquiring knowledge are also extremely rich and convenient, with a wide variety of video courses, open courses and various resources. Keep up with the development of the industry in order not to be eliminated by the industry.

If you have many puzzles in the software testing industry, you are welcome to communicate and discuss with me in the communication group in the industry. There are free videos and testing resources at all stages in the group, hoping to help you break through the current bottleneck


Take the initiative and exchange feedback in time

The first two are from the perspective of individuals. I hope you can improve your personal ability and maintain your core competitiveness. However, from the perspective of the company, the most important thing for the company to recruit employees is to let employees create business value and serve the company.
Although there is generally a certain training system for school enrollment, in fact, the company does not have the obligation to help us grow. In terms of accomplishing things and creating value for the company, I think the two most important words are initiative, taking the initiative to undertake tasks, actively communicating, actively promoting project progress, actively coordinating resources, actively giving feedback, actively creating influence, etc.
When I first started working, I basically did my job well according to the tasks assigned by the leader, and then did my own business. I almost never took the initiative to communicate with others or think about ideas that can help the development of the project. I thought it was enough to finish my job with quality and quantity. Later, I found that this is not enough. This is only the most basic requirement.
Some students only need to synchronize what direction they want to do recently. The following series of things basically don’t need leaders to worry about. I’m a leader and I like it. A word often heard after entering the job is called owner consciousness, which probably means that.
In this process, another important point is to communicate and feed back in time. The project is not progressing smoothly. If you encounter any problems, you should synchronize with the leader in time. If you are not sure about the technical scheme, you can discuss with the leader. If you can’t coordinate some resources, you can ask the leader for help. Don’t worry too much. You think these will be too troublesome. In fact, the leader does this thing.
If the progress of the project is relatively smooth and there is no need for the leader to intervene, it is also necessary to timely feed back the progress and benefits of the project, put forward their own ideas, and ask the leader’s suggestions on the current progress, and what else needs to be improved to eliminate information errors. On the one hand, doing these things is to make rational use of the various resources of the leader. On the other hand, it can also let the leader know his workload and control the whole project. After all, the leader also has a leader and needs to report.
It may be regarded as upward management that we dislike. It has an internal flavor. In fact, I’m not doing well. But the most basic thing is, don’t take a task, work with your head depressed, or even isolated from the world. You haven’t synchronized with the leader for a month, and you want to hold a big move. It’s basically cool.
Be sure to take the initiative. You can start by forcing yourself to speak in various public places. If you have questions or ideas, you can do one-one in time.

A set of good materials for systematic learning

Here is a set of fast learning methods and resources covering software testing interview materials and the advanced route of automated test engineers.

Learning direction

Learning is not a lot. Learn a little here and learn a little there. In the end, there will be nothing. So you have to have an automatic test, sort out the technical points in all directions, and form a summary of knowledge points in various fields. Its use is that you can find the corresponding learning resources according to the above knowledge points to ensure that you learn more comprehensively.

1、 Introduction to Python Programming

2、 Interface automation test

3、 Web automated testing

4、 App automated testing

5、 Front end web programming language

6、 Test and develop Devops system

7、 Resume production and interview skills of first-line large factories


8、 Robot framework and httprunner

According to this learning framework route, constantly explore and improve and break through the bottleneck of technology. It can be said that this process will make you miserable, but as long as you get through it. Life will be much easier in the future. I have also gone through such a long way, so that I can get more opportunities for high paid positions and pay back. It can be regarded as an recognition of my ability and truly prove my value. The salary of at least 30 + after tax is satisfactory in my current state.


High quality software testing learning books

1. Technology precipitation (Learning + accumulation)

  • For testers with more than three years and faster than four yearsWhether in large or small factories, or in outsourcing companies, functional interface testing is basically done, and there is only a little contact with interface, performance and automation testing. Many people believe that repeating simple work does not improve their skills, but in fact, some people can kill a way out of it, so the key is whether you have made efforts.

Of course, I also have my own set of learning methods and habits. I usually like to use fragmented time to see something, such as some technical books or documents, and some video explanations, which often make me feel suddenly enlightened and help me a lot in my work.

  • Reading books and documents

Before, some colleagues who did manual testing wanted to switch to automated testing and asked me to recommend some books on the introduction of automated testing. I would suggest them to choose the corresponding automated testing tools to practice according to the products of their project, and then choose books according to their own preferences. Next, I recommend some practical books.

1) Selenium 3 automated test practice: Based on Python language

Selenium 3 automatic test practice this book is the work of the big bug master. The bug master can be said to be my enlightener. I read a lot of his articles in the early stage. This book systematically explains the application of the latest selenium 3, involving continuous integration, the application of two Python unit test frameworks unittest and pytest, as well as data-driven, Po model, distributed operation of selenium, etc. it is very comprehensive and worth starting.


2) QTP automated testing best practices

The automatic testing technology based on QTP is introduced in detail, which is suitable for beginners of automatic testing. Because QTP is a paid software, if your company or project team can use the genuine version, it is really a good opportunity for in-depth study.


3) Best practices for automated testing

This book has a far-reaching impact in the field of automated testing. It points out the direction of successful testing for many companies. This book describes the experience of some companies in application automation, which involves many projects, from complex government department systems to medical devices, from SAP business process development to Android mobile applications and cloud computing.


4) App automation testing and framework practice
Comprehensively explain the knowledge required for app testing from the foundation of APP testing, practical technology, and then to the construction of automation testing framework. The main contents are: app testing and its types, construction of Java programming environment, foundation of Java language, detailed explanation of Android automation environment, detailed explanation of Android automation testing foundation, Android appium automation framework, packaging practice of appium data-driven testing framework, packaging practice of appium keyword driven testing framework Continuously integrated automation and appium common problem handling.


5) Postman interface automation test continuous integration
If you just need to use postman to complete interface automation testing, then this book is very suitable for you. If you want to see how postman completes automated testing and compares it with your own framework, this book is also suitable for reading. This book explains in detail the basis of interface testing, how postman completes automatic design and use case writing, and Newman + git + Jenkins + nail to complete continuous integration.


  • Advanced video course collection

It’s hard to learn software testing simply by reading, because some knowledge points are not explained and understood, and you can’t operate and absorb them. Moreover, it’s easy to quench your interest in learning by reading all the time~

So I recommend you to choose a course to follow. At that time, a programmer friend recommended me a course, which is the following. You can have a look

After listening to the free course, I feel that the setting of this course is quite OK, and it is particularly easy for novices to learn. Moreover, the teacher broadcasts live online, and problems can be solved on the spot. I can learn useful things and absorb new knowledge in every class.


What you don’t understand is OKClick here to download and listen to the announcement first


  • Actual combat cases

Optical theory is useless. We should learn to knock together and practice, so as to apply what we have learned to practice. At this time, we can make some practical cases to learn.

Actual combat of e-commerce projects
Web test project
Web + app + H5 + applet test project
Interface automation test project
Linux combat project

  • Interview materials

Our advanced learning automation test must be to find a high paying job. The following interview questions are the latest interview materials from front-line Internet companies such as Alibaba, Tencent and byte, and some big byte gave authoritative answers. After brushing this set of interview materials, I believe everyone can find a satisfactory job. 【You can click here to follow the announcement on the home page to view the sharing method



I’ve seen many leaders meet older programmers in a confused period during the interview, which is older than the interviewer. These people have some common characteristics: they may have worked for several years. What’s more exaggerated is that the work content of 7 or 8 years is relatively repetitive and there is no technical work.
Everything should be done as soon as possible, especially in the technology industry. You must improve your technical skills and enrich your practical experience in automation projects, which is very helpful for your career planning in the next few years and the depth of your mastery of testing technology.
Let’s give you a word of encouragement: when our ability is insufficient, the first thing to do is internal practice! When our ability is strong enough, we can look outside!