对自动化测试的一些见解

news2024/11/17 7:41:26

1、手工测试和自动化测试用例

  手工测试用例是针对功能测试人员的,而自动化测试用例是针对自动化测试用例框架或工具的。

1)手工测试用例特点

  较好的异常处理能力,能通过人为的逻辑判断校验当前步骤是否正确实现;

  人工执行用例具有一定步骤跳跃性;

  人工测试步步跟踪,能够细致定位问题;

  主要用来发现功能缺陷;

2)自动化测试用例特点

  执行对象是脚本,任何一个盘算都需要编码定义;

  用例步骤之间关联性强;

  主要用来保证产品主体功能正确和完整,让测试人员从繁琐重复的工作中解脱出来;

  目前自动化测试阶段定位在冒烟测试和回归测试。

  (注意:通过对比发现,自动化测试不能完全替代手工测试,自动化测试的目的仅仅在于让测试人员从繁琐重复的测试流程中解脱出来,把更多的时间和精力放在更有价值的测试中,例如探索性测试。)

3)自动化测试用例注意事项

①不是所有手工测试用例都要转为自动化测试用例;

②考虑到脚本开发成本,不要选择流程太复杂的用例,如果有必要,可以考虑把流程拆分成多个用例来实现脚本;

③选择的用例最好可以构建场景。例如,一个功能模块,分成多个用例,多个用例使用同一个场景,这样的好处在于方便构建关键字测试模型;

④选择用例可以带有目的性。例如,这部分用例作冒烟测试等,当然,会存在重叠关系,如果当前用例不满足需求,那么唯有修改用例来适应脚本和需求;

⑤选取的用例可以是主体流程,这部分用于冒烟测试(如果不了解专业术语,下来要花费功夫哦);

⑥选取的测试用例可以是你认为重复执行,很猥琐的部分。例如字段验证、提示信息验证之类,这部分适用于回归测试;

⑦自动化测试也可以用来做配置检查、数据库检查。这些可能超过了手工用例,但也算用例拓展的一部分,项目负责人可以有选择的增加;

⑧平时在手工测试时,如果需要构造一些复杂的数据或重复一些简单的机械式动作,则告诉脚本,让它来帮你,或许你的效率会因此提高。

  2、自动化测试类型

1)测试静态内容

  静态内容测试是最简单的测试,用于验证静态的、不变的ui元素的存在性,例如:

①每个页面都有预期的页面标题,这可以用来验证链接指向一个预期页面;

②应用程序的主页包含一个应该在页面顶部的图片;

③网站的每个页面是否包含一个页脚区域来显示公司的联系方式、隐私政策以及商标信息等;

④每一页的标题文本都使用<h1>标签吗?每个页面是否都有正确的头部文本;

  你可能需要(也可能不需要)对页面内容进行自动化测试。如果你的网页是不易受到影响的,则手工对内容进行测试就足够了。假设你的应用文件的位置移动了,则内容测试就非常有价值。

2)测试链接

  web站点的一个常见错误为失效的链接或链接指向无效页。链接测试涉及各个链接和验证预期的页面是否存在。如果静态链接不经常更改,则手动测试就足够了。但是,如果你的网页设计师经常修改链接或者文件不时被重定向,则链接测试应该实现自动化。

3)功能测试

  在你的应用程序中,需要测试应用的特定功能,需要一些类型的用户输入,并返回某种类型的结果,通常一个功能测试涉及多个页面,一个基于表单的输入页面,其中包含若干输入字段,提交和取消操作,以及一个或多个响应页面。用户输入可以通过文本输入域、复选框、下拉列表,或任何其他浏览器所支持输入。

  功能测试通常是需要自动化测试的最复杂的测试类型,但通常也是最重要的。典型的测试是登陆,**网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等。功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景。

4)测试动态元素

  通常网页元素都有唯一的标识符,用于唯一的定位该网页的元素。通常情况下,唯一标识符用html标记的id属性或name属性来实现。

5)Ajax的测试

Ajax是一种支持以及动态改变用户界面元素的技术。页面元素可以动态更改,但不需要浏览器重新载入页面,如动画,RSS源、其他实时数据更新等。

Ajax有无数更新网页上元素的放大,最简单的方式是在Ajax驱动的应用程序中,数据可以从应用服务器检索,然后显示在页面上,而不需要重新加载整个页面,只有一小部分的页面,或者只有元素本身重新被加载。

  3、自动化测试用例编写原则

  最后,跟大家分享一下自动化测试用例编写原则:

①一个用例为一个完整的场景,从用户登录系统到 最终退出并关闭浏览器

②一个用例只验证一个功能点,不要试图在用户登录系统后把所有功能都验证一遍;

③尽可能少的编写逆向逻辑用例。一方面因为逆向逻辑的用力很多(例如,手机号输错有几十种情况),另一个方面自动化脚本本身比较脆弱,复杂的逆向逻辑用例实现起来比较麻烦且容易出错。

④用例与用例之间尽量避免产生依赖。

⑤一条用例完成测试之后需要对测试场景进行还原,以免影响其他用例的执行。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

资料获取方式:点击右边链接领取:软件测试全套资料分享 

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

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

相关文章

startsWith()方法的使用

startsWith()方法一般用于检测某请求字符串是否以指定的前缀开始的。 例如&#xff1a;服务器要判断某个请求是否合规&#xff0c;首先确定协议&#xff0c;比如http、ftp等&#xff0c;这时&#xff0c;就可以用startsWith()。 startsWith 是则返回true&#xff0c;否则返回…

css自学框架之面板

面板是我们开发中经常用到&#xff0c;也就是页面版面中一块一块的板块&#xff0c;效果如下图&#xff1a; 一、css代码 .myth-panel {background-color: var(--white);border: solid 1px transparent;}.myth-panel .myth-panel-header {border-bottom: solid 1px transpar…

一种重要的天然氨基酸L-Homopropargylglycine(HPG)|CAS:942518-19-6

产品简介&#xff1a;L-Homopropargylglycine是一种重要的天然氨基酸&#xff0c;具有多种生物活性和医学应用价值。它广泛应用于生物学、药学、化学等多个领域。在生物学中&#xff0c;HPG被用作蛋白质合成的标记物&#xff0c;可以通过其特殊的化学反应与蛋白质中的半胱氨酸残…

使用HHDBCS管理MongoDB

1 连接MongoDB 打开HHDBCS&#xff0c;在数据库类型中选择mongodb&#xff0c;填入相关信息&#xff0c;点击“登陆”即可。 也可以使用SSH通道进行登陆。 2 命令窗口 点击命令窗口&#xff0c;可以对数据库发出指令。 可以根据个人习惯&#xff0c;对命令窗口进行设置…

基于springboot实现自习室预订系统的设计与实现项目【项目源码+论文说明】

基于springboot实现自习室预订系统的设计与实现演示 摘要 在网络高速发展的时代&#xff0c;众多的软件被开发出来&#xff0c;给学生带来了很大的选择余地&#xff0c;而且人们越来越追求更个性的需求。在这种时代背景下&#xff0c;学院只能以学生为导向&#xff0c;所以自习…

verdi显示OVM/UVM Hierarchy View

verdi显示OVM/UVM Hierarchy View 背景 使用vcsverdiUVM进行UVM debug的时候&#xff0c;verdi加载的时候看不到UVM树形结构图 解决办法 simv UVM_VERDI_TRACE“UVM_AWAREHIER” -guiverdi 2023-10-9 打开界面后&#xff0c;并不会直接显示树形层级 需要先仿真一定时间&#x…

工资「喂饱肚子」,副业「养活灵魂」!职场人的生存之道

文章目录 工资&#xff1a;生计的基础1. 收入局限性2. 缺乏多样性3. 有限的时间投入 副业&#xff1a;充实生活的机会1. 增加收入2. 提升技能3. 追求兴趣4. 增强创造力5. 实现梦想 如何找到适合的副业&#xff1f;1. 确定兴趣和技能2. 市场需求3. 时间和资源4. 资金投入5. 建立…

vue elementui <el-date-picker>日期选择框限制只能选择90天内的日期(包括今天)

之前也写过其他限制日期的语句&#xff0c;感觉用dayjs()的subtract()和add()也挺方便易懂的&#xff0c;以此记录 安装dayjs npm install dayjs --save dayjs().add(value : Number, unit : String); dayjs().add(7, day); //在当前的基础上加7天dayjs().subtract(value : N…

ElasticSearch搜索引擎常见面试题总结

一、ElasticSearch基础&#xff1a; 1、什么是Elasticsearch&#xff1a; Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎&#xff0c;每个字段都被索引并可被搜索&#xff0c;可以快速存储、搜索、分析海量的数据。全文检索是指对每一个词建立一个索引&am…

