首页 > 其他分享 >自动化测试到底是啥?

自动化测试到底是啥?

时间:2023-07-04 19:55:06浏览次数:36  
标签:脚本 需要 到底 用例 测试用例 测试 自动化

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

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

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

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

1、需求变动不频繁

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

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

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

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

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

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如复杂场景构建、大压力下测试、大量重复性测试等。

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

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

1、需求分析:

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

2、用例设计:

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

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

  • 自动化测试框架与软件架构类似,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。
    而根据自动化测试用例,我们很容易能够定位出自动化测试框架的典型要素:

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

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

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

  • d. 测试数据。
    一个测试用例需要执行很多个测试数据,我们便可将测试数据放在一个独立的文件中,由测试脚本执行到该用例时读取数据文件,从而达到数据覆盖的目的。
    在该框架中需要将这些典型要素考虑进去,在测试用例中抽取出公用的元素放入已定义的文件,设定好调用的过程。

4、测试脚本的开发

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

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

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

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

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

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

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

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

3、用例质量

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

4、测试脚本质量

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

四、 DapuStor的自动化测试

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

参考资料

我是个自动化测试人员上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们(785128166)里面有各种软件测试资源和技术讨论。

标签:脚本,需要,到底,用例,测试用例,测试,自动化
From: https://www.cnblogs.com/hebendexiaomao/p/17526836.html

相关文章

  • 【paddlepaddle速成】paddlepaddle图像分类从模型自定义到测试
    这是给大家准备的paddlepaddle与visualdl速成例子这一次我们讲讲paddlepadle这个百度开源的机器学习框架,一个图像分类任务从训练到测试出结果的全流程。将涉及到paddlepaddle和visualdl,git如下:https://github.com/PaddlePaddle相关的代码、数据都在我们Git上,希望大家Follow一下......
  • pycharm的接触学习[230703]测试插入图片
    python自述最庞大的代码库、“胶水语言”解释型语言,即不需要编译环节搭建开发环境输出函数可以输出哪些内容?输出内容可以是数字:print(520)、print(98.5);/字符串:print(‘helloworld‘);/含运算符的表达式(操作数、运算符):print(3+1)可以输出到目的地?到文件中("open"......
  • kubesphere consul搭建与测试
    1.部署不用改变参数,直接安装就行了2.部署情况部署以后,各个模块的数据应用:服务:这里有2个服务:consul-headless/consul-ui,consul-headless是主服务,后面测试会用到工作负载:容器: 3.测试在KubeSphere上搭建的Consul集群,可以使用以下方式测试是否正常工作:3.......
  • APP自动化测试-Appium
    环境搭建1,安装client编程库pycharm中安装appium-python-clientpipinstallappium-python-client2,安装AppiumServer3,安装JDK4,安装AndroidSDK手机启动开发者模式,并允许USB调试打开命令行窗口测试是否连接成功adbdevices-l查找应用Package和Activityadbsh......
  • 汽车虚拟仿真如何让汽车自动驾驶测试更高效?
    自动驾驶汽车一直是驾驶者和汽车工程师的梦想,从汽车诞生以来,不少专家就在预言自动驾驶的真正落地实现的那一天,他们普遍认为制约自动驾驶汽车发展的主要因素是低成本和强大的计算能力,但这两个问题目前在很大程度上其实已经得到解决,但现在完全的自动驾驶仍然难以实现。因为自动驾驶......
  • python接口自动化封装导出excel方法和读写excel数据
    一、首先需要思考,我们在页面导出excel,用python导出如何写入文件的封装前需要确认python导出excel接口返回的是一个什么样的数据类型如下:我们先看下不对返回结果做处理,直接接收数据类型是一个对象,无法获取返回值此时我们需要对返回数据做处理,如下;response.text#响应文本数据......
  • 弱网测试
     一、什么是弱网 网络信号差,造成上传/下载速度变慢二、弱网测试 验证系统在弱网环境下运行的稳定性【会不会出现anr,崩溃,包括数据提交是否有问题。。。】三、为什么要做弱网测试1-手机移动端在不同环境下的网络切换,环境复杂【强网-弱网、wifi-4G/5G...】......
  • kubesphere mysql搭建与测试
    1.搭建kubesphere搭建mysql很简单,直接去应用商店找到mysql安装就可以了。2.搭建情况应用: 服务:工作负载: 容器: 保密字典: 编辑设置找到root密码:xxxxxx3.测试run一个k8smysql客户端bash-5.1#kubectlrun-it--rm--image=mysql:5.7--restart=Nevermysq......
  • 软件测试 - bug的一些理解
    一、定义不符合需求文档说明二、确认是否是不是bug的依据需求文档、行业标准、项目文档、经验【bug敏感度】三、发现bug以后应该做什么 1、确认/复现bug-确认是偶现还是必现【出现的概率】2、一个bug最少复现3-10次,获取响应数据-截图......
  • [7月摸鱼计划] Secure Connection测试
    SecureConnection是指建立在安全协议上的连接,用于保护数据在网络传输过程中的安全性。在互联网通信中,数据传输往往需要经过多个节点,如果不采取安全措施,数据可能会被窃取、篡改或伪造。SecureConnection通过使用加密技术和身份验证机制,确保数据在传输过程中的机密性、完整性和可信......