Selenium自动化落地实践

01、自动化测试流程图

在这里插入图片描述

02、主要过程描述

1、自动化测试的切入点

开展自动化测试的时间点很关键,需要在系统已经过多版本的系统测试,达到稳定之后。

2、可行性分析

在进行项目自动化测试之前,第一步就是要确认其可行性,是否可以实行测试自动化。如果项目时间紧迫、项目周期短、项目需求变幻无常则建议和上级领导商议,不要开展自动化测试。想要开展自动化测试,还是应该遵循以下几个前提条件:

软件需求变动不频繁

项目周期足够长

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

在这个阶段应该产出《可行性分析报告》

3、抽样 demo 分析

通过可行性分析后,接下来需要做一个demo,等待 demo 完成后,可以再次通过分析自动化测试工作能否顺利地开展下去,因为 demo 已经是一个实体案例,所以,可以完全通过透析 demo 来发现是否存在技术上的致命问题。通常在 demo 完成之后,有经验的自动化测试工程师或组长就能对这个项目的自动化测试工作有一个大体的把握了。

一旦通过了抽样 demo 分析,自动化测试就可以展开了。关于 demo 的选取,一般直接选择冒烟测试用例(大冒烟)写成测试脚本后执行,检查脚本是否能够成功运行通过,已设计的测试点是否全部执行到即可。

4、测试需求分析

到了测试需求分析这一步,分析的就不再是能否在项目中引入测试自动化了,而是在为下一阶段制定具体计划打下基础。测试需求其实就是测试目标,也可以看做是自动化测试工程师所要完成的新的功能点,需要分析项目中具体哪些测试需求(功能点)准备进行自动化测试。一条测试需求可以包含多条自动化测试用例,通过测试需求分析来判定项目中测试自动化要做到什么程度。

如在自动化测试用例的设计上,大体是以正向、反向划分的,一般在自动化测试中,优先考虑实现正向的测试用例后再去实现反向的测试用例,而且反向的测试用例大多都是需要进行分析然后筛选出来的,因为反向的测试用例实在太多了。我们知道,自动化测试是不需要也没有必要做到 100%覆盖率的。所以,在测试需求分析这个阶段,确定测试覆盖率以及自动化测试粒度、测试用例上的筛选等都是重点工作。

5、制定测试计划

在经过了测试需求分析阶段后,项目 PM 和自动化测试组长就该正式起草正式方案了。与以前的测试计划过程一致,只是在原来的测试计划中,添加对项目实施自动化测试所需的资源、测试范围、测试进度的描述。该过程产出物为《测试计划》。

6、自动化测试设计

框架设计、开发与搭建

自动化测试框架是能保证测试的分布执行,脚本模块化,数据驱动,日志分析,错误截图,报表回收,共享对象库,公共函数库,环境配置,统一设计模式,异常处理,场景恢复等的一个无人值守的,针对每个独立项目的测试框架。

7、测试用例设计

自动化测试流程其实跟手工测试流程差不太多,要先编写测试用例,只是被叫作自动化测试用例而已。先设计好自动化测试用例,再严格根据设计完成的测试用例编写测试脚本,这是一种规律、一个过程。此过程产出物为《自动化测试用例》。

自动化测试用例设计和手工测试用例设计是有明显区别的,手工测试用例是从无到有的过程,而自动化测试用例不是的。自动化测试用例是有参考物的,它就是手工测试用例。它有时候可以直接拿来用、有时候需要稍加修改,在此把整个自动化测试用例设计过程分为 3 步:

筛选手工测试用例的过程。

转换手工测试用例的过程。一般转换要素无非两种,一种就是测试用例的格式和规则,另一种就是优化自动化测试业务流程。自动化测试业务流程和手工测。试业务流程还是有一定区别的,自动化测试业务流程更精简、严格。

新增&补充自动化测试用例的过程。

8、测试脚本开发

根据《软件需求规格说明书》、《自动化测试用例》、《系统原型》,录制、调试、编写各个功能点的自动化测试脚本,并添加检查点,进行参数化。该过程还需要编写数据文件处理脚本、日志文件处理脚本、数据库处理脚本、公共检查点处理脚本等等。该过程的产出物是各个功能点的自动化测试脚本和其他公共处理脚本。

