自动化测试的类型​以及自动化测试的几个误区!

news2025/2/24 11:34:44

有三种主要类型的自动化测试。

一、自动化单元测试​编辑

自动化单元测试在代码级别上进行测试。bug是在开发人 员编写的函数、方法和例程中识别出来的。

一些公司要求开发人员自己进行单元测试,而有些公司则雇用专门的测试自动化资源。这些资源可以访问源代码,它们编写单元测试来破坏生产代码。由于单元测试的存在,每当代码编译时,所有单元测试都会运行,并告诉我们是否所有功能都正常工作。如果任何单元测试失败,这意味着现在生产代码中存在一个bug。

市场上最流行的一些工具是NUnit和联合股。微软还提供了自己的单元测试框架,称为MSTest。通过这些工具的网站,他们将提供如何编写单元测试的示例和教程。

二、自动化Web服务/API测试

应用程序编程接口(API)使软件能够与其他软件应用程序进行对话。就像任何其他软件一样,API也需要进行测试。在这种测试中,桂通常不涉及。

我们在这里测试的通常是功能、遵从性和安全性问题。在Web应用程序中,我们可以测试应用程序的请求和响应是否安全和加密。

这是我们可以使用API测试的示例之一。最流行的api测试工具是SOAPUI它既有免费版本也有付费版本。还有其他工具,您可以根据需要使用这些工具。

三、自动GUI测试​编辑

这种类型的自动化测试是最严格的自动化形式,因为它涉及应用程序的用户界面测试。

这很难,因为GUI很容易改变。但是,这种类型的测试也最接近于用户对我们的应用程序所做的操作。由于用户将使用鼠标和键盘,自动GUI测试也通过使用鼠标和键盘来单击或写入用户界面上的对象来模仿相同的行为。因此,我们可以尽早发现bug,并且可以在许多场景中使用,比如回归测试或填充表单,这需要花费太多的时间。

最流行的GUI测试工具是QTP(现称UFT), 硒, 测试完成和Microsoft编码UI(这是VisualStudio终极版和高级版的一部分)。

四、自动化测试的几个误区

多年来,我听到了一些关于测试自动化的误解。我想我也应该在这篇文章中澄清这些问题。

误解#1. 自动化将取代手动测试人员。

测试自动化是为了帮助测试人员以更快、更可靠的方式进行测试。它永远无法取代人类。

把测试自动化想象成一辆汽车。如果你走路,你大约要花20分钟才能到达你的家。但是如果你用一辆车,两分钟内你就会到达。汽车的司机仍然是你,一个人,但是.汽车帮助人类更快地实现他/她的目标。而且,你的大部分精力都被节省了,因为你没有走路。所以你可以利用这些能量来做更重要的事情。

自动化测试也是如此。您可以使用它快速测试大部分重复的、冗长的、乏味的测试,并节省您的时间和精力来集中精力和测试新的和重要的功能。

如詹姆斯·巴赫一句精彩的话说:

“工具是不会测试的。只有人来测试。工具只执行“帮助”人们测试的操作。

工具可以单击对象。但是点击的位置总是由手动测试人员来告诉的。我想你现在明白我的意思了。

误解2. 阳光下的一切都可以自动实现。

如果您尝试100%地自动化您的测试用例,也许您将能够这样做,但是如果您可以这样做,那么我们的第一点就会变成错误。因为如果一切都是自动化的,手动测试人员将做什么?

困惑?对吗?

实际上,关键是,您不能100%地自动化您的测试用例。因为我们,作为测试人员,相信没有一个应用程序可以100%测试。总会有一些我们会错过的情景。只有当客户端使用您的应用程序时,才会出现bug。

因此,如果应用程序无法进行100%的测试,如何保证100%的自动化?

而且,您能够自动化所有现有测试用例的可能性非常小。总是有一些场景很难自动化,而且更容易手工完成。

