6 suggestions for automation test learners after working in Ali for 7 years

Before that, we must first talk about the status quo of automated testing in the industry:

  • Three questions management must ask before introducing automated testing
  • 6 Tips for Automated Testing Learners
  • Automated testing from entry to proficiency in a fast advanced route (benchmarking major manufacturers)

If you meet a lay leader, maybe automation will mess up

Before the test manager or test director introduces automation, they cannot look at automated testing in a simplified and isolated manner, and cannot crudely imagine that the introduction of automation will definitely improve efficiency and reduce costs. Therefore, three questions must be considered:

  • Not all projects are suitable for direct introduction of automated testing
  • When to intervene in automated testing
  • The degree of automation and automation rate of the final project

What kind of projects are suitable for automation: regression testing-based projects need long-term support and maintenance; coverage testing; stress testing.

Time for automated testing intervention: It may not be suitable in the early stage of the project, because the interface and user interface are not stable, the code will be changed frequently, and the maintenance cost will be very high; in the later stage of the project and the maintenance stage, automation intervenes for regression testing prepare for.

Automation degree and automation rate: In the early stage of a project, it may not be suitable to use automation, but some links can be selected, such as environment construction, stable public interface, software deployment, etc. These are relatively stable. Of course, different adjustments can also be made according to specific project types.

If the management blindly introduces automated testing without thinking about these 3 questions, it means that there are some problems at the level of leadership cognition:

1. Blind fantasy, thinking that automated testing can save money, thinking about automating it, and saving a lot of labor costs;

2. It is not clear what the goal of automated testing is, and there is no plan for the investment required to achieve the goal;

3. If automated testing is done successfully, it can save costs and improve product quality, but it takes saving labor costs as the core goal, which is fatal to the project;

4. Once the automated test is written, it can be used many times, and there is no need to spend a lot of time changing the code;

If this happens, it means that you have met a leader who knows nothing and is whimsical.

Based on my experience, 6 suggestions for students who want to learn automated testing

First piece of advice: learn a programming language first, and then move on to automation tools.

It is possible to choose Java or Python as the language. You can start with Python first, and then start Java. In the process of learning a language, you must forget that you are doing testing, and treat yourself as a developer, and systematically learn related programming knowledge, because the level of language level determines the level of automation to a large extent.

The second suggestion: Lay a good foundation instead of learning automated testing tools with the cart before the horse

If you don't understand the http protocol, you won't understand tools such as loadrunner, fiddler, and soapUI; if you don't understand HTML, you won't understand firebug. So if the foundation is laid well, we will get twice the result with half the effort.

The third suggestion: clearly recognize yourself and define your goals

To put it bluntly, before we do anything, we must first check how much we have, right? First, evaluate your current ability level, and then see what kind of resources (energy, time, money) you can invest in learning , so that you will know what kind of content you can understand, which stage you should ask the big cow, don't get more and more confused in the end; secondly, after recognizing your ability, you must set a reasonable goal for yourself, how long will it take? to what level.

The fourth suggestion: Choose a good entry point and design a plan that will help you the most

  • Interface automation: Python+Unittest+HtmlTestRuner+Jenkins and Java+Httpclient+TestNG+Jenkins

  • web automation: Python+Webdrver+HtmlTestRunner+Jenkins, Java+Webdriver+TestNG+Jenkins

  • APP automation: Robotium+Java+TestNG+Jenkins, Appium+Java+TestNG+Jenkins, Appium+Python+HtmlTestRunner

  • Auxiliary test script: based on Shell and Python to simplify repetitive work, filter logs, etc.

Of course, these are the basic implementation solutions, and others will not be introduced first. If you are just getting started, I suggest that after choosing a language, start with interface testing, and then learn web and APP automation.

The fifth suggestion: learn to infer other things from one instance

Novices are easy to be anxious and want to learn everything, which is easy to confuse and difficult to digest. Many places are connected, code structure, use case management, etc. can be used by analogy, which can not only improve your learning efficiency, but also avoid confusion. The most important thing is not to talk about it on paper, but to put it into practice.

Sixth suggestion: Don't be limited by tools, use open source more

In the testing industry, there are many automated testing tools, but large companies tend to use open source frameworks and tools, and then customize their own testing solutions. Learn to use some open source tools such as Webdriver, Appium, etc. to build your own automated testing projects, and then master the overall automation working principle, and prepare for building your own tool platform in the future. After all, automation is not as simple as using a few tools .

The highest state of automated testing: develop testing tools, design automated frameworks, and let others use them.

The ultimate route for automated testing learning, starting with language, to get automated testing done

Master Python or Java language, it is recommended to start with Python

Basic language knowledge, syntax, functions, modules, input and output, object-oriented programming
, scripting, standard library, multi-threading, third-party library, external data processing
unittest, pytest test framework, parameterization, data-driven

Automated testing on the web

Selenium installation, recording, processing
web controls, JavaScript scripts, PO mode

Automated testing of mobile APP

Appium use, recording, element positioning methods
APP control positioning, interaction, parameterized use cases
appium problem positioning analysis, source code analysis, secondary packaging

Automated testing of server interface

Interface automation testing framework request
interface request construction, assertion
json/xml request, response assertion
headcookie processing, authentication system

If you follow this learning route to thoroughly understand automated testing, then a monthly salary of 15-25K is very easy, and with the ability to code, you can continue to work hard on test development!

Write at the end:

No matter what kind of identity you are in the test team, no matter what your perception of automated testing is, and no matter whether you love or hate automated testing, automation is a must for you to switch from manual testing to test development road.

Maybe you will hear negative feedback such as high cost, poor effect, and low efficiency of automated testing, but you must clearly know that this is not a problem with automated testing. For a certain tool, a certain solution, the final effect depends on the implementation. Those who come and go decide.

What we can do is to face up to automated testing, find the right method, and constantly improve ourselves!

Finally: The complete [Automated Testing] learning tutorial below has been sorted out and uploaded, and friends can get it for free if they need it [Guaranteed 100% free]

insert image description here

Guess you like

Origin blog.csdn.net/weixin_56331124/article/details/130012100