【自动化测试总结】优点、场景、流程、项目人员构成

news2024/11/18 9:26:33

一、自动化测试的概念

 以程序测试程序,以代码代替思维,以脚本的运行代替手工测试,可以大大提高工作测试的效率。

二、自动化测试的优点

1.回归测试更为方便,可靠。自动化测试最主要的任务和特点,特别是在程序修改比较频繁的时,效果最为明显。由于回归测试的业务流程流程操作和测试用例是预先完全设计好的,预期结果也是完全在项目人员掌握之中的,将回归测试交给计算机自动运行,可以极大提高测试效率,缩短回归测试时间。但是,上述说的程序修改比较频繁指的是新功能不断加入,而老公能的逻辑是不变或者很少变化的,不是指整个程序全部或者大批量的改动。因为这样是违反自动化测试原理的。

      2.可运行更多,更为繁琐的测试,且快速高效。自动化测试可以实现在短暂的时间运行更多的test case。我们知道,有很大一部分业务功能由于业务逻辑极其繁琐,使用手工测试往往耗费大量的时间,测试1次,2次,3次还可以,但是如果测试10次以上或者更多,耐心会达到极致。

      3.可以执行对于手工测试来说相当困难或者根本做不到的测试。比如,对于大量用户的测试并发,不可能同时让足够多的测试人员同时进行测试,但是却可以通过对自动化测试模拟同时有许多用户并发点击某一功能,从而达到测试的目的。再比如,人工不可能24小时不眠不休进行测试,但是计算机则不同休息。当然,类似的例子还有很多,无法全部列举出来。

      4.更好地利用资源,使资源的使用更有价值。将方所的任务自动化,可以提高准确性和测试人员的积极性,将测试技术人员 解脱出来,投入更多精力设计更好的测试用例。有些测试不适合于自动化测试,仅适合手工测试,将可自动化测试的测试自动化后,可以让测试人员在专注于手工测试部分,提高手工测试的效率。

      5.自动化测试脚本完全更有信任度。

      6.自动化测试脚本完全具有复用性。

      7.多个环境下进行测试。我们知道,一个系统,往往会被要求能够支持各种不同的环境并稳定运行,但是这么多不同的环境,比如常用浏览器有IE6,IE7,IE8,FireFox等,系统有Windows 2003,Windows XP,Windows Vista,Windows 7等,甚至还有杀毒软件,如卡巴斯基,360,诺顿等,这么多环境的组合,如果每一种环境组合我们都需要花人力,物力去把功能测试一遍,会无形加重负担。

三、适合引入自动化测试的条件

1.项目周期长,系统版本不断。如果你目前躲在测试的项目或者系统是属于一个周期比较长的项目的时候,可以说,的确非常适合引入自动化测试,把大量的回归测试托付给测试自动化是一个比较明智的选择。还有一种根据是从系统的版本数得来的,曾经测试领域专家有过相关的研讨并最后得出结论,一般自动化测试耗费的时间是手工测试的6-10倍,所以,如果你所在的项目版本数在10个以上,纳闷,引入测试自动化也同样非常的睿智。

     2.需求变更不频繁,当项目的需求非常稳定,不会进场出现变更的时候,此时也很适合引入测试自动化。

     3.系统中的测试对象基本可以正常识别。

     4.系统中不存在大批量第三方控件。有实际项目经验的人一定会发现,无论什么系统,B/S架构也好,C/S架构也好,多少存在一些第三方控件,但是如果这些第三方的控件数量不多的话,经过详细的计划与评估后,完全可以引入测试自动化,当然,如果第三方控件数量庞大或者刑事种类庞大的话,就会带来很多麻烦。

    5.需要反复测试。

PS:多数对象无法识别以及脚本维护频繁与艰难,二者有其一,自动化测试注定失败。如果项目中存在大量无法识别的空间(这种情况基本是发生在系统中存在大量的第三方控件)或者项目中没有获得相应的对象识别插件,是没有办法写出自动化测试脚本的。当然,对象的识别不一定要靠插件,还有其他解决方法,比如SDK插件扩展,或者让开发人员提供相应的DDL来识别等。

    自动化测试工具对系统具有有效性。如果项目时间并不紧迫,项目需求也较为稳定,项目周期也较长,那么可想尝试开发自动化测试脚本,必须具备一款匹配的自动化测试工具,那么可以是开源的也可以是商业化的,甚至是自主研发一款。此时,就需要确切的了解这款测试工具是否真的能够应付项目需求,假设你所在的公司购买了一款商业化的自动化测试工具,项目系统中全部是一些java控件,但是测试工具自带的插件中又不包含java控件的识别插件,那么此时就算拥有这款自动化测试工具,但是由于无法有效的识别到项目中的控件,所以,对于项目来说是毫无作用的。

