Thinking awareness, salary change from 7K to 30K in 3 years, the way forward for my senior test engineer

Thanks to those who ridiculed my bad code writing, the seniors with five years of development experience laughed at me who just stepped out of school and stepped into the society, and made me give up the development work and go to the road of testing. Some people must think that this is a blow to dimensionality reduction. I suggest that you can continue to look down.

The previous development experience is unparalleled for my testing work. Database, programming language, liunx, environment deployment and maintenance, program packaging, participation in code walkthrough, special testing, performance analysis, and the use of packet capture tools have made a lot of tests. The staff headaches didn't happen to me. Once you learn it, you can understand it, and draw inferences from one instance.

Why should I choose a testing job?

At first, like many people, I was confused as to whether I had to engage in a job that matched my major. I lacked self-awareness when I was recruiting, so I put myself in a very high position and gave up the 9k offer. When I was looking for a job in the society, I ran into obstacles everywhere. I finally found a job with low wages and serious overtime. The ridicule of colleagues with low quality. My major is software engineering, majoring in the direction of J2EE, web back-end development. When I was engaged in back-end development work, because I just graduated from university, my coding ability was still somewhat insufficient. In actual work, experienced colleagues can easily complete tasks, but I need to work overtime to complete them, and the quality of the code is not too high. , the problems found in the test are mainly concentrated in the modules I am responsible for. I found that just implementing the function is not very suitable for the team's work and meeting the needs of the product. After careful consideration, I decided to give up the development work and become a test engineer. Maybe I won't be a good developer, but I will be a good tester. So I gave up the chance to be a good developer and turned to testing.

Become a junior test engineer in two weeks

I transferred from a 6-month development internship to a testing position. In order to apply for a testing job, I spent 2 weeks reading and rereading the two books "Software Engineering Process" and "Software Quality Management" in the university. turn. Combined with my previous development experience, my understanding of software products has reached a new level. I also finally understood what the seniors said after working in the past, "I used to focus on books such as technology and technology. After I worked for a period of time, I realized how ignorant I was for not studying "Software Engineering Process" in college." , how stupid."

If you want to become a junior test engineer, basic use case design methods such as boundary value, equivalence class, scenario method, cause and effect diagram, flow chart, etc. are essential. Combine them to design test cases, and try your best to ensure that the test will not Missing scene. The database can master basic additions, deletions, modifications, and queries, and common commands of the liunx system are also essential.

Skills mastered by junior test engineers:

  • Design of test cases
  • database
  • Common commands of liunx system
  • Use of packet capture tools
  • Communication skills.

From my understanding: Whether it is development or testing, if you can enter a company with a complete workflow and complete technology at the beginning of your work, it will be beneficial to your career development without any harm. First of all, you can learn a series of processes from requirements to operation and maintenance of the software, and what needs to be done at what time. Although some steps may feel a bit cumbersome, you cannot deny the benefits it produces and the good normative effect it plays. Secondly, no matter what kind of software development process can help you better understand the software cycle, if you can understand and get in touch with the entire process of software from scratch from the very beginning, it will be self-evident for your future career development.

Become an intermediate test engineer in half a year

When I joined the job, I started a little bit of work, the whole is to write use cases and execute use cases. After I got acquainted with the whole team, I used the weekend break to review all the previous requirements and use cases of the entire project. Because it is a small company, the documentation is not perfect. I will write down the requirements documents that I don’t understand. I will ask the product manager and the corresponding developer after the company. In this way, it took me more than a month to read all the existing documents of the project. After that, I spent another week getting familiar with the tables in the database, and figured out their table structure and relationship. Understand the deployment path and startup sequence of the test environment services with the developers, and take the initiative to undertake the deployment of the test environment (the deployment of the test environment should be maintained by the testers, but due to the attitude of colleagues, it has been maintained by the developers. I have a good relationship with the developers and take the deployment of the test environment into my own hands).

Since I have a programming foundation, there is a big guy in the test team who will do automation and maintenance, so why not do it near the water. So I learned python by myself when I was in college. Although I almost forgot it, I picked it up very quickly. After work, I started to learn automated testing on station B. If I don’t understand, I will ask my classmates who are engaged in automated testing. If you still don't understand, please ask the boss. Slowly, the boss recognized my ability and began to take me to maintain the automation code of the project, and taught me a lot of things that I couldn't learn in videos and books. Soon after the boss resigned, the boss asked me to take over and maintain the automation project.

