With an average annual salary of 20W, are automation test engineers so popular?

Automated test engineers, the average annual salary of 200,000 is definitely not groundless, and I even said that it is less, and the annual salary may be more than 200,000 with year-end bonuses and bonuses, etc. Let’s take a look at the screenshot below. 】

This article will consist of the following 4 parts:

1. What is automated testing?
2. What is the future prospect of automated testing?
3. What automated testing techniques do you need to master to achieve an annual salary of 200,000?
4. Advanced automated testing supporting resources and learning routes!

1. What is automated testing?

Before learning automated testing first, we need to understand what is automated testing?

In a broad sense, automation includes all behaviors that replace or assist manual testing by means of tools (programs), which can be regarded as automation . Its main method is to simulate manual testing, and execute test cases by organizing and writing automated scripts to solve the problem of heavy testing workload , and automated testing can effectively improve testing efficiency.

Automated testing can be divided into two types: 1) automated performance testing; 2) automated functional testing.

Performance testing mainly uses testing tools, Loadrunner, Jmeter, etc., to perform stress testing, load testing , strength testing, etc. on the software, because these cannot be replaced manually, so they must be automated.

Automated functional testing: including unit testing, interface testing, and UI testing. It is mainly to write codes and scripts, let the software run automatically, find defects, and replace part of the manual testing. But generally only large projects need to be automated, and small and medium-sized projects are not recommended to use automated testing.

At present, enterprises have more and more demands for automated testing . If testers want to develop better in the future, it is very necessary to increase their competitiveness by mastering automation technology.

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

 

 

Second, the future prospects of automated testing?

What is the prospect of an industry? First look at the market demand. The following is a part of the relevant data for automated testing positions

According to statistics, the current demand for automation in enterprises is close to half, please see the figure below:

The automated testing demand in 2020 will account for about 50%

What is the prospect of automation development? The salary given by the market is also an important reference. Take a look at the average salary of automated testing in Beijing, Shanghai, Guangzhou, and Shenzhen:

Finally, let’s take a look at the average salary of automated testing in Hangzhou, Chengdu, Wuhan, and Nanjing:

It is not difficult to see from the above data that the average salary level of automated testing between cities of the same magnitude is not very different, and the average salary level of automated testing between cities of different magnitudes is not too exaggerated.

Overall, the average salary of automated testing is not considered the middle and lower salary level in the Internet industry. As for the prospects for the development of automated testing, at least from the perspective of salary levels, there should be no big problem if you want to continue to develop for a long time.
What is the development prospect of automated testing? You can also see the clues from the salary increase of testing over the years. Please see the picture below:


At present, manual testing is saturated, and test development has not yet fully exploded. The salary of testing can increase every year (the year of the epidemic in 2020 can increase by 6% compared with the previous year), and the current salary of automated testing has contributed greatly . Looking at the trend chart above, are you ashamed to suspect that automated testing has no prospects?

3. What automated testing techniques do you need to master to achieve an annual salary of 200,000?

Let’s discuss with you today: what strengths do you need to have as a software test engineer to get an annual salary of 200,000?

First, let's analyze hard power:

The first is academic qualifications , at least a college degree or above is required , so friends who lack academic qualifications are recommended to take a diploma; the other is technical hard power , and there are more things to talk about in this area.

First, test general skills. include

Software testing knowledge (various testing theories, testing methods, test case writing, bug submission tracking); computer knowledge (operating system, database, communication protocol)

Product business analysis ability, which generally requires the accumulation of test experience

Second, test the use of common tools. For example

Defect management tools: ZenTao, Jira
version integration management: Git, Jenkins
Network packet capture tools: fiddler, charles
Environment deployment management: Docker
interface testing tools: Postman, Jmeter
App special testing: Perfdog, Qnet, monkey

Wait, if you go up a little bit,

Third, automated testing capabilities

1. Familiar with at least one programming language, such as Java and Python
2. Master the mainstream automated testing framework,
recommend selenium+pytest/unittest for web-side automated testing;
recommend Appium+pytest/unittest for App mobile-side automated testing;
interface automated testing , suggest requests+pytest/unittest

Fourth, if you pull it up a little higher, you may need to go to

Performance testing ability, test development ability to enrich

In addition to the necessary hard power, soft power cannot be ignored. In addition to what we usually talk about, good communication skills, expressive skills, learning skills, responsibility, patience and carefulness, etc., we also need to have the following two Traits:

No. 1, "Whimsical" ability

