软件测试的基础知识(二)

虚树苔藓
• 阅读 1176

本篇文章,从第二个角度来谈软件测试的方法,按是否需要手工执行来划分,可以分为

  1. 手工测试
  2. 自动化测试

1、手工测试

指的是由人来一个一个地按照测试用例进行操作,观察结果。

由此可见,手工测试,并不是漫无目的地点点点。当然,也有相应的工具能模仿这种操作,例如,移动端会使用 monkey 来模拟人对一款应用的随机点击。

其次,手工测试需要依据测试用例来逐步操作,将得到的结果与预期结果进行对比。

很多人觉得手工测试非常原始,在人工智能的迅猛发展下,会被淘汰。其实不然,在相对长的一段时间里,手工测试依然无法被替代。

人工智能,最难模仿的就是人的思维,不会像人那样去思考,只是在收集了大量数据的基础上,找出人类行为的规律而已。

因此,手工测试,依然是必须的一种测试方法。

2、自动化测试

将人为驱动的行为,转化为机器执行的一个过程,并且在预设条件下运行系统或应用程序,评估运行结果。

关于自动化测试,按照开发阶段,可以划分为:

  1. 单元自动化测试
  2. 接口自动化测试
  3. UI 自动化测试

要实现自动化,当然需要用到工具。

在浏览器上实行自动化测试,可以用到 Selenium,移动端的 APP 上可以用 Appium。

软件测试的基础知识(二)

既然自动化测试用着这么好,那是不是所有的操作都可以使用自动化测试呢?

其实不然,适合使用自动化测试的项目,有以下特点:

  1. 需求变更有计划性,并且频率不高
  2. 项目周期长,资源丰富
  3. 脚本重复利用率高
  4. 代码规范

因此,自动化测试适合用来测非常基础、没有业务依赖的基础性功能。

3、区别

通过上述的描述,似乎并没有切身感受到自动化带来的震撼。接下来,我用软件和生活领域的例子,让你感受感受。

假设有一个用例:

验证百度的登陆功能:

1、输入用户名 --> 2、输入密码 --> 3、点击登录按钮 --> 4、验证是否能正常登陆

软件测试的基础知识(二)

以上这个简单的测试用例,手工执行1次还好,执行10次也还可以接受,但是,如果是100次,1000次呢?有点受不了了吧,这时候,自动化测试该登场了。

我录制了一段使用 Selenium 工具实现自动化操作的视频,可以点击进去感受下:

多线程远程自动化测试

在生活上,我们也享受着自动化给我们带来的便利。

例如,在美国,自动化技术已经广泛应用到耕种上,极大的提高了工作效率,只需要1-2个人,就可以完成过去传统耕种方式下,100人的工作量。

来看看传统的手工耕种方式,从翻土地到播种,再到后来的收割,都需要人辛辛苦苦地进行重复劳动。

软件测试的基础知识(二)

对比下现代的自动化耕种,从翻土地到播种,再到后来的收割,只需要用机器,一个人就可以完成。

软件测试的基础知识(二)

以上就是本篇文章所要分享的内容,欢迎各位大牛指正。你的指正,能让我在测试之路上快速成长。

Leo Never Stop Fighting!

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
PHP安全性防范方式
<h2SQL注入</h2<pSQL注入是一种恶意攻击,用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。</p<h4防范方式</h4<ul<li使用mysql\_real\_escape\_string(),或者addslashes()过滤数据</li<li手动检查每一数据是否为正确的数据类型</li<li使用
Stella981 Stella981
3年前
Selenium自动化的JUnit参数化实践
作为自动化测试人员,经常会遇到这样Selenium测试自动化场景:_需要一次又一次地执行相同的测试用例,只是使用不同的输入和环境配置,从而使工作变得冗长且多余。_为了处理这种用例冗余,大多数人都会选择可以选择参数化测试。使用参数化测试,测试人员可以再次运行相同的自动化测试脚本,但使用不同的数据。参数化测试通过利用测试方法收集结
Wesley13 Wesley13
3年前
QTP(1)
一、概念  1、什么是软件测试?    使用人工或者自动手段来运行或者测试某个软件的过程,其目的在于检验程序是否满足需求规格说明书或者弄清实际结果与预期结果之间的差异。    (1)软件(程序文档数据)测试    (2)软件测试工程师      1)需求分析测试计划测试方案测试用例(脚本)环境搭建执
Wesley13 Wesley13
3年前
mysql 5.7 windows zip安装
<ol<limysql官网下载windowszip安装包并解压(D:wampmysql56winx64)</li<li添加pathD:wampmysql5722winx64bin</li<li创建data目录D:\\wamp\\mysql56winx64\\data</li<li<p创建mysql配置文
Stella981 Stella981
3年前
ASMSupport教程4.11 生成数组操作
<p在任何语言里,数组都是基本的数据类型,我们这一节将讲述如何生成数组操作。</p<p数组操作包括以下几个:</p<ol<li创建数组</li<li获取数组长度</li<li获取数组每个元素的内容</li<li为数组元素赋值</li</ol<p我们接下来对每种操作进行详解。</p<h3<fonts
Stella981 Stella981
3年前
ASMSupport教程4.12 生成方法调用操作
<p这一节我们讲如何用ASMSupport生成方法调用的操作,方法调用包括下面四种类型:</p<ol<li调用构造方法<li调用静态方法<li调用非静态方法<li调用当前类的方法<li调用父类方法</li</ol<p首先我们需要看我们想要生成的类:</p<p代码1:</p<h3<divid"scid:9D
Wesley13 Wesley13
3年前
Java将List中的实体按照某个字段进行分组的算法
publicvoidtest(){List<UserlistnewArrayList<();//User实体测试用Stringid,name;//当前测试以id来分组,具体请按开发场景修改list.add(newUse
Stella981 Stella981
3年前
RobotFramework接口自动化的设计思想
自动化终极思想:以目标为导向,不断抽象沉淀,消除冗余,做到测试数据与测试代码分离1、自动化测试对人员的要求1、对测试人员的技能要求较高,需要自己写测试代码或看得懂别人的测试代码;2、需要根据版本迭代进行更新测试用例,有一定的维护成本;3、自动化能发现的缺陷数(bug)远远少于手工测试,产出低;4、自动化测
API 小达人 API 小达人
1年前
Eolink Apikit 如何进行自动化测试?零代码!无门槛!快速上手!
作为测试人员,在进行比较大的项目时,使用自动化测试能帮助我们事半功倍地完成测试工作,提高测试效率,缩短开发周期。EolinkApikit“零代码”自动化测试,帮助开发人员创建自动化测试,而不需要编写代码,是人人皆可使用的“零代码”自动化测试平台。在EolinkApikit的自动化测试应用中,所有的测试用例都是以项目维度来进行管理,一个自动化测试项目可以从多个API文档项目中引用API信息来创建API测试用例。
API 小达人 API 小达人
1年前
流程测试用例的详细指南|Eolink Apikit 接口自动化测试
流程测试用例是为验证特定业务流程而设计和编写的测试案例,专注于检查系统或应用程序在执行某一业务流程时的正确性、稳定性和可靠性。一个业务流程可能涉及多个步骤、多个用户交互和多个系统组件的协作,流程测试用例有助于确保整个流程在各种情况下都能正常运行。在API自动化测试中,所有的测试用例都是以项目维度来进行管理,一个自动化测试项目可以从多个API文档项目中引用API信息来创建API测试用例。