The original automation project only had the web side, and then I used appium to realize the UI automation on the app side. Since then, I have forged an indissoluble bond with automated testing. I can say shamelessly that I have basically encountered all the problems in the UI.

What skills do intermediate test engineers need to know: (in addition to the basic skills, they also need to master)

Certain special skills: for example: app special testing, analysis of performance testing, automation technology, etc.

In addition to the technology that needs to be mastered, there are other abilities:

  • Be able to lead new colleagues into the work as soon as possible.
  • Understand the product, the predictability of risks and how to avoid them.
  • Documentation capabilities.
  • Able to lead a small team responsible for a part of the project or the entire project.

Advance to Senior Test Engineer

When I was fully qualified as an intermediate test engineer, I started to learn some test theories, participated in several offline salons of institutions, and participated in their online technology sharing. Of course, I did not participate in several salons. It's enough to share, but to learn something you don't know based on what they share. It has been more than three years since I started my internship. In the first year, I kept learning some skills that I didn’t know. In the next two years, I basically studied the theory and ideas of testing, moving from testing left to testing right. , from devops to testops, from test strategy to test risk avoidance, the more you learn, the more you will find that you can't. You can only continue to enrich yourself.

Skills of Senior Test Engineer:

  • Master one or several programming languages, such as python, java, shell, etc.
  • Able to formulate appropriate testing strategies according to actual situations.
  • Able to coordinate team members to ensure high-quality and high-quality completion of testing tasks.
  • Use every means to improve the efficiency of testing.

Now my team, we are starting to pursue a low-cost agile, using the yapi platform for API automation, using rebotframework for app UI automation, using API interface automation and UI contract testing to return to the entire project. It not only saves cost, but also saves time and improves efficiency.

At the same time, the left and right shifts of the test are carried out simultaneously. The product requirements must be reviewed and approved by the testers together. At the same time, the acceptance criteria must be formulated, otherwise it will be rejected. After the product is launched, the daily report of the production environment is taken for analysis every day, and the awr report of the production environment is taken for each batch for analysis. Efficiency is greatly improved.

lessons learned

The road ahead is tortuous, and there are many difficulties on the way of learning. The following is my lesson from the past.

1. I have a habit. When learning new knowledge, I have to buy a related book and read it. Circle the dots where I don’t understand, but don’t go into the details and just skip it. After reading it, I will go to the Internet to find videos and documents to learn. . Compared with documents, I prefer video materials, because the personal experience of the explainer will be included in the explainer video. Bilibili and MOOC are recommended for video learning. The courses on MOOC.com are of high quality, and the courses on Station B are many and complicated, and you need to identify them yourself. The advantage is that they are free.

It is recommended that you choose a course and follow along. At that time, colleagues in the department recommended a course to me, which is the following one, you can take a look

After listening to the free course, I feel that the setting of this course is quite ok, and it is very easy for novices to learn, and the teacher live broadcasts online, and problems can be solved on the spot. Every time I take a class, I can learn useful things. Knowledge can also be absorbed, from theory to actual combat, the unity of knowledge and action can truly master...

You can also download and listen to it first, and save it by yourself; if there is an expired one, you can click the card below to view the group file

[Software testing] 36k landed on JD.com, 12k salary increase, the most efficient self-study tutorial on Python automated testing at station B in 2023, and now share it for free! _哔哩哔哩_bilibili [Software Testing] 36k landing on JD.com, 12k salary increase, the most efficient Python automated testing self-study tutorial at station B in 2023, now free to share! A total of 116 videos, including: [Jingdong Test Director’s Advanced Road] 1. Definition and purpose of automated testing mp4, [Jingdong Test Director’s Advanced Road] 2. Enterprise-level automated testing development process.mp4, [Jingdong Test Director The road to advancement] 3. How to build an enterprise-level continuous integration pipeline.mp4, etc., for more exciting videos from the UP master, please follow the UP account. https://www.bilibili.com/video/BV1KV4y1f7FX/?spm_id_from=333.337.search-card.all.click

2. When learning new knowledge, pay attention to the principle of enough. Don't dig too much, it is not advisable to learn something very profound.

3. Everything is the same. The principles of a class of tools are basically the same, and the way of use is similar. After learning a tool, you will learn a lot of this type of tool and combine it with reality. situation to choose a suitable tool for the job.