For example, when we are interviewing test engineers, we often encounter such questions: randomly specify an item in life, like a water glass, and then ask how do you test it? If you only talk about function-related test points, I believe your test effect will not be very good, because this question is to examine your comprehensive test thinking, the more "whimsical", the more in line with the interviewer's expectations , so not only It is to consider the function, you also need to think about the answer in terms of interface, usability, compatibility, security, pressure and so on.

The second soft power is to think about how to be "lazy"

The laziness mentioned here does not mean laziness at work, playing mobile phones and using vibrato, but learning to be lazy, how to save work efficiency

For example, the evolution history of automated testing is actually out of the idea of ​​​​"lazy", and some repetitive, simple, and non-technical manual testing tasks are handed over to the code to complete.

In general, as a software test engineer, we need to have both soft and hard capabilities, so that we can go further.

Fourth, advanced automated testing supporting resources and learning routes!

1. To do automated testing, you must know a language

· The first step: learn python first ------- python is not enough, don't talk about automation.

If you only learn Robot Framwork and do automation through this, don’t think that you don’t need to learn Selenium and python, because the keywords in Robot Framework may not be enough to meet your needs, then we need to customize keywords, which is necessary at this time You have to write it yourself through python+selenium.

Python automated learning route

Second, master some front-end knowledge

As an automated test siege lion, we always need to do a lot of element positioning, so for element positioning, we urgently need to learn some basic knowledge of the front end.

Pre-basic knowledge

Third, the study of the database:

Database is something that every practitioner in this industry should learn. Whether it is front-end, back-end, or testing, project managers, product managers, and operation and maintenance personnel need to be very familiar with database-related operations. As a tester, you should be more familiar with databases Add, delete, modify, check and other commands.

Linux and databases

I also hope that you, who want to learn by yourself, can avoid some detours through my sharing , and can form your own system and apply it to practice . Of course, I sincerely hope that you will get promoted and raise your salary. Perhaps this is the most practical thing.

The next step is to learn the content of automated testing.

Automated composition: automated testing is widely used in the current market, and the mainstream includes interface automated testing and UI automated testing. On this basis, coupled with continuous integration , fully automated testing can be achieved.

Next, I will give you a detailed introduction to automation according to the three main components of automation:

1. Interface automation testing
2. UI automation testing
3. Continuous integration

1. Interface automated testing

At present, most of the projects on the market are projects with front and rear ends separated, resulting in a large number of interfaces. The interface automation test is mainly to test the interface. So, how should we conduct interface automation testing? These knowledge points and tools here must be mastered.

1.1. HTTP and HTTPS protocols In the interface test of the main process, a large number of interfaces are implemented based on the HTTP protocol, and data security is guaranteed by the HTTPS protocol, so the HTTP and HTTPS protocols must be mastered. 1.2. Interface documents In actual work, apart from the code, the information carrier of the interface is the interface document (provided by the developer). Understanding the structure, content and specifications of the interface document can help us deeply participate in interface testing and interface automation testing.

1.3. Interface testing tools Jmeter and Postman meter are interface testing tools that have emerged in recent years. Its biggest feature is that it is free and open source, and easy to learn. Jmeter official website: https://jmeter.apache.org/index.html

The Postman tool is also very powerful. In actual project applications, almost every development will use Postman to debug interface requests. Postman main interface

Official website document

1.4. Mock test In automated testing, not all functions are suitable for automated testing. For some difficult test points, we have to use Mock technology to simulate.

  • Mock of password in login and registration interface
  • Mock payment environment
  • Mock payment password
  • Mock verification code (picture verification code, slider verification code, face recognition, SMS verification code, etc.)

1.5. Summary After mastering these knowledge points, you can fully grasp and apply the interface automation test of the HTTP protocol; you can even conduct small-scale interface performance tests.

2. UI automation testing

The cost of UI automation testing is higher than that of interface testing. The main reason is not that the technical implementation is difficult, but because the UI is the terminal interface for docking users. It is the most frequently adjusted and most drastically changed part, so the maintenance cost is high. So don't we need to do UI automation testing? On the contrary, for some large-scale projects, its functions are constantly iterative. Although the interface is being adjusted, due to the long project cycle, during the development and testing process, it is necessary to frequently use automated testing scripts for regression testing, which can improve automated testing. Utilization rate, improve work efficiency and reduce work cost. Moreover, in UI automation testing, there is a key idea called "keyword-driven" testing, which is specially used to solve the problems of UI automation test script development and maintenance. So how to learn UI automation testing? Here, we can learn Web automation testing first, and then learn App automation testing.