例如一个用户输入数据,第二个用户批准数据,第三个用户查看数据,第四个用户禁止查看数据。这些场景可以自动化,但它们需要大量的时间和精力。所以如果你只需要手动的话就更容易了。

请记住,我们使用汽车的距离,但可能会有很长的信号在路上,会有燃料消耗,会有停车空间的问题,停车收费和更多的头痛。在某些情况下,我们只需步行到达目的地:).

因此,您不应该尝试自动化一切。只需要自动化那些重要的场景,并且需要花费大量的时间来手动完成。

误解#3. 自动化只涉及录制和播放。

请不要生活在幻想的世界里。这种幻想实际上是由来自不同自动化工具供应商的虚假广告造成的。他们说,您只需记录和播放您的步骤,您的测试用例将被自动化。这是个大谎言!

自动化就是一切,除了录音和回放。纯自动化工程师通常根本不使用录音和回放功能。录制和回放通常用于了解工具是如何为我们的步骤生成脚本的。

一旦我们了解了脚本,我们总是使用脚本来创建自动化的测试。记住,如果你想要进行测试自动化,你必须知道编程。. 另一方面,如果你不懂编程的话,就不要胆大妄为。因为和任何其他任务一样,编程也可以通过实践和奉献来学习。

我认识一些人,他们甚至不是计算机科学背景的人,但他们学会编程,现在他们是了不起的自动化工程师。在微软,他们雇佣会编程的测试人员。他们被称为SDET(测试软件开发工程师)。职务描述的第一行说:“sdet编写了许多代码….“

请学习编程,不要逃避它。它会让你惊人的测试器

一个组织要实施自动化测试,首先就要对自动化测试有一个正确的理解。我们通常对自动化测试,都会有一些理解误区,比如:

误解#4. 所有测试用例都可以自动化

首先讲所有的测试用例都自动化本身就是不必要的,因为自动化测试要开发测试脚本,而且执行自动化测试,也是需要时间的,把所有测试用例全部自动化,未必就是性价比最高的。

另一方面自动化测试,主要的是用来减少回归测试的工作量,而回归测试,最重要的是避免最基本的功能和最常用的功能受到影响,从这个理论上来说,我们会把最基本的功能和最常用的功能的测试用例进行自动化,这个就足够了。

现在世界上自动化测试率,最高的也只是达到80%左右。

误解#5. 自动化测试找不到bug

自动化测试,主要是避免由于代码的修改导致原有的正确的功能出现bug,而不是去挖掘更多更深层次的bug。更多更深层次的bug,是把测试人员解放出来后,由测试人员通过探索性测试来发现的。

误解#6. 自动化测试一定会马上大量减少测试人员数量

自动化测试虽然会最终减少测试的工作量,但是他不会是立竿见影的,因为你要实现自动化测试,首先就要进行自动化测试脚本的开发和自动化测试环境的搭建,这需要投入大量的人员和精力。自动化测试能够多长时间见到效果,要取决于这个过程的长短。

误解#7. 自动化测试能代替手工测试

自动化测试,只适用于回归测试,对于新功能测试,还是要依赖于测试人员人员设计测试用例,手动执行。

误解#8. 只有性能测试才需要自动化

自动化测试除了应用于性能测试外,还被大量应用于功能测试。

国外有超过半数的自动化测试脚本,都是用于功能验证测试的。

误解#9. 自动化测试太难上手

自动化测试,已经推行了很长时间,在网上可以找到很多自动化测试的框架、工具、教程。如果你真想实施自动化测试,只要安排专业的测试人员上手学习,自动化测试会很容易实现的。

心动不如行动。

最后,自动化测试既没有那么神奇——能够解决测试的所有问题,也不会非常高精尖——那么难以上手,正确认识自动化测试,脚踏实地地实施自动化测试,你就能享受到自动化测试给你带来的收益。

这正是:

谈虎变色不足取,当成银弹不可行

正确认识自动化,脚踏实地去实施

今天的分享就到此结束了,大家还有什么不懂的可以评论区下提问哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下哈

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

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

