I have been in the industry for 3 years, and my monthly salary is less than 20K. It seems that it is time to make a jump.....

words written in front

Unknowingly, I have graduated for two and a half years. I have worked in the same company for three years and have not changed jobs. This year, I chose to change companies at the right opportunity. Here I would like to summarize my three years of work experience and this interview experience.

I graduated from an undergraduate college with a second degree and studied network engineering. When I graduated from junior year, I chose to come out to find a job internship during the summer vacation. Now I think there are good and bad.

The reason why I chose software testing was because I felt that I had little grasp of development at that time, and I felt that I was not competent, although I knew all kinds of programming languages. At that time, as a girl, I felt that I might be lacking in development. When I was a junior in software testing, I looked for courses on the Internet. I probably knew a little bit about it, and I could do basic functional testing, so I started working in the software testing industry.

first project

I was lucky in 2018. I worked in a small operation and maintenance company for a week. At that time, I really felt that the boss was too stingy and gave up. I was looking for an internship position in software testing. After several days of interviews, I finally found a foreign-funded company. Maybe I My English is not bad, and I have a little advantage. I don’t need to mention the internship salary. Anyway, I have a learning attitude.

During the one-year internship, I was completely exposed to new things in the first few months. The very beginning was functional testing. The difficulty mainly lies in the control of the business, which mainly depends on my ability to accept. The project is a system based on B/S architecture, which is divided into front and back. Of course, the structure of this is only known later. In addition to functional testing, the project also conducts automated testing, and we use Python+Selenium to write automated scripts. But it is mainly based on functional testing. At first, I didn’t understand anything, and my self-awareness about testing was just a little bit, and it was good to be familiar with the business. I felt that the position of testing was easy to be replaced, and I was also worried and worried about whether to change careers. Later, there was a slight change in thinking, which will be discussed later.

I stayed in this project for nine months as an intern, learned functional testing and automated testing, and arranged for me to work on another project because my ability to accept it was not bad. This project has some interface connections with the previous project, and it is a companion project. Both projects are projects of the same company and we work in the same office. Forgot to say, what we do is outsourcing projects.

The latter project is the project where I learned a lot. On the one hand, it is the idea of ​​software testing, and on the other hand, it is software testing technology. Of course, I haven't had enough contact with it now, and I don't think I am very good. I think I still have a long way to go on the road of software testing.

second item

I stayed in the second project for two and a half years.

Let me talk about our development and testing process first. Because it is outsourced, the demand comes from the customer. The customer is from the United States. The product manager and test manager are both Americans. There are also some tests and developments there, but the main test development is on our side. The limitations of outsourcing projects are very large. The client is not a professional software development team. What we make is the product they sell to the outside world. Their company did not do software before.

Customers provide us with requirements, and our test team and development team review the requirements together. As the system gradually grows and becomes more complex, the requirements will have some business problems. We will summarize the problems in English and send them through the management tool JIRA. to them, and while waiting for their answers, test cases will be written.

Then after the question is answered, the use case will be updated, and the development will start to code. After the code is finished, start testing. If the test finds a defect, it will report the bug. After the development is changed, the test will verify whether the defect has been fixed. That's about it.

The previous version of this project has been added up for five or six years. The test development ratio is about 1:1. This is quite a lot of tests. The work is not very busy, and sometimes I am free. I can learn a lot by myself. Of course I don’t study. There are many people. We belong to project outsourcing, and there are still many outsourced projects outside, which gives employees a very sense of belonging. For these reasons, when I chose to work later, I was more inclined to companies that make products.

Continuing with the second project, at the beginning it was to get familiar with the business knowledge. There are some complex business logics that require complete control over the entire system. Similarly we are functional testing and automation. This project does not do performance testing. For functional testing, we will use database tools to view or modify some data. We use MySQL. This is something I have learned a lot. Although I have learned it in college, it is better to experience it in the project. many.

In software testing, database tools are used differently by each tester, but the more they are used, the better they are for software testing. This is a matter of opinion. This project also has shortcomings. There are too few contacts with testing tools, almost none. I started to contact testing tools because I was forced to find a job and face the pressure of the market.

Three years of mind-shifting

It should be the change of thinking that has gained the most in the past three years.