此过程需要注意的是:

自动化测试脚本代码必须严谨、规范。

自动化测试脚本需参照自动化测试用例开发,测试用例即是开发参照物。

尽一切可能使自动化测试脚本更智能、高效、稳定、复用性高。

开发过程多利用插桩+断点,检查业务组件是否存在缺陷或代码是否存在漏洞

脚本开发完毕后,至少运行成功 3 次以上,方可认为脚本已经没有问题。

必须使用一款优秀的代码版本管理软件来管理好每一个测试版本的自动化测试脚本,这也是自动化测试项目中非常重要的环节。

9、自动化测试数据设计

根据《软件需求规格说明书》、《自动化测试用例》设计出对各个功能点和相关业务规则进行测试的输入数据和预期输出,填写入对应的数据文件中。该过程的产出物是各个功能点的数据文件。

10、自动化测试执行

测试脚本开发完成后就要对测试脚本进行管理,执行;

测试脚本的执行主要包含如下内容:

测试环境的管理配置

测试脚本配置

测试脚本的执行

测试异常中断处理和恢复

11、自动化测试结果分析

对测试结果文件中报告错误的记录进行分析,如果确实是由于被测系统的缺陷导致,则提交缺陷报告。对自动化测试的结果进行总结,分析系统存在的问题,提交《测试报告》。

12、自动化测试脚本维护

如果系统发生变更时,对自动化测试脚本和相关文档包括《自动化测试用例》、《自动化脚本设计说明书》进行维护,以适应变更后的系统。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网与智慧城市的融合:构建智能化、便捷化、绿色化的城市未来

一、引言 随着科技的飞速发展和城市化的不断推进,物联网技术正逐步渗透到城市的各个领域,成为推动智慧城市建设的核心力量。物联网与智慧城市的融合,不仅为城市治理提供了高效、智能的解决方案,也为市民的生活带来了前所未有的便…

canvas坐标系统 webgl坐标系统 uv纹理坐标系统 原点

一、canvas原点在左上角,x轴正方向向右,y轴正方向向下,一个点对应一个像素 二、webgl原点在正中间,x轴正方向向右,y轴正方向向上,数据显示范围在[-1,1]之间,超过此范围不显示数据 三、uv原点在左…

【wpf】关于绑定的一点明悟

背景简介 软件功能为,读取一个文件夹下的所有子文件夹,每个文件夹对自动对应生成 一组 “按键四个勾选” 按键点击触发,可以发送与其对应文件夹中的一些内容。这个绑定的过程我在之前的文章有过详细的介绍,非常的简单。 这里回顾…

白话大模型② | 如何提升AI分析的准确性?

白话大模型系列共六篇文章,将通俗易懂的解读大模型相关的专业术语。本文为第二篇:如何提升AI分析的准确性? 作者:星环科技 人工智能产品部 面对AI分析落地时的数量化、准确性、泛化性等问题,让我们稍微深入了解下当前…

【Linux C | 网络编程】getaddrinfo 函数详解及C语言例子

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Redis冲冲冲——事务支持,AOF和RDB持久化

目录 引出Redis事务支持,AOF和RDB持久化1、Redis的事务支持2、Redis的持久化 Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Redis冲冲冲——事务支持,AOF和RDB持久化 Redis事务支持,AOF和…

Find My扫地机器人|苹果Find My技术与机器人结合,智能防丢,全球定位

扫地机器人又称自动打扫机、智能吸尘、机器人吸尘器等,是智能家电的一种,能凭借人工智能,自动在房间内完成地板清理工作。一般采用刷扫和真空方式,将地面杂物先吸纳进入自身的垃圾收纳盒,从而完成地面清理的功能。现今…

LabVIEW和Python开发微细车削控制系统

LabVIEW和Python开发微细车削控制系统 为满足现代精密加工的需求,开发了一套基于LabVIEW和Python的微细车削控制系统。该系统通过模块化设计,实现了高精度的加工控制和G代码的自动生成,有效提高了微细车削加工的自动化水平和编程效率。 项目…

C 嵌入式系统设计模式 16:循环执行模式

本书的原著为:《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》,讲解的是嵌入式系统设计模式,是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述嵌入式并发和资源管理模式之二…

mybatis-plus逆向自动生成代码总结记录