2.1, Web automated testing

Selenium tools and Robot framework are recommended here. Reasons for recommendation: Selenium and Robot framework are the top ten automated testing tools in the world (without distinction between UI automation and interface automation). As shown in the following figure, the most popular automated testing tools in 2019: (Selenium tops the list )

2.2. Selenium Selenium is mainly for Web automation testing. At the same time, in the mobile APP automation testing, some testing frameworks are also implemented based on Selenium. If you want to automate web testing, learning selenium is the best choice. advantage

  • Cross-platform, cross-language
  • Support multiple browsers
  • Support mobile testing
  • Many plug-ins, strong scalability

shortcoming

  • Cannot generate test report directly
  • Can't recognize moving pictures

After mastering Selenium, then master the mainstream Web automation testing. Ways to learn Selenium

  • First master manual functional testing and understand the functional business of testing
  • Then learn the three major knowledge of HTML, CSS, and JS
  • The third learning Selenium testing framework
  • Finally, learn the idea of ​​PO layered management

2.3. Robot framework Robot Framework is a functional automation testing tool written in python language. It has good scalability, supports keyword-driven, supports simultaneous testing of multiple types of clients or interfaces, and can also perform distributed testing. advantage

  • Keyword Driven Testing
  • can be reused
  • Easy to expand
  • Support HTML test report
  • There is a huge test library to provide support (support web, mobile phone, windows client, database, HTTP test, etc.)

shortcoming

  • Common problem of interface operation: when the use case is huge, it will be very stuck
  • There are some bugs, for example, it will freeze when importing the test library

Learned the use of Robot Framework, then mastered the keyword-driven technology. Keyword-driven method of learning Robotframework 2.4 Summary If both Selenium and Robot framekwork can be mastered, then whether it is mainstream Web automation testing or other UI automation testing, they can have their own experience and occupy a market share A seat.

3. App automated testing

3.1 Which tool should I choose? Let's first look at a set of data (mainstream):

Supported function data (obtained by TesterHome)

From the above two figures, it can be found that Appium is stronger than other tools in terms of market utilization and functions. Moreover, Appium supports not only Android but also iOS, so here, we should choose to learn Appium to best meet the needs of the market. 3.2 , Appium learning method official website: http://appium.io/

Chinese learning manual:: https://www.kancloud.cn/testerhome/appium_docs_cn/2001595

4. Continuous integration

4.1. What is continuous integration? Let's imagine a scenario. Now a test engineer has written all the automation scripts, but this boss still needs to go to work every day and click "Start" to run the scripts, and when the development submits a new version, the automation scripts also need to be re-run. So can this automated script be run automatically, and executed automatically after each release of the development? Of course you can, this is continuous integration. To learn continuous integration, we recommend jenkins first . 4. 2. What is the continuous integration tool Jenkins? The Jenkins tool is an open source tool written in JAVA. It is very good in terms of scalability and practicability. Many small and medium-sized companies use Jenkins for continuous integration, and some large companies also conduct secondary development on the basis of Jenkins.

4.3. How to learn Jenkins

  • Understand the concepts of CI and CD CI: continuous integration (integrate the code written by multiple developers in the code warehouse, automatically perform unit testing, and return the results) CD: continuous delivery (automatically build, deploy, and test the integrated code , publish, and return the results of each stage)
  • To implement these processes, we need to split learning
  • integration code
  • unit test
  • build code
  • deploy code
  • test code
  • release code
  • Send test results
  • Integrate these processes using Jenkins

In order to learn continuous integration well, it is not enough to rely on Jenkins alone. We even need to go deep into architecture design, development, testing, and operation and maintenance to proceed well.

V. Summary

In fact, automated testing is a very broad technology. If you want to be proficient in other industries, you need at least 5 years of study to be proficient, proficient to a certain level, and even becoming a technical director is not impossible. For testing, the work of testing is actually relatively easy, and the technical difficulty is not particularly high. Therefore, during the testing period, everyone must continue to learn and integrate continuously in order to make progress and realize their own value.

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

 Finally:  In order to give back to the die-hard fans, I have compiled a complete software testing video learning tutorial for you. If you need it, you can get it for free 【保证100%免费】

insert image description here

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

Software Testing Interview Documentation

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. Finish this set The interview materials believe that everyone can find a satisfactory job.

insert image description here

How to obtain the full set of information:  

 

Guess you like

Origin blog.csdn.net/IT_LanTian/article/details/130970269