四、自动化测试的一个流程

1.合理的自动化测试切入点。通常,项目只有在经历了完整的系统测试后才算具备了基本的引入测试自动化的条件。一般也就在这个时间段,项目经理与测试经理才会以此定位自动化测试开始筹划与准备的时间点。到目前为止,绝大部分的公司都以系统测试完成为标准来作为自动哈UC屙屎的切入点,因为在这之前的任何阶段中都不是非常适合做自动化测试。

2.测试自动化分析

(1)可行性分析

(2)抽样demo分析 demo已经是一个实体案例,所以完全可以通过透析demo来发现是否存在技术上的致命问题通常在demo完成之后,有经验的自动化测试工程师或者组长就能对这个项目的自动化测试工作有一个答题的把握了,关于demo的选取,一般直接选择猫眼测试用例写成测试脚本,检查脚本是否能够成功运行通过,已设计的测试点是否全部执行到即可。

(3)测试需求分析 我们需要分析项目中具体哪些测试需求(功能点)准备进行自动化测试,一条测试需要可以包含多条自动化测试用例,通过测试需求分析来判定项目中此时自动化要做到什么程度。举个例子,在自动化测试用例的设计上,大体是一正向,反向划分,我们知道自动化测试是不需要也没有必要做到100%覆盖率,所以在测试需求分析这个阶段,确定测试覆盖率以及自动化测试粒度,测试用例上筛选等都是重点工作。

PS:正向测试用例就是正常的业务操作流,几乎没有什么非正常的情况,反向及时一场的业务操作流。

3.测试计划的定制

4.自动化测试设计阶段

(1)自动化测试框架设计,开发与搭建 自动化测试框架对于整个自动化测试项目来说就相当于一个架构,这个架构越好,功能越强大和使用,呢就可以给今后整个自动化测试项目的工作过程带来更多的好处,自动化测试框架是能保证测试的分布执行,脚本模块化,数据驱动,日志分析,错误截图,报表回收,共享对象库,公共函数库,环境配置,同一设计模式,异常处理,场景回复等一个无人值守,针对每个肚里项目的测试框架。

(2)自动化测试用例设计三部曲

    .筛选手工测试用例的过程 首先要根据测试需求分析阶段得出的分析结果筛选出所有要被测试自动化的手工测试用例,在全部筛选完毕后,再分成两部分,一部分是可以直接二次复用的手工测试用例,不要客气,直接拿来即可,另外一部分则要经理下一个过程,实际上,大多数还是需要经历改造的,毕竟自动化测试用例的设计方法和手工测试用例的设计方法有点出入,哪怕是冒烟测试用例多少也要修改。

   .转换手工测试用例的过程

   .新增和补充自动化测试用例的过程

5.测试脚本设计与开发

    在自动化测试中,测试脚本大致可以划分为5种

   (1)线性脚本:通过录制直接产生的线性执行的脚本

   (2)结构化脚本,具有顺序,循环,分支等结构的脚本

   (3)可共享脚本:可以被多个测试用例使用,被其他脚本调用的脚本

   (4)数据驱动脚本:测试数据和业务流程控制分离的脚本,通过读入数据文件来驱动流程进行的脚本

   (5)关键词驱动脚本:脚本,数据,业务分离,数据和关键字在不同的数据表中,通过关键字来驱动测试业务逻辑,关键字驱动脚本的特点是,她看起来更像描述一个测试用例在做什么,而不是如何做

6.自动化测试执行

    所有的自动化测试脚本全部开发完毕后会进入合并联调阶段,脚本联调成功后方能进入这一阶段。

    脚本联调是一个关键的时期,联调如果不通过是无法进行下一个环节的,毕竟都到了这个阶段了,已经花了很多工时了

    (1)无人值守的测试

       .环境搭建,部署与配置

       .自动化测试用例和测试脚本互相绑定

       .自动化测试用例执行顺序排列与组合

     (2)异常处理和场景恢复

     (3)一个自动化测试执行实例,举一个QC自动化测试框架(Quality Center 一款集测试解决方案,测试流程管理,缺陷管理的工具,其本身也是一个自动化测试框架的例子)我们将测试脚本上传到QC服务器与相应测试用例绑定,最后,可以生成一个测试集,测试集里可以导入之前设计的测试用例,如果导入的用例和脚本有过绑定,则脚本也随之自动加载到测试集中,只需要点击执行按钮即可如果在执行过程中发生意外秦光,只要预先设置了各种异常情况及处理应对方式,QC就会自动进行处理,并把测试场景恢复到预置的状态重新自动执行测试。等测试集中的测试用例全部运行完毕后,QC就会显示这些测试用例的运行结果并生成图标,然后自动将缺陷提交到服务器中,方便测试工程师了解自动化测试运行以及完成的情况乃至发现的缺陷情况。

