当前位置:网站首页>[step 1 of advanced automated testing] 1 minute to introduce you to automated testing
[step 1 of advanced automated testing] 1 minute to introduce you to automated testing
2022-06-22 17:06:00 【Little brother said test】
Let me write it first : At present, automated testing is nothing new , In other words, various methodologies of automated testing have emerged in endlessly , however , 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 . Look at recent career opportunities , mention “ Software test engineer ”, Basically, there are requirements for automated testing . for example :
understand selenium、appium Or other automated testing frameworks
Familiar with at least one object-oriented development language , Have certain code skills is preferred
be familiar with Java perhaps python, Have some test automation experience and code reading ability
Understand interface integration testing , Will use JMeter、Postman、SoapUI And other interface testing tools
wait , The above contents will not be listed one by one . Suddenly automated testing is everywhere , It seems that the automation test ability of test engineers has become standard . This paper starts with the requirements of automatic testing , Simple automated test literacy , Try to let you know about automated testing in one minute .
So let's go from “ automated testing ” Five words to analyze .
test : This is familiar to us . The most classic explanation “ Program testing is a process performed to find errors .” This is from G.J.Myers Classics 《 The art of software testing 》 The definition of , It shows us the essence of testing : The process .
Testing is to find software errors , And the process of execution , This process can be the following :
Run the software under test , Perform the functions of the software
Run other tools , To check the inside and outside of the software
To make a long story short , It's a process , The process of execution . Next is a diagram of the most common tests :

Is to go through all the functions of the software , The test engineer through the mouse 、 keyboard 、 Microphone 、 Mobile screen touch, etc , Put all the functions of the software , All traversed , What is this called ? Familiar with children's shoes tested, understand , This is legendary “ Manual visual inspection ” ah , This is a “ Human flesh test ”.
Let's draw this picture well , It's actually like this .

automation
Come here , Combined with the above statement , Automated testing is to let the tested software run by itself , Perform the functions of the software ; Or let other tools run by themselves , To check the inside and outside of the software .
Since testing is a process , So automated testing , Is the process of automatic execution .
Next, we discuss a core problem : Automatically . What is automatic ? Let the machine move itself , It's automatic . Let the machine follow human requirements , Go through all the functions of the software , This is automation .. Would that make it clearer ?
The key is coming. , machine . Let the machine move , This is not “ Eat chicken ” Oh , It's human beings who command machines to operate . I wonder if the children's shoes have thought about , How do machines know what humans want ? The above example , The test supervisor just tells the test engineer , Command communication is complete . But human direct communication , It's much easier than man-machine communication .
First , The machine doesn't understand “ People words ”, Regardless of Chinese , english ……
secondly , The machine will by default “ assembly language ”, It should be that most children's shoes don't , And you can't master it in the short term .
ok , use “ programing language ”. It's time to take out another picture of us :

Machines learn a programming language , It's so easy and simple that it's heinous : Install it , The machine learned . Fortunately, it is not particularly difficult for humans to learn programming languages . It seems that this is feasible .
With programming language , There will be a bridge for man-machine communication , The rest , It's helping machines choose tools . Do the corresponding test , You need to find the corresponding tool , In this way, automation will be automatic . Can get here , I hope you know the basic “ Automatically ” principle .
Again , Draw a good diagram of the automated test :

Then we introduce various common tools , Let's move on to automated testing . Before further discussion , Let's first look at the common categories of testing . Here, under different classification dimensions , We can divide it into different tests , Here, let's carefully analyze .
From the practical process of software testing : unit testing 、 Integration testing 、 Confirmation test 、 The system test 、 The acceptance test ……
From the perspective of software testing methods and Strategies : White box testing 、 Black box testing 、 Grey box testing ……
From the perspective of software testing : A functional test 、 Performance testing 、 Compatibility test 、 Security testing 、 Exploratory testing ……
From the technical level of software testing : Manual testing 、 automated testing 、 Test Development ……
Classification under these dimensions , Only part of the test can pass “ Human flesh test ” Of “ Manual visual inspection ” complete , The rest is actually in a broad sense , All need machines to complete . Let's extract this part of the test : The system test - Black box testing - A functional test - Manual testing . There is no denying that , This line is the key coverage of current software testing practitioners , Beyond this range , This is where automated testing comes in .
automated testing
Next, let's discuss the mainstream automated testing schemes , Without exception , There are programming languages for man-machine communication , Together with the tools operated by the machine .
Function automation test
VBScript + QTP(HP UFT), Commercial function automation test scheme
Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + Unit test framework , Open source function automation test scheme
Here we introduce more ,Selenium/Appium It's not a testing tool in itself , It's just a tool that the machine uses to operate the browser , And this tool can understand many languages :
Java,C# These two heavy (zhòng) Language
Python,Ruby These two scripting languages
PHP,JavaScript These two specialize in Web Language
Tools plus the specified language , You can let the machine operate the browser , But the test cannot be done at this time , So we need each language's own unit test framework , To complete the construction of this function automation test scheme .
Besides , The industry also has a temporary solution , Namely Python 2 + Robot Framework + Selenium Library plug-in unit + Unit test framework Constitute a test scheme , The author doesn't recommend this scheme very much , Mainly based on two points :
idea : This is a keyword based scheme , So the keyword is QTP(HP UFT) Specialty , Not at all Selenium The original intention of
technology :Python 2 After all, it will withdraw from the stage of history , If you do automated testing from scratch , Or start directly Python 3 Well , However Robot Framework I won't support it Python 3……
Python/Java/C#/JavaScprit/Ruby + Gauge, Another open source function automation test scheme
Thoughtworks Based on the BDD Concept of automated testing tools
Gauge Itself is a complete test plan
Gauge From the demand analyst (BA) To test engineer (QA) All covered test plans
Java/Python + Macaca, Alibaba's function automation test scheme , The disadvantage is that there are few documents
JavaScript + TestCafe,DevExpress Open source function automation test scheme
pure node.js - TestCafe Don't use Selenium, And you don't need a plug-in to run tests in an actual browser . It is based on node.js At the top of the , Therefore, it integrates with modern development tools and works well
No additional setup or configuration is required - TestCafe Is to run the test immediately after all settings npm install
Complete testing tools - Use a single start command ,TestCafe Launch the browser , Run the test , Generate reports and collect results
JavaScript + Postman, Free of charge Web Interface function automation test scheme
Groovy + SoapUI, Open source Web Interface function automation test scheme
Performance automated testing
Java/C + HP LoadRunner, Commercial version performance test plan
Java + JMeter, Open source performance test scheme
Python + locust, Open source performance test scheme
here , Let's borrow a picture of someone else ,Martin Fowler, One of the founders of agile development methods , He borrowed the concept of pyramid to show the level of testing .