使用mybatis-plus&#xff08;mp&#xff09;自动生成各个层的代码&#xff0c;减轻开发工作&#xff0c;不过现在用mybatis-flex的越来越多,综合性能更好。 1.pom文件简要 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boo…

初学Vue总结

0 Vue概述 问题&#xff1a;我们已经学过了htmlCssjavascript,可以开发前端页面了&#xff0c;但会发现&#xff0c;效率太低了。那么&#xff0c;有没有什么工具可以提高我们的开发效率&#xff0c;加快开发速度呢&#xff1f; 他来了&#xff0c;他来了&#xff0c;他大佬似…

光耦合器在电路板上的作用

在不断创新的电子世界中&#xff0c;一个关键组件在确保电子设备无缝运行方面默默地发挥着至关重要的作用&#xff1a;光耦合器。光耦合器经常被普通消费者忽视&#xff0c;它是电路板上的无名英雄&#xff0c;在维护电子系统的完整性和安全性方面发挥着关键作用。 什么是光耦合…

ventoy制作启动U盘

Ventoy新一代多系统启动U盘解决方案。国产开源U盘启动制作工具&#xff0c;支持Legacy BIOS和UEFI模式&#xff0c;理论上几乎支持任何ISO镜像文件&#xff0c;支持加载多个不同类型的ISO文件启动&#xff0c;无需反复地格式化U盘。把ISO系统文件拷贝到U盘&#xff0c;U盘插入电…

Springboot 3.0

一、Springboot3.0介绍 1.1、 Springboot3.0概述 在2022 年 11 月 24 日Spring Boot 3.0 现已正式发布&#xff0c;它包含了 12 个月以来 151 个开发者的 5700 多次代码提交。这是自 4.5 年前发布 2.0 以来&#xff0c;Spring Boot 的第一次重大修订。 它也是第一个支持 Spr…

化是渐化,变是顿变:一窥 OpenAI Sora 相关技术的演进

编者按&#xff1a; 近期&#xff0c;OpenAI 发布通用视觉大模型 Sora &#xff0c;这也是继文本模型ChatGPT和图片模型Dall-E之后&#xff0c;又一极具颠覆性的大模型产品&#xff0c;人们重新思考了生成式 AI 在视觉内容创作领域的应用前景&#xff0c;内容创作工作流有望被颠…

ETH网络中的区块链

回顾BTC网络的区块链系统 什么是区块链&#xff1f;BTC网络是如何运行的&#xff1f;BTC交易模式 - UXTO ETH网络中的区块链 ETH网络的基石依旧是 区块链。上面 什么是区块链&#xff1f; 的文章依旧适用。 相比BTC网络&#xff0c;ETH网络的账户系统就相对复杂&#xff0c;所…

【论文阅读-PRIVGUARD】Day4:3节

3 PRIVANALYZER&#xff1a;强制执行隐私政策的静态分析 本节介绍PRIVANALYZER&#xff0c;这是一个用于强制执行由PRIVGUARD追踪的隐私政策的静态分析器**。我们首先回顾LEGALEASE政策语言&#xff0c;我们使用它来正式编码政策&#xff0c;然后描述如何静态地强制执行它们**…

储能:第十四届中国国际储能展览会在杭州国际博览中心召开

数字储能网讯&#xff1a;由中国化学与物理电源行业协会主办&#xff0c;中国化学与物理电源行业协会储能应用分会和中国储能网联合承办的第十四届中国国际储能大会暨展览会将于2024年3月10-12日在杭州国际博览中心召开&#xff0c;大会主题为“共建储能生态链&#xff0c;共创…

Java毕业设计-基于springboot开发的农机设备电招平台系统-毕业论文+答辩PPT(有源代码)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台功能模块2.1管理员功能模块2.2 农机机主功能模块2.3 使用者功能模块 四、毕设内容和源代码获取总结 Java毕业…

从理论到落地,大模型评测体系综合指南

1956年夏&#xff0c;“人工智能” 这一概念被提出。距今已有近70年的发展历史。中国科学院将其划分为六个阶段&#xff1a;起步发展期&#xff08;1956年—1960s&#xff09;&#xff0c;反思发展期&#xff08;1960s-1970s&#xff09;,应用发展期&#xff08;1970s-1980s),低…