In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Network Security >
Share
Shulou(Shulou.com)06/01 Report--
At present, automated testing is not new, or various methodologies of automated testing have emerged one after another, but there are not many teams that can understand automated testing and implement it well. Let's introduce automated testing in a popular way.
First of all, let's start with the demand for recruitment positions. If you look at recent career opportunities, when it comes to "software test engineers", there are basically requirements for automated testing. For example:
Learn about selenium, appium, or other automated testing frameworks
Familiar with at least one object-oriented development language, some code skills are preferred
Familiar with Java or python, have some experience in test automation and code reading
Understand interface integration testing, use interface testing tools such as JMeter, Postman, SoapUI, etc.
Wait, the above contents will not be listed one by one. All of a sudden, automated testing has sprung up everywhere, as if the automated testing ability of test engineers has become standard.
Next, I will start with the requirements of automated testing, simply carry out automated testing literacy, and strive to let you understand automated testing within a minute.
So let's analyze it from the five words "automated testing".
test
Test: we are familiar with this. The most classic explanation is "program testing is the process of finding errors." This definition from G.J.Myers 's classic "the Art of Software testing" shows us the essence of testing: process.
Testing is a process that is performed to find errors in the software, which can be as follows:
Run the tested software and perform the functions of the software
Run other tools to check the inside and outside of the software
In a word, it is a process, a process of execution. Here is a diagram of the most common test:
Traversing all the functions of the software, the test engineer traverses all the functions of the software through the mouse, keyboard, microphone, mobile screen touch, etc. What is this called? Familiar with the test of children's shoes understand that this is the legendary "manual visual inspection" ah, this is the "human flesh test".
We draw this picture well, in fact, it is like this.
Automation
At this point, combined with the above, automated testing is to let the software under test run by itself to perform the functions of the software, or to let other tools run on their own to check the inside and outside of the software.
Since testing is a process, automated testing is the process of automatic execution.
Next we discuss a core issue: automation. What is automatic? If you let the machine move by itself, it is automatic. It is automation to let the machine traverse all the functions of the software according to the requirements of human beings. Would it be clearer to say that?
Here's the point, machine. Let the machine move, this is not "eating chicken" Oh, this is the human command machine to operate. I wonder if children's shoes have ever thought about how machines know the requirements of human beings. In the above example, the test supervisor only needs to tell the test engineer that the order is communicated. But direct human communication is much easier than human-computer communication.
First of all, the machine does not understand "human language", no matter Chinese or English.
Secondly, the machine default will be the "assembly language", should be the vast majority of children's shoes can not, and short-term can not master it.
All right, use the programming language. It's time to come up with another picture of us:
The machine learns a programming language with excruciating ease and simplicity: install it and the machine learns it. Fortunately, it is not particularly difficult for human beings to learn programming languages. Looks like this works.
With the programming language, there is a bridge for man-machine communication, and the rest is to help the machine choose tools. To do the corresponding test, you need to find the corresponding tool, so that the automation will be automatic. To be able to come here, I hope that children's shoes understand the basic "automatic" principle.
Also, draw a good diagram of this automated test:
Then we introduce a variety of common tools to continue the discussion of automated testing. Before going any further, let's take a look at the common categories of tests. Here under the different classification dimensions, we can be divided into different tests, here we carefully analyze.
From the practical process of software testing: unit testing, integration testing, confirmation testing, system testing, acceptance testing.
From the perspective of software testing methods and strategies: White-box testing, black-box testing, gray-box testing.
From the perspective of software testing: functional testing, performance testing, compatibility testing, security testing, exploratory testing.
From the technical level of software testing: manual testing, automated testing, test development.
For the classification under these dimensions, only some of the tests can be done through the "manual visual inspection" of the "human flesh test". In fact, in a broad sense, the rest needs to be done by machines. We extract this part of the test: system testing-black box testing-functional testing-manual testing. It is undeniable that this line is the focus of software testing practitioners at present, and beyond this scope is the opportunity for automated testing to show its talents.
Automated testing
Next, let's discuss the mainstream automated testing solutions, all of which are composed of human-computer communication programming language and machine operation tools.
Functional automation test
VBScript + QTP (HP UFT), commercial function automation testing scheme
Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + unit testing framework, open source functional automation testing scheme
Let's introduce a little bit more here. Selenium/Appium itself is not a testing tool, but a tool that machines use to operate browsers, and this tool can understand many languages:
Java,C#, these two heavy languages (zhba ng).
Python,Ruby, these two script light languages.
PHP,JavaScript, two languages that specifically deal with Web.
The tool plus the specified language allows the machine to operate the browser, but it is not possible to test it at this time, so each language needs its own unit test framework to complete the construction of this functional automation test solution. In addition, the industry also has a temporary solution, which is a test scheme composed of Python 2 + Robot Framework + Selenium Library plug-in + unit testing framework, which is not very recommended by the author. It is mainly based on two points:
Idea: this is a keyword-based solution, so keywords are the specialty of QTP (HP UFT), not the original intention of Selenium
Technology: Python 2 will eventually retire from the stage of history. If you start automated testing from scratch, you should start with Python 3 directly. However, Robot Framework does not support Python 3.
Python/Java/C#/JavaScprit/Ruby + Gauge, another open source automated testing solution for functions
Thoughtworks's Automated testing tool based on BDD concept
Gauge itself is a complete test scheme.
Gauge is a test solution that is covered by requirements analysts (BA) to test engineers (QA).
Java/Python + Macaca, Alibaba's functional automated testing scheme, the disadvantage is that there are few documents.
Automatic testing Scheme for Open Source functions of JavaScript + TestCafe,DevExpress
Pure node.js-TestCafe does not use Selenium and does not require plug-ins to run tests in real browsers. It is built on top of node.js, so it integrates with modern development tools and works well
No additional setup or configuration is required-TestCafe is to run the test npm install immediately after all settings
Complete testing tool-use a single startup command, TestCafe to start the browser, run tests, collect results and generate reports
JavaScript + Postman, a free automatic testing scheme for Web interface function
Groovy + SoapUI, an open source automated testing scheme for Web interface functions
Automatic performance testing
Java/C + HP LoadRunner, commercial version of performance testing solution
Java + JMeter, open source performance testing solution
Python + locust, open source performance testing solution
Here, we borrow a picture of someone else, Martin Fowler, one of the founders of agile development methods, who borrows the concept of a pyramid to show the level of testing.
In fact, automated testing covers the whole process from UI (functional testing) to contract (interface testing) and underlying code methods (unit testing). To master automated testing well, you really need experience in the following three areas:
Programming language, object-oriented programming is preferred, because a large number of open source technology solutions are based on object-oriented programming.
Third-party testing tools and testing frameworks, which are mainly learned through the documentation on the official website
The concept and design of testing, tools and language are only the means of testing, how to prepare test data, how to set test checkpoints and test steps, which determine the success or failure of testing.
In addition, the integrated front-end and server back-end technology is the guarantee of test execution. Come on, children's shoes, so do you know about automated testing now?
Welcome to join the 51 software testing family, where you will get [latest industry information], [free test tool installation package], [software testing technology], [job interview skills]. 51 learn and grow with you! Looking forward to your joining: QQ Group: 755431660
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.