in fact , Automated testing covers everything from UI ( A functional test ) To contract ( The interface test ) And the underlying code methods ( unit testing ) The whole process , To master automated testing well , So it really needs experience in the following three fields :
programing language , Object oriented programming is preferred , Because of a large number of open source technology solutions , Are based on object-oriented programming
Third party testing tools and testing frameworks , These are mainly learned through the documents on the official website
Test concept and design , Tools and language , Just a means of testing , How to prepare test data , How to set test checkpoints and test steps , These determine the success or failure of the test
In addition, comprehensive Front end and server back end technology , It is the guarantee of test execution . Come on, children's shoes , Has a minute passed ? So do you know about automated testing now ? Please type your thoughts in the comments section 、
Learning resource sharing
Finally, thank everyone who reads my article carefully , Watching the rise and attention of fans all the way , Reciprocity is always necessary , Although it's not very valuable , If you can use it, you can take it

These materials , For those engaged in 【 software test 】 For our friends, it should be the most comprehensive and complete war preparation warehouse , This warehouse also accompanied me through the most difficult journey , I hope it can help you ! Everything should be done as soon as possible , Especially in the technology industry , We must improve our technical skills . I hope that's helpful …….

边栏推荐
- .NetCore实现图片缩放与裁剪 - 基于ImageSharp
- jMeter使用案例
- hydra安装及使用
- jsp学习之(三)--------- jsp隐式对象
- WPF效果第一百九十篇之再耍ListBox
- 启牛学堂给的中信建投证券账户是不是真的?开户安全吗
- variable
- MYSQL_ERRNO : 1292 Truncated incorrect date value At add_num :1
- Quickly master asp Net authentication framework identity - login and logout
- 快速掌握 ASP.NET 身份认证框架 Identity - 用户注册
猜你喜欢

Huawei cloud recruits partners in the field of industrial intelligence to provide strong support + commercial realization

Hello Playwright:(7)模拟键盘和鼠标

MySQL master-slave connection prompt of docker: communications link failure

STM32 ADC acquisition via DMA (HAL Library)

System throughput, TPS (QPS), user concurrency, performance test concepts and formulas

. Net release and support plan introduction

每秒处理10万高并发订单的乐视集团支付系统架构分享

WPF效果第一百九十篇之再耍ListBox

Blazor University (31)表单 —— 验证

新手必会的静态站点生成器——Gridsome
随机推荐
On the closure function of Scala
[wechat applet to obtain the height of custom tabbar] is absolutely available!!!
Spark Streaming-Receiver启动和数据接收
spark常用 算子小总结
MYSQL 存储过程异常处理 报错 错误代码: 1337
Linux system maintenance: mysql8.0.13 source code download and installation "fool" operation steps (Linux centos6.8) test available series
快速掌握 ASP.NET 身份认证框架 Identity - 用户注册
[pop up box 2 at the bottom of wechat applet package]
Redis实现延迟队列的正确姿势
Spark and mysql:did not find registered driver with class com mysql. jdbc. Driver
JMeter use case
网传学习通1.7亿密码泄露!有什么补救措施?
The win10 desktop icon disappears and the toolbar turns black
调用cmd 进程通信
Problems and recovery of spark streaming checkpoint
Gridhome, a must-have static site generator for beginners
spark与mysql:Did not find registered driver with class com.mysql.jdbc.Driver
Source code analysis of spark cache
[wechat applet custom bottom tabbar]
vs2017 在调试状态不显示QString值的解决方法