7.提交自动化测试产物

8.测试脚本维护

五、自动化测试项目的人员构成

1.自动化测试组长:自动化测试团队的最高管理,拥有发言权

2.高级测试开发工程师:团队中技术最牛的角色,通常负责自动化测试框架的设计与搭建,负责自动化项目实施过程中各类技术难点的解决;负责公共数据的提炼和开发,如公共函数库等

3.自动化测试用例设计人员:由团队中对业务和手工测试情况最熟悉的人员担当,负责自动化测试用例的设计开发工作,及今后的测试用例维护工作;负责测试脚本的验收工作,监督测试脚本业务逻辑时候与设计好的自动化测试用例一致

4.脚本开发人员:负责自动测试脚本的设计与开发;负责脚本合并联调工作,负责后期的脚本维护工作

5.自动化项目库管理人员:类似文职人员,可以没有代码开发经验,负责整个子弟欧诺个话团队中日常工作中的文档变更记录的整理,公共对象库管理,代码版本管理与公共函数库管理等

自动化测试用例的范围往往是核心业务流程或者重复执行率较高的

自动化测试用例的选择一般以正向为主

不是所有的手工测试用例都可以使用自动化测试来实现的

手工测试用例可以不用回归原点,而自动化用例往往是必须的

自动化测试用例和手工测试用例不同,不需要每个步骤都写预期结果

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Minitab 20安装包下载及安装教程

Minitab 20下载链接:https://docs.qq.com/doc/DUmNYVGxtUnZkWUpk 1.选中下载好的安装包,鼠标右键解压到”Minitab 20“文件夹 2.选中Setup,鼠标右击选择“以管理员身份运行” 3.点击“下一步” 4.点击“下一步” 5.勾选我接受许可协议中的条…

oracle语法学习

oracle语法学习 1.备份表 create table bd_psndoc_temp as select * from bd_psndoc2.还原表 drop table bd_psndoc; create table bd_psndoc as select * from bd_psndoc_temp3.查询表的前5条记录 select * from bd_psndoc_temp where rownum<54.从一个表中复制所有的列…

stm32学习笔记:TIM-输出比较

四部分讲解内容&#xff0c;本文是第二部分 输出比较主要用于PWM波形的控制电机&#xff08;驱动电机的必要条件&#xff09; 1、定时器基本定时&#xff0c;定一个时间&#xff0c;然后让定时器每隔一段时间产生一个中断&#xff0c;来实现每隔一个固定时间执行一段程序的目…

HarmoryOS Ability页面的生命周期

接入穿山甲SDK app示例&#xff1a; android 数独小游戏 经典数独休闲益智 广告接入示例: Android 个人开发者如何接入广告SDK&#xff0c;实现app流量变现 Ability页面的生命周期 学习前端&#xff0c;第一步最重要的是要理解&#xff0c;页面启动和不同场景下的生命周期的…

老师们居然这样把期末考试成绩发给家长——群发成绩系统的妙用

在现代社会&#xff0c;随着科技的发展和教育的进步&#xff0c;家校之间的沟通方式也在不断更新和完善。其中&#xff0c;群发成绩系统作为一种新型的教育信息化工具&#xff0c;在期末考试成绩的传递方面发挥了重要作用。老师们通过群发成绩系统&#xff0c;将期末考试成绩快…

合合TextIn团队发布 - 文档图像多模态大模型技术发展、探索与应用

合合信息TextIn&#xff08;Text Intelligence&#xff09;团队在2023年12月31日参与了中国图象图形学学会青年科学家会议 - 垂直领域大模型论坛。在会议上&#xff0c;丁凯博士分享了文档图像大模型的思考与探索&#xff0c;完整阐述了多模态大模型在文档图像领域的发展与探索…

在pycharm中执行 os.makedirs 提示用户名或密码不正确

问题&#xff1a;在pycharm中运行脚本&#xff0c;在 \10.0.21.249\share 共享目录下创建目录提示错误 发现&#xff1a;手动在该目录下创建目录没有问题。 解决方法&#xff1a; 切换到cmd 命令行运行该脚本成功创建 猜测&#xff1a;感觉应该是pycharm中使用的用户名和密码存…

医疗设备产生谐波对配电系统危害有哪些

1.对电网的影响 电网中的谐波会增加系统损耗&#xff0c;使设备发热&#xff0c;影响设备使用寿命。此外当并联的无功补偿电容器容抗与系统感抗匹配时&#xff0c;将发生n次并联谐振&#xff0c;造成电容器组的过电压和过电流。当基波频率为时&#xff0c;谐振频率&#xff0c…

