zl程序教程

您现在的位置是:首页 >  其他

当前栏目

接触了那么多,你懂什么是自动化测试?

测试自动化 什么 那么 接触
2023-09-14 09:11:00 时间

什么是自动化测试?顾名思义就是以程序测试程序,自动执行指定动作,实现测试目的。以代码实现测试思维,以脚本替代手工执行。从简单的独立功能脚本到依托自动化框架运行的脚本集合都属于自动化测试范畴。本文旨在通过讨论以下几个方面,总结自动化测试价值最大化的经验。

一、 什么项目适合自动化测试?

实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。

通常需要同时满足以下条件

1) 需求变动不频繁

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。

2) 项目周期足够长

自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

3) 自动化测试脚本可重复使用

如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试价值就无法体现,所以要求测试脚本人员在开发自动化框架和自动化脚本时需要注意到兼容性和可扩展性,尽量生成可通用的测试AW集合,测试脚本集合。

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。

比如复杂场景构建、大压力下测试、大量重复性测试等。

二、 自动化测试的基本流程以及注意事项

如图1所示,自动化测试的基本流程主要包含需求分析,自动化测试计划设计,用例设计,自动化测试框架设计与开发,脚本开发,环境搭建,整体联调运行等。

  1. 需求分析:分析哪些点需要进行自动化,在需求分析阶段参与进来,在被测代码开发阶段输出依赖点,保证自动化开发时效率更高,代码改动更小;

  2. 用例设计:建议先根据测试点设计所有用例,然后分别查看是否可以实现自动化,最后正向补充可能遗漏的自动化场景;

  3. 自动化测试框架设计与开发:

自动化测试框架与软件架构类似,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。

而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素:

a. 公用的对象。

不同的测试用例会有一些相同的对象被重复使用。这些公用的对象可被抽取出来,在编写脚本时随时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,而无需修改所有相关的测试脚本。

b. 公用的环境。

各测试用例也会用到相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,也能增强脚本的可维护性。

c. 公用的方法。

当测试工具没有需要的方法时,而该方法又会被经常使用,我们便需要自己编写该方法,以方便脚本的调用。

d. 测试数据。

一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆盖的目的。

在该框架中需要将这些典型要素考虑进去,在测试用例中抽取出公用的元素放入已定义的文件,设定好调用的过程。

  1. 测试脚本的开发:需要注意脚本兼容性和可扩展性,尽量保证测试脚本在不同的测试环境上均可执行,在不同版本中均可达到测试效果。可扩展性即为在本脚本基础上方便地增加测试步骤或者增加执行的循环次数等。

三、 过往自动化测试过程中的一些经验

  1. 自动化测试的资源和技术储备

根据项目情况合理安排资源,包括物料设备和人力技术,保证能够持续推动工作。

  1. 自动化测试依赖于开发,运维,测试的配合

a. 运行测试脚本的必要条件,需要特别注明

b. 接口有变更需要开发提前需知会测试,测试进而调整接口测试脚本

c. 测试脚本需要随时review,确认脚本实现了用例的测试意图

  1. 用例质量

用例应该能够保证预期结果的确定性和准确性,避免出现因用例导致的脚本失败,影响自动化测试结果的可信度,浪费大量资源去定位问题。

  1. 测试脚本质量

脚本务必完全实现用例的测试意图,脚本要方便兼容和扩展,数据集中存放,脚本内不出现写死的输入参数,如果脚本存在问题,但测试结果为PASS,则可能会长期掩盖一个真实的BUG。

四、 DapuStor的自动化测试

DapuStor自验盘片HaiShen系列,在研发过程中进行了大量的自动化测试工作,包括CI测试、开发自验测试、性能测试、掉电测试、冒烟测试、长稳测试等,目前采用TestLink+Jenkins+RobotFrame模式实现自动化框架的设计,用例的管理,以及任务的构建和执行,通过持续的自动化构建,比较有效地保证了产品的质量,支撑了产品的研发进度。

技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我近几年的收集和整理,整体是围绕着【软件测试】来进行整理的,主体内容包含:python自动化测试专属视频、Python自动化详细资料、全套面试题等知识内容。

在这里插入图片描述

对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!

愿你我相遇,皆有所获! 欢迎关注微信公众号:【伤心的辣条】 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!