4. At the beginning, you should choose one skill to learn until you are proficient. Don’t cast a wide net. Knowing a hundred things is not as good as one skill. When you are proficient in one skill, start learning other skills. For example: Based on my actual situation, I chose automation. I first learned tool automation, and then I learned code automation. Horizontal comparison and vertical comparison summarize the advantages and disadvantages. Whether it is data-driven or keyword-driven, precise testing or simple contract, we all have a thorough understanding.

5. Python is easy to learn. If you want to learn a programming language, you can start with python. Cainiao Tutorial is a good website.

6. The shell is an effective tool for us to improve efficiency.

7. I have read the books "Comprehensive Software Testing", "Guidelines for Software Testing Technology" and "The Way of Training Architects" that I think are quite good.

Here is the author's book list:

8. After mastering a testing skill, you should start to focus on the breadth of testing, such as app-specific testing, compatibility testing, security testing, and performance testing. It is not necessary to be proficient, but at least one tool can be used to conduct relevant tests and deliver output reports to developers for analysis.

9. If your product manager is not very professional, then you have to consider the invisible needs of users.

Personal suggestions for non-computer-related majors to switch to software testing

  • Since the threshold of software testing is lower than that of development, non-computer majors can reach the professional standards of test engineers through training or self-study. If you are over 30 years old, then I do not recommend you to change careers. However, for students who have just graduated from university, test engineers are a good choice. After all, test engineers are still in short supply. Most test practitioners have transformed to do tests in the past. They lack test thinking and are still very competitive when they are young. .
  • If the study is difficult but the economic foundation is relatively good, it is still a good choice to participate in a training. Those who don’t want to spend money can go to Station B, Tencent Classroom, and MOOCs to learn. The video tutorials on these are all free. It is recommended to turn on 1.5 times the speed when studying, and what they talk about is relatively ink.
  • "Software Engineering and Process" and "Guidelines for Software Testing Technology" are quite good. Beginners can read it. After you have rich work experience, you can read "Full Software Testing" by Zhu Shaomin. I have read this book no less than 5 times. Every time I watch there is a new receipt.
  • Don't be greedy for too many tools, just learn one first, postman, charles.
  • The design of test cases is very important, and we must be proficient in using and mastering the design methods of test cases.
  • Don't just think about forward test cases, reverse testing is also very important.

The technology I have now

Next, I would like to share some of my generalizations and summaries of technology over the years, and share my notes on the skills that an advanced tester needs to master, so as to give some help to those friends who have gone all the way to the dark road of testing !

1. Necessary knowledge of Linux

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

2. Shell script

Master shell scripts, including shell basics and applications, shell logic control, shell logic functions, etc.

3. Principles of Internet Programs

The only way to automate: basic knowledge of front-end development and necessary knowledge of Internet networks.

4. Mysql database

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

5. Packet capture tool

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

6. Interface testing tools

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

7. Web automation test Java&Python

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

8. Interface and mobile automation

Professional interface calling and testing solutions. Build a complete web and interface automation framework, which is used by Appium as a whole.

9. Agile testing & TestOps construction

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

10. Performance Test & Security Test

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

At present, it is not clear which testing and development technology stacks you need to master, you can continue to explore and improve according to my learning architecture route, and break through the bottleneck of technology. It can be said that this process will make you miserable, but as long as you Get over it. Later life will be much easier. I have also gone through such a journey before I can get more opportunities for high-paying positions. The hard work will eventually pay off, which can be regarded as a recognition of my ability and a real proof of my own value. At least a salary of 30+ after tax is quite satisfactory in my current state.

Let me share some dry goods with you. Based on my experience in testing, I organize a set of systematic advanced automation tutorials (courseware + notes + case source code + test tool usage documents), share my results with you, and regularly update tutorials and learning methods , learning resources, and sharing self-developed automated testing platform, friends who need it can follow me, like me, and click the card link below to get it for free! Best of all it's free! free! free! [Many people ask me why I share it for free, I just want to say that everyone can give me a like and give it to fans]

Finally, don't be a salty fish

If you want to take testing as your long-term career development goal, you need to improve yourself. After all, "sailing against the current, if you don't advance, you will retreat." If you are still in place, you can only be trapped in the general environment. Alright, that's it for now. I wish everyone a promotion and salary increase in 2023, get an offer from your favorite company, and everything goes smoothly.

If it is helpful to you, please like and collect it to give the author an encouragement. It is also convenient for you to quickly find it next time.

Guess you like

Origin blog.csdn.net/qq_73332379/article/details/130413297