相关文章

公开研讨会|智能制造中生产管理挑战与解决方案(9月29日)

随着新能源行业的规模化发展,企业增效降本成为迫切需求。生产制造能力成为关键因素,其发展必将是在大规模生产的前提下,追寻极简制造、极限制造以及智能制造。然而在这个发展过程中,企业依旧面临着诸多挑战: 产品设计…

spring boot是如何加载Tomcat的

目录 spring boot是如何加载Tomcat的1. 方法入口2. SpringContext上下文3. 创建web容器4. 启动web容器结语 spring boot是如何加载Tomcat的 大家都用过spring boot,都知道他启动的时候内置一个Tomcat,但是他是怎么来的,你们知道吗 这篇博客…

cudann官网上不见了,找不到了安装CUDA和CUDANN时,发现CUDANN不见了,官网甚至找不到一丝它的信息,公告也没有

我在习惯性的安装CUDA和CUDANN时,发现CUDANN不见了,官网甚至找不到一丝它的信息,公告也没有,看看吐槽 说实话最开始的CUDANN确实比较恼火,要下载下来拷贝过去 现在只需要直接安装cuda,就可以安装成功了 C…

XJAR 混淆加密

一&#xff1a;手动加密 pom依赖 <repositories><repository><id>jitpack.io</id><url>https://jitpack.io</url></repository> </repositories> <dependencies><dependency><groupId>com.github.core-l…

2023年CSP-J 普及组第一轮题目和答案详解

家人们首战报捷&#xff01;&#xff01;&#xff01;&#xff01; 才教了一个月的学生&#xff0c;赛前一周才报名CSP-J都没提前安排初赛内容临时周内加了两节课&#xff0c; 总共初赛也就上了3次课准备了不到一周半&#xff0c;压线进了复赛&#xff0c; 不得不说学生基础还不…

Python是人工智能的最佳选择吗?看看它的优势和局限

人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是当今科技领域最热门的话题之一&#xff0c;它涉及到计算机科学、数学、统计学、心理学等多个学科的交叉和融合。人工智能的目标是让机器能够模拟和超越人类的智能&#xff0c;实现自主学习、推理、决策…

Kotlin协程CoroutineScope异步async取消cancel等待await的任务