【重磅新品】小眼睛科技推出紫光同创盘古系列FPGA开发板套件,盘古200K开发板,紫光同创PG2L200H,Logos2系列

FPGA&#xff0c;即现场可编程门阵列&#xff0c;作为可重构电路芯片&#xff0c;已经成为行业“万能芯片”&#xff0c;在通信系统、数字信息处理、视频图像处理、高速接口设计等方面都有不俗的表现。近几年&#xff0c;随着国家战略支持和产业发展&#xff0c;国产FPGA迎来迅…

LLM(九)| 使用LlamaIndex本地运行Mixtral 8x7大模型

欧洲人工智能巨头Mistral AI最近开源Mixtral 8x7b大模型&#xff0c;是一个“专家混合”模型&#xff0c;由八个70亿参数的模型组成。Mistral AI在一篇博客文章&#xff08;https://mistral.ai/news/mixtral-of-experts/&#xff09;介绍了Mixtral 8x7b&#xff0c;在许多基准上…

代码随想录算法训练营第十五天| 二叉树 513. 找树左下角的值 112. 路径总和 106.从中序与后序遍历序列构造二叉树

513. 找树左下角的值 层序遍历 本题用层序遍历可以直接秒了&#xff0c;直接提取每一层中最左边的元素&#xff08;i0&#xff09;&#xff0c;然后保存到最后一层即可。 class Solution { public:int findBottomLeftValue(TreeNode* root) {queue<TreeNode*> que;int…

【金猿人物展】东方金信董事长兼总经理王伟哲:价值化、智能化驱动下的大数据,治理仍需深化...

‍ 王伟哲 本文由东方金信董事长兼总经理王伟哲撰写并投递参与“数据猿年度金猿策划活动——2023大数据产业年度趋势人物榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 2023年&#xff0c;数据要素、公共数据授权运营成为热点话题&#xff0c;也是激活数据…

Flume基础知识(二):Flume安装部署

1. Flume 安装部署 1.1 安装地址 &#xff08;1&#xff09;Flume 官网地址&#xff1a;Welcome to Apache Flume — Apache Flume &#xff08;2&#xff09;文档查看地址&#xff1a;Flume 1.11.0 User Guide — Apache Flume &#xff08;3&#xff09;下载地址&#xf…

Halcon计算封闭区域(孔洞)的面积area_holes

Halcon计算封闭区域&#xff08;孔洞&#xff09;的面积 除了可以用area_center 算子计算区域的面积以外&#xff0c;在Halcon中还可以使用area_holes算子计算图像中封闭区域&#xff08;孔洞&#xff09;的面积。该面积指的是区域中孔洞部分包含的像素数。一个区域中可能不只…

深入了解Swagger注解:@ApiModel和@ApiModelProperty实用指南

在现代软件开发中&#xff0c;提供清晰全面的 API 文档 至关重要。ApiModel 和 ApiModelProperty 这样的代码注解在此方面表现出色&#xff0c;通过增强模型及其属性的元数据来丰富文档内容。它们的主要功能是为这些元素命名和描述&#xff0c;使生成的 API 文档更加明确。 Api…

解读 $mash 通证 “Fair Launch” 规则(Staking 玩法解读篇)

Solmash 是 Solana 生态中由社区主导的铭文资产 LaunchPad 平台&#xff0c;该平台旨在为 Solana 原生铭文项目&#xff0c;以及通过其合作伙伴 SoBit 跨链桥桥接到 Solana 的 Bitcoin 生态铭文项目提供更广泛的启动机会。有了 Solmash&#xff0c;将会有更多的 Solana 生态的铭…

静态网页设计——电影推荐网(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1NK411x7oK/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

C语言编译器(C语言编程软件)完全攻略(第十二部分:VS2010下载地址和安装教程(图解))

介绍常用C语言编译器的安装、配置和使用。 十二、VS2010下载地址和安装教程&#xff08;图解&#xff09; 为了更好地支持 Win7 程序的开发&#xff0c;微软于2010年4月12日发布了 VS2010&#xff0c;它的界面被重新设计&#xff0c;变得更加简洁。需要注意的是&#xff0c;V…

crontab 创建定时任务

1、创建crontab任务 crontab -ecrontab内容 */59 * * * * sh /home/restartAllSlave.sh >> /home/my-restartAllSlave.log 2>&12、创建执行脚本&#xff08;restartAllSlave.sh&#xff09; docker重启如下&#xff1a; docker restart slave_zllrp_gb_1 slav…

开源分布式任务调度系统DolphinScheduler本地部署与远程访问

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…