“微信多账号聚合聊天:轻松管理,高效沟通“

一、什么是微信多账号聚合聊天&#xff1f; 微信多账号聚合聊天&#xff0c;顾名思义&#xff0c;就是将多个微信账号聚合在一个聊天窗口中进行管理&#xff0c;实现一键切换&#xff0c;快速沟通。这不仅省去了频繁切换微信账号的麻烦&#xff0c;还提高了沟通效率。 二、微…

可拓展的低代码全栈框架

尽管现在越来越多的人开始对低代码开发感兴趣&#xff0c;但已有低代码方案的局限性仍然让大家有所保留。其中最常见的担忧莫过于低代码缺乏灵活性以及容易被厂商锁定。 显然这样的担忧是合理的&#xff0c;因为大家都不希望在实现特定功能的时候才发现低代码平台无法支持&…

竞赛 深度学习 python opencv 火焰检测识别

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

.NET ABP.Zero 项目疑似内存排查历程

当前项目是 .NET 5 EentityFrameworkCore&#xff0c;疑似内存泄漏&#xff0c;之所以说是疑似是因为到目前位置还没有能准确的定位到问题。当前这个框架从 .NET Core 2.1 就开始用&#xff0c;期间有升级到 3.1、5.0、6.0&#xff0c;在排查过程中还把 5.0 分支升级到了 7.0 。…

NanoPC-T4 RK3399:移植U-Boot

一:启动流程 瑞芯微平台目前支持两种启动方式,本系列只针对完全开源方式做详细讲解: 1、完全开源方式:使用 U-Boot TPL/SPL,源码可来自主流U-boot开源代码或瑞芯微SDK(在主流源码上做针对性优化) 2、不开源方式:使用rockchip idbloader,由rockchip ddr init bin和min…

delphi调用edge的截图功能

一、设置edge中截图的快捷键。 二、代码&#xff1a; constVK_CONTROL $11;VK_4 $34;procedure SendCtrl4ToDesktopVirtualKeyboard; begin// 模拟Ctrl键按下keybd_event(VK_CONTROL, 0, 0, 0);// 模拟4键按下keybd_event(VK_4, 0, 0, 0);// 模拟4键释放keybd_event(VK_4, 0…

JVM监控及诊断工具-GUI篇

文章目录 JVM监控及诊断工具-GUI篇工具概述JConsoleVisual VM再谈内存泄漏Java中内存泄漏的8种情况Arthas&#xff08;阿尔萨斯&#xff09; JVM监控及诊断工具-GUI篇 工具概述 使用上一章命令行工具或组合能获取目标Java应用性能相关的基础信息&#xff0c;但它们存在下列局…

JavaScript入门——基础知识(4)

一、for语句 1.1 for语句的基本使用 1.1.1 for循环语法 作用&#xff1a;重复执行代码 好处&#xff1a;把声明起始值、循环条件、变化值写到一起&#xff0c;让人一目了然&#xff0c;它是最常使用的循环形式 for(变量起始值;终止条件;变量变化量){// 循环体 } <script&g…

gici-open示例数据运行(ground_truth坐标的转换)

1. 坐标系转换说明 涉及的两个坐标转换&#xff1a; nmea_pose_to_pose &#xff1a;激光IMU中心到数据集IMU中心&#xff0c;主要是杆臂误差&#xff0c;转换关系为&#xff1a; //坐标转换的主要步骤(若发现有错误的地方&#xff0c;请评论指出) //定义激光IMU和数据集IMU之…

springboot项目做成公共项目

一&#xff1a;引言 最近碰到个需求&#xff0c;就是把我项目做成一个公共的提供jar包给别人使用&#xff0c;我也是捣鼓了一段时间去研究这个问题&#xff0c;这个东西其实就是A 项目提供jar包给B项目&#xff0c;B项目只要引入A项目的jar包就可以使用A项目的功能。 问题一&…

Jumpserver安全一窥:Sep系列漏洞深度解析

Jumpserver是中国国内公司开发的一个开源项目&#xff0c;在开源堡垒机领域一家独大。在2023年9月官方集中修复了一系列安全问题&#xff0c;其中涉及到如下安全漏洞&#xff1a; JumpServer 重置密码验证码可被计算推演的漏洞&#xff0c;CVE编号为CVE-2023-42820JumpServer 重…