Kotlin协程CoroutineScope异步async取消cancel等待await的任务 import kotlinx.coroutines.*fun main(args: Array<String>) {runBlocking {val mScope CoroutineScope(Dispatchers.IO).async {println("->")delay(999999)println("<-")"…

施耐德电气携中国信通院和中国联通共同发布白皮书,共探5G+PLC深度融合应用

2023年9月20日——全球能源管理和自动化领域的数字化转型专家施耐德电气在第23届中国国际工业博览会首日的9月19日&#xff0c;与中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;及中国联合网络通信集团有限公司&#xff08;以下简称“中国联通”&#xff0…

配置 iSCSI 服务并实现客户端自动挂载块设备

文章目录 前言1. iSCSI 简介2. iSCSI Server 端配置2.1. 添加磁盘2.2. 安装 targetcli 软件包2.3. 创建块设备2.4. 创建 Target2.5. 创建 LUN2.6. 创建 ACL2.7. 配置门户创建监听2.8. 查看全部配置信息并保存退出2.9. 启用 Target 服务 3. iSCSI Client 端配置3.1. 安装 iscsi-…

前端框架vBean admin

文章目录 引言I 数据库表设计1.1 用户表1.2 角色表1.3 菜单表II 接口引言 文档:https://doc.vvbin.cn/guide/introduction.html http://doc.vvbin.cn 仓库:https://github.com/vbenjs/vue-vben-admin git clone https://github.com/vbenjs/vue-vben-admin-doc 在线体验demo:…

台积电没有想到,当初拒绝的中国芯片企业,如今反过来抢夺市场了,后悔莫及...

台积电二季度的营收已经出现下滑&#xff0c;本来它希望四季度在以往苹果销售旺季的支持下再度推高收入&#xff0c;然而如今中国手机企业自研的国产5G芯片正在反过来抢占市场&#xff0c;台积电四季度的收入恐怕也将下降。 苹果的销售旺季为每年的四季度&#xff0c;不过此时恰…

通过已有虚拟机快照创建虚拟机

我们在搭建redis、k8s等集群的时候&#xff0c;需要创建多台虚拟机&#xff0c;而且这几台虚拟机的配置基本上是一样的&#xff0c;这种情况下我们可以先创建一台虚拟机&#xff0c;安装需要的应用后导出快照&#xff0c;然后通过快照生成其他的虚拟机 1、生成快照 2、通过快照…

用小程序,轻松识别纸质表格并转换成Excel表格,解放双手

来百度APP 职场小伙伴们&#xff0c;有没有遇到过将纸质表格转化为Excel表格的任务&#xff1f;如果你没有经验&#xff0c;手工处理不仅效率低&#xff0c;而且容易出错。这真是一个费时费力的任务呀&#xff01;但别担心&#xff0c;现在我们有更好的解决方案——百度小程序…

neo4j下载安装配置步骤

目录 一、介绍 简介 Neo4j和JDK版本对应 二、下载 官网下载 直接获取 三、解压缩安装 四、配置环境变量 五、启动测试 一、介绍 简介 Neo4j是一款高性能的图数据库&#xff0c;专门用于存储和处理图形数据。它采用节点、关系和属性的图形结构&#xff0c;非常适用于…

大模型训练之加速篇 -attention优化【MQA-> flashAttention】

MQA (multi query attention) Fast Transformer Decoding: One Write-Head is All You Need MQA 是 19 年提出的一种新的 Attention 机制&#xff0c;其能够在保证模型效果的同时加快 decoder 生成 token 的速度。 那到底能提升多少的速度呢&#xff0c;我们来看论文中给出的结…

慢SQL原因分析之索引失效 | 京东物流技术团队

现象 最近收到一个慢sql工单,慢sql大概是这样&#xff1a;“select xxx from tabel where type 1”。 咦&#xff0c;type字段明明有索引啊&#xff0c;为啥是慢sql呢&#xff1f; 原因 通过执行explain&#xff0c;发现实际上数据库执行了全表扫描&#xff0c;从而被系统…

excel的vlookup函数用法

vlookup函数功能&#xff1a;在表格的首列查找指定的数值&#xff0c;并返回表格当前行中指定列处的数值。 结构&#xff1a;VLOOKUP(查找值,查找区域,列序数,匹配条件) 解释&#xff1a;VLOOKUP(找谁,在哪里找,第几列,0或1) 说明&#xff1a; 1、第一参数&#xff1a;查找…

【Linux is not Unix】Linux前言

目录 二战军工的产物——第一台现代电子数字计算机ENIAC&#xff08;埃尼阿克&#xff09; Unix Linux Linux企业应用现状 如今计算机已经应用在我们生活的各个层面&#xff0c;像我们日常使用的笔记本是计算机的一类&#xff0c;可以解决我们生活中遇到的很多问题&#xff…

【数据分享】2023年全国乡镇(街道)点位数据(免费获取\shp格式\excel格式)

乡镇&#xff08;街道&#xff09;点位数据是我们各项研究中经常使用到的数据&#xff0c;在之前的文章中我们分享过2022年度的乡镇&#xff08;街道&#xff09;点位数据&#xff08;可查看之前推送的文章获悉详情&#xff09;。本次我们带来的是2023年度的全国范围的乡镇&…

Labelme分割标注软件

Labelme分割标注软件 1、环境配置与安装1.1 创建conda虚拟环境(建议)1.2 安装Labelme 2、简单使用2.1 创建label标签文件2.2 启动labelme2.3 打开文件/文件夹2.4 设置保存结果路径2.5 标注目标2.6 保存json文件格式 3 格式转换3.1 转换语义分割标签3.2 转换实例分割标签 相关重…