Many friends work in the functional testing industry after 2 or 3 years, found that they have done a very good functional testing, career development and salary development bottleneck period, want to learn something, improve skills.
For functional testing upgrade, there are generally three mainstream development directions: one is performance testing, one is interface testing, one is automated testing. Of course, there are many ways to go, but these three are probably the most popular. In particular, automated testing has become the main target of many partners (after all, large factories have more recruitment). So, let’s talk about automated testing.
1. What is automated testing?
According to Baidu, automated testing refers to software testing, which involves running a system or application under preset conditions and evaluating the results. Preconditions shall include normal conditions and abnormal conditions. Automated testing is the process of converting human-driven testing behavior into machine execution.
In simple terms, it is the process of converting the parts of repeated manual tests into machine execution through code to achieve mass operation. Of course, I guess you all know that, so I won’t go over it.
2. Why automate tests?
So why automate tests?
In fact, whether it is standing in the enterprise or personal perspective, do automated testing is the trend of The Times. You are such as:
1) For enterprises, especially large enterprises, automated testing can indeed save project costs by freeing up a large number of people. After all, human costs are where IT companies spend the most money, so there is no need to waste talent on retesting.
2) Some tests, such as ali test and load test of official ticketing software such as 12306, are difficult to complete artificially. One is the high cost of manual, the other is not realistic. We can’t ask millions of people to do the ticket test at the same time, so machines have to do it.
In addition, there are some special projects, there will be such testing requirements. For example, version management. We need to check that the new code does not affect the original repository, so we need to build verify. This is also similar to the smoke test.
3) In addition, there is another point, people want to rest, machine is not afraid, can save a lot of time cost.
Of course, automated testing is not without its drawbacks, but when it comes to improving capabilities, the high cost and inability to rely entirely on automated testing are not issues that we need to consider, so I won’t go over them here, so you can learn about them on your own.
3. What are the tools for automated testing?
In fact, if you have a simple understanding, you will find that there are only a few mainstream automated testing tools in the market: Selenium, Appium, Jmeter, Postman, Monkey, LoadRunner.
In fact, as long as we learn and test, we will be exposed to these tools. But sometimes, we use fewer features, so we “narrow” the tool. Therefore, it is suggested that you want to advance, first understand these tools oh ~
Let’s review the platforms on which these tools are used.
LoadRunner: Mainly used for APP, Web, other network devices and databases. It simulates a large number of users implementing concurrent, load and other behaviors to monitor the performance of the product in real time. At the same time, it can significantly reduce the hardware and human resources required for load testing.
Postman: Mainly used for app and Web interface testing.
JMeter: Used primarily for interface testing of Web applications, load testing, and support for interface unit testing and partial functional testing.
Monkey: This is mainly used on iOS and Android. With ADB Shell, it assists in generating pseudo-random events for the user or the system.
Selenium: Used mainly in Web page related applications, Selenium is one of the best open source test automation tools for web applications.
Appium: It is an open source mobile testing tool that supports scripting in multiple languages, mainly for mobile iOS and Android systems.
4. Which language is better for automated testing, Python or Java?
From the perspective of application, Java is still the most mainstream programming language, especially in the Android project, its position is not to be underestimated. But, on the other hand, the one area where people are using more of their jobs, and where automation is moderately higher in general, is Python.
Because the popular jargon in the industry, which I’m sure you’ve heard: Life is short, I use Python. The main reason is that it’s simple and efficient, and you don’t like it.
So, what are the advantages of Python?
Python+ Selenium: Automate UI tests
Python Request: Handle interface testing;
Python locust: Handle performance testing;
Python Scapy: Handle security performance testing;
Python Selenium: Handling compatibility tests;
And, most importantly, the Robot Framework automation testing framework is written in Python, so it’s actually a lot easier to do automation testing in Python.
If you’re a non-computer major and a tester, Python will do the job. But if you are a computer related professional students, you can also challenge Java to write automated test framework oh, very profitable. Believe me ~