什么是自动化测试?

原文

首先,我们先从招聘岗位的需求说起。看最近的职业机会,说到“软件测试工程师”,基本上都有自动化测试的要求。例如:

了解selenium、appium或其他自动化测试框架;

熟悉至少一种面向对象开发语言,具有一定代码知识者优先;

熟悉Java或python,有一定的测试自动化经验和代码阅读能力;

了解接口集成测试,会使用JMeter,Postman,SoapUI等接口测试工具。

等等,以上内容就不一一列举了。突然间,自动化测试遍地开花,仿佛测试工程师的自动化测试能力已经成为了标准。本文从自动化测试的需求入手,简单进行自动化测试素养,力求在一分钟内让你了解自动化测试。

那么我们就从“自动化测试”这个词来分析。

首先,测试

测试:我们对此很熟悉。“最经典的解释?程序测试是一个发现错误的过程。”G.J.Myers的经典著作《软件测试的艺术》中的定义向我们展示了测试的本质。过程。

测试是为了发现软件错误而执行的过程。该过程可以是以下过程:

运行测试软件,执行软件的功能;

运行其他工具检查软件的内部和外部。

总之就是一个过程,一个落实的过程。接下来是最常见测试的示意图:

请点击输入图片说明。

确认了人工目测。

比如测试主管让测试工程师遍历软件的所有功能,测试工程师通过鼠标、键盘、麦克风、手机触摸屏遍历软件的所有功能。这叫什么?熟悉测试的童鞋都明白,这就是传说中的“人工目测”,这就是“人肉测试”。

让我们好好画这幅画,事实上。

好吧,人工测试。

第二,自动化

这里结合上面的说法,自动化测试就是让被测软件自己运行,执行软件的功能;或者让其他工具自己运行来检查软件的内外。

既然测试是一个过程,那么自动化测试就是一个自动执行的过程。

接下来,我们讨论一个核心问题:自动化。什么是自动的?让机器自己动,这是自动的。让机器按照人类的要求遍历软件的所有功能。这就是自动化。。这么说会不会更清楚?

关键是,机器。让机器动起来,不是“吃鸡”,是人类命令机器操作。不知道童鞋们有没有想过。机器怎么知道人类的要求?在上面的例子中,测试主管只需要告诉测试工程师命令传输完成。但是人类直接交流远比人机交流容易。

首先,机器听不懂“人话”,不管是中文还是英文...

其次,机器默认的“汇编语言”应该是大部分童鞋短期内无法也不可能掌握的。

好,用“编程语言”。是时候拿出我们的另一张照片了:

这太神奇了,不是吗?自动化测试。

令人愤慨的是,机器轻松简单地学习编程语言:一旦安装,机器就会学习它。好在人类学习编程语言并不是特别难。看来这是可行的。

有了编程语言,就有了人机沟通的桥梁,剩下的事情就是帮助机器选择工具。要做相应的测试,需要找到相应的工具,这样自动化才会自动移动。至此,希望各位童鞋明白基本的“自动”原理。

类似地,画出自动测试井的示意图:

这个呢?自动测试示意图