In fact, thinking about it, I feel that I am slow to understand. It took three years to understand the real function of this software testing position. Of course, everyone understands it differently. What I understand is probably just my career positioning. In the post bar, I often see people saying that software testing is popular and simple, just a little bit, not hard and easy.

In the past, these were also my understanding of testing, and there are many people around me who have such cognitive testing positions. My thinking has changed now. As colleague K said, software testing can be deep or shallow:

The shallow ones are easy to get started, but those people are easy to be replaced;

It depends on your personal interests and cognitive perception. You can know what skills you need to help you do a good job in testing. Various programming ideas, scripting languages, and basic commands of several systems are all essential. of.

change of mind

Then the tool is another aspect, and we must understand the logical thinking of the development framework. It can be said that it is not simple. I personally think that good testers are more difficult than developers. They do not need to be proficient in everything, but they must have extensive knowledge.

So we need to read a lot of technical books and learn a lot of technology, which should be a prerequisite for a good technician. If you do the latter, you can make some achievements. The higher you go, the more shallow ones will be eliminated.

I comprehended it on my own. Work is not as good as studying with a teacher. When you leave the society, the person who guides you at work is kind enough to explain business to you. It is impossible to spit out all the digested things in your stomach. for you.

Of course, such colleagues also exist, and we still have to discover and communicate with them in our daily work.

technological change

1. Learn Python

Learn the fundamentals of automated test development in depth. This part mainly includes basic python syntax, data types, data structures, and object-oriented python programming;

Of course, if you want to deeply understand the principles and mechanisms of core technical points, you need to consult python official documents and technical sites, or even view python source code, which requires the ability to learn deeply;

2. Familiar with common Python libraries

One of the advantages of Python is that it has a very rich library of its own and third-party libraries, which is one of the reasons for the rapid development of Python. So to implement business logic, you need to master built-in modules or third-party modules.

3. Master the automated testing framework and common libraries

Example:

Interface testing - Requests, Postman

Performance Testing - Locust

APP automation testing - Appium, UIAutomator

Web automation testing - Selenium

Database connection and operation - pymysql library

4. Master the design ideas of automated testing tools

Learn the design patterns of UnitTest, pytest, and Page Object, learn Jenkins, realize continuous integration, rapid testing, and iteration.

5. Of course, practice is the only criterion for testing truth

The learning of any skill is based on practice, and the IT industry places special emphasis on project experience. If you don't practice, it's like spending half a day learning the theory of shooting, but you don't have a chance to touch the gun at all. Do you think you can shoot accurately? If you want to learn software testing well and have a deeper understanding of technology, you must do more practical operations. Without the bonus of proficiency, no matter how much you learn, it is only on paper. Once you face real problems, you will have no way to start .

It is not difficult to learn software testing, but the hard thing is to persist and believe in yourself. My experience is that since you have selected software testing, you have to believe in it, and believe that it can become an efficient channel for you to advance in the future, so that you will be more confident. Only by learning with faith can we persevere when encountering difficulties.

Also, don’t fight alone. It’s better to be in a group to keep warm and grow together. The effect of mass effect is very powerful. If you study together and check in together, you will be more motivated to learn and persevere.

Finally I want to say to the testers...

To sum up, in the past three years, I have found that the following qualities will become the "potential strength" of a tester in job hunting and work, such as: fast learning, systematic learning, applying what you have learned, systematic thinking, and strong motivation Strength, technical thinking, outstanding communication skills, organization, stress resistance, optimism, setback resistance, ability to adjust quickly, awareness of iterative improvement, ownership, teamwork, vision and planning... You must also have a little bit Own it!

Of course, the real ability comes from the accumulation at work. Regarding skill improvement, whether it is self-study or participating in training institutions, you need a correct direction to guide you to learn, so that learning will be easier and will not Taking unnecessary detours, thinking is very important.

The motivation to learn is actually a very simple thing. It may be easier to understand it as a goal. What level do you want to achieve after you finish your studies? In this way, you will not be stumped by difficulties during the learning process, and you will have A steady stream of motivation keeps you going.

 

Finally, I would like to thank everyone who has read my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, you can take it away if you need it:

These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey, and I hope it can help you! Partners can click the small card below to receive  

 

Guess you like

Origin blog.csdn.net/okcross0/article/details/130729507