The article was first published on wechat public account: Test person Chasing wind

Unconsciously in the software testing industry, savage growth for 10 years. There are so many stories along the way. There is confusion, there is a pit, there is a harvest, there is persistence!

I’ve been working in the software testing industry, and many of my classmates and friends have moved on to careers that are more suited to them.

One of these two days and came back from Shanghai factory CTO eat together, talking about the development of software testing, software testing has actually unconsciously has had the very big change, a few years ago the software testing industry is still a tuyere, along with the continuously turned staff and graduate frantically into software testing industry, the “gap” software testing industry has been basically saturated. Of course, we are talking about the most basic functional testing job demand has been very few, and automation, performance, security and possibly in the future big data testing, AI testing still exist a lot of opportunities.

Many friends around you want to ask some questions about software testing engineer industry would be to find us, in these ten years experience in testing, we see too many people who want to improve testing technology and there is no clear direction, profoundly realized testers pain points of technology, as well as the role of testing in the Internet the company’s pay far less than other jobs and status, There may even be a lot of people who think that testing can be replaced and dispensed with in the company.

So what else can we do in the software testing industry if the testers who only do manual testing don’t do testing anymore? The only way to do that is to keep learning and hope that you survive the downsizing or that your company goes out of business and you have a competitive edge in the marketplace. As I have more opportunities to interview, I have contacted more testers. Under such a bad environment and the impact of the new coronavirus this year, I am also anxious about “what else can I do if I do not take the test”.

But in fact, you can look at the graduates of other majors, most of them can not work in a few years to double their salary, or several times! Of course, there are majors that generally pay more than us. Still, I feel lucky that I was born in the 1990s and chose to major in computer science.

Questions about functional test automation:

Due to historical reasons, most testers are exposed to pure functional interface testing at the very beginning. With their working years, they will come into contact with some common testing tools, such as packet capture, database, Linux and so on.

I majored in computer science in college and have a certain programming foundation. My career in software testing started like most testers, doing software functional testing at an e-commerce company.

A few days ago, someone left a message asking me to do functional testing in first-tier cities. If I set a small goal and want to get an annual salary of 200,000 yuan, what skills do I need to have?

1. First of all, I must be familiar with the business process of the whole product and business is the basis, so as to ensure the integrity of the new function and the rapid return of the original function in the rapid iteration of the product.

2. Then you need to master some common test tools to assist the test:

Web testing: using browser developer tools, network, console, compatibility testing

Mobile app test :(android /IOS/ iPad) test the whole process, compatibility test, stability test, fluency test, common adb commands

Server: master interface testing, using packet capture tools, and how to verify the integrity of the interface

Linux: Common shell commands are used to view error logs

Database test: familiar with database table structure, master common add, delete, change and check SQL statements, easy to analyze test results.

Common tools: SVN/ Git version control tool, Postman, Jenkins application packaging and building

In other words, if you are given a new product testing function, if you can quickly familiarize yourself with the product business by using the table structure of the database and analyzing the system logs, your testing thinking and functional testing skills are already excellent.

At that time I was in Shanghai to do software testing have mastered the skill points above, raised the working efficiency in the company, is relatively easy, as a result, I have plenty of time to pick up the programming language, the original use of the Java language, and learn all kinds of test automation technology, feel the automated test was particularly interesting, and is quite amazing, sparked my interest.

Later, I found that Python was becoming more and more popular, and I found that Python was particularly suitable for automation and test engineers with weak programming foundations.

You can also use Python for crawlers, and you can write some timing scripts, database scripts, which is very efficient.

The state of the testing industry

The trend in the testing industry is that when you interview test engineers at any level, they will ask you if you can automate testing, so testing automation is a must-have skill, not a plus.

In other words, being able to use open source testing tools is not enough to get a raise in your company or move to a major Internet company. Because the real enterprise automation test landing must be a team doing.

When you are familiar with these open source frameworks, you will find that some of them are interlinked, so based on these open source frameworks, we created our own testing framework.

According to the actual testing needs of the company, we can independently package the test framework suitable for the project, which is practical and practical. Establish their own technical system, get a set of effective implementation of automated testing program, from bronze to king.

In this way, our automation team will pay more attention to the design of test cases, so as to improve product quality and efficiency.

What you learn should be based on your job so that you can turn your skills into work experience. So how do we software test engineers in the tedious and repetitive manual testing work, slowly expand the accumulation of testing technology, establish their own technical system?

Most testers start with pure functional interface testing. With their working years, they will come into contact with some common testing tools, such as packet capture, database, Linux and so on.

However, there is a relatively common problem, because most enterprises are now agile development mode, easy to fall into the rapid iteration of version.

So that I have no time and energy to learn some advanced and mainstream testing technology, such as some programming language, automatic testing tools, testing framework building, testing platform development.

Even if you squeeze time to force yourself to study, you don’t know where to start. Those fragmented things can only make you understand, and they are difficult to digest.

As you form your own output and use your own ideas and techniques for projects, you need to go back to that knowledge framework and learn from it.

Tips on learning software testing: Don’t fragment information learning, that’s not learning, have decision learning, systematic learning, learning how to solve problems.

My original goal was simple: to make software testing easier! Share learning materials, interview questions and technical know-how. There are also a lot of people asked me to learn software testing shortcuts? I think less detours is the best shortcut. System information ➕ previous guidance is functional testing to automated testing and test development the best learning method!

In the appropriate age, choose the appropriate post, try to give full play to their advantages.

My road to automatic testing has been far from Python. Because of my early exposure to and use of Python, I have accumulated a lot of experience in automatic testing based on Python. Here I have recorded these experiences into the “Python Automated Software Testing” course. Those who are interested can follow the public account dedicated to sharing study notes, interview questions and IT information about software testing: Testers chasing wind, access.

This course takes you through the most popular Python test libraries and frameworks from all aspects of testing, and helps you build your own automated testing techniques to become more effective at testing.

All the theoretical knowledge points were driven by the actual practice of real projects in the enterprise before me, and the rich practice scenarios were practiced, so as to comprehensively improve the testing technology and establish a technical system of my own.

At present, I have been constantly learning and optimizing the technology stack to ensure that it is the most advanced and mainstream testing technology in the market. I think what everyone learns is what the market needs, and the knowledge and technology can be realized.

Bonus: upload may be compressed, need hd original image or more systematic improvement of technical progress/interview information can come to me.

Finally:

Learn experience in the former, can succeed in the latter, continue to learn and grow! No matter what stage you are in now, you can join the group to warm up, we are all testers!

Software testing, with you! Public account: the tester chaser