软件自动化测试工具使用应该注意的事项

news2024/10/7 8:29:59

【软件测试面试突击班】如何逼自己一周刷完软件测试八股文教程,刷完面试就稳了,你也可以当高薪软件测试工程师(自动化测试)

自动化测试正在逐步取代部分手动测试,因为它可以节省时间并提高测试质量。特别是在进行回归测试的情况下,自动化可以通过多种方式提高效率。手动进行重复测试是浪费时间和资源。此外,由于重复测试可能会遗漏,因此存在一定的错误范围,但是自动化中发生错误的可能性很小。但是什么是自动化测试?简单来说,自动化测试就是通过重复执行预定义的动作来执行测试用例的系统来代替人工操作。为了充分利用自动化,必须选择正确的自动化测试工具。

自动化测试工具的类型
记录和重放:此类别中的工具为自动脚本提供了记录选项。屏幕上的每个交互(例如点击,滚动或键入)都将被记录并转换为自动化步骤。可以重播已录制的脚本以执行操作并验证。

基于坐标的识别:此类工具在x/y坐标的帮助下与被测应用程序交互,以自动化和验证应用程序。

本机对象识别:使用本机对象识别的工具可检测给定元素树上的UI或控件元素。该树由XPATH,XML或CSS构建,以标识元素,验证和自动化脚本。

文字识别:文本识别:文本识别或(OCR)光学字符识别工具可根据其文本识别元素。这些工具使用可见文本来推动自动化并验证应用程序。

图像识别:这些工具会获取产品中UI元素的屏幕截图,以将其添加到自动化脚本中。这些屏幕截图将帮助AUT自动执行。

许多测试自动化工具支持多种识别方法,这对于获取更强大的自动化脚本很有用。现在让我们看看选择自动化测试工具时要考虑的因素。

自动化测试工具本身也是软件,也要重视工具本身的质量
自动化测试工具也是通过编写代码实现的,所以肯定也存在缺陷或不符合软件测试需求或者产品需求的地方。在工作中经常会发生如下情形:当自动化测试工具显示出某个测试用例的测试结果没有通过,然后开发工程师对相应部分的产品代码进行排查,同时测试工程师配合开发工程师也对测试代码以及测试数据进行排查,最后发现没通过的原因可能在产品代码上,也可能在测试代码上,还可能在测试数据上。为了提高测试代码的质量,通常采用以下两种方法。   (1)书写测试代码前,先对相应的测试用例进行严格的评审工作。使得开发、测试、运维以及需求人员在早起对于产品的需求就有一致的理解。   (2)当测试代码书写完毕,对测试代码进行严格的验证。   (3)检查是否存在测试数据发生问题,建议采用测试数据与测试代码分离的机制。 由于测试代码相对于产品代码简单,所以走读检查比较容易实施。虽然对测试用例评审与对测试代码走读都很费时间和精力,但这是控制测试代码质量的最好办法。对测试用例的评审、对测试代码的走读最好由专门的负责人员安排专门的场所(如会议室)进行,如有可能,最好请相关人员,如软件测试工程师、开发工程师、需求工程师、运维工程师一起参加,以便更有效地达到评审或走读的效果。

自动化测试工具要随用户的需求变化而变化
百度百科中提到,“自动化测试的前提条件之一是软件需求变动不频繁”。但是,现实情况是用户的需求经常变化。而“拥抱变化”是敏捷开发提倡的一个理念,所以,使用自动化工具进行软件测试时,需要注意:当用户的需求发生变更时,开发要及时调整产品代码,与此同时,测试工程师也应该及时对测试代码进行调整。

不是所有的功能都可以作自动化测试
在软件测试界一直以来有一句非常经典的话:“自动化测试永远代替不了手工测试”。 使用自动化测试工具的同行都会感受到自动化测试工具给工作带来的便利,但是并不是所有的功能都可以通过自动化测试方式来实现,如James Whittaker在他的《探索式软件测试》一书中提到的超模软件测试(其实就是一种用户体验性测试),由于这种类型的软件测试没有统一的标准,且具有一定的主观性,所以不适合用自动化方式来进行测试

探索式软件测试也可由自动化测试来实现
“探索式软件测试”是软件测试专家CemKaner博士于1983年提出,由于它符合快速交付的理论,且随着近年来敏捷和DevOps的兴起,探索式软件测试也被重新提出。但是,许多人可能存在一种误解,认为探索式软件测试只能通过手工测试的方法实现,而不能采用自动化测试。然而,就像James Whittaker在《探索式软件测试》一书中提到的“强迫症软件测试法”,由于这种方法具有典型的机械重复性,所以最好采用自动化工具来实现,这样可以节省很多精力,还可以带来很好的效果。

是否需要采用自动化测试,需要考虑测试的效率
自动化测试虽好,但它也具有一定的局限性。如果采用现有的自动化测试工具,那么学习、熟悉、了解这些自动化测试工具要花费一定的时间和精力。如果自己开发自动化测试工具,开发的过程更要花费相当的时间和人力。所以,对于一些需求还不稳定,需求变化很频繁或者对特定客户订制的一些很容易用手工测试来进行的小的功能,就不需要用自动化测试方式了。

自动化测试可以覆盖软件测试中的每个阶段
很多刚入门的软件测试的新手往往认为自动化测试只限于系统测试和验收测试,而不适用于单元测试和集成测试,其实,这不完全正确的。开源工具JUnit、TestNG、unittest、Pytest以及ParaSoft公司出品的Jtest、Ctest、C++Test和Google公司开发的Gtest等工具都是基于单元测试或集成测试的。但是它们也承担了接口测试和基于GUI测试的测试框架的角色。

不要盲目选用现有的自动化测试工具
最后:【可能给你带来帮助的教程】
  下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

 

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

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

相关文章

详解Renko图表如何表现价格变动

相信大多数投资者与FPmarkets澳福一样,都已发现Renko图表与日本烛台图一样,具有上升和下降的特性。增长期间的典型砖块颜色为绿色或白色,而衰退期前的Renko则呈现红色或黑色。 今天,FPmarkets澳福将与各位投资者共同探讨Renko图表…

小红书AI绘画头像号,私域引流4000+人的暴力流量玩法

本期是赤辰第30期AI项目教程,底部准备了9月粉丝福利,可以免费领取。 今天给大家分享在小红书上强引流项目玩法:AI头像壁纸号,都知道,壁纸/头像/漫改,一直是蓝海项目,流量大且好变现,…

飞桨EasyDL-Mac本地部署离线SDK-Linux集成Python

前言:本文对使用飞桨EasyDL桌面版实现本地部署物体检测做一下说明 一、训练模型 如何使用飞桨EasyDL桌面版这里就不再赘述,直接参照官方文档进行物体检测模型训练。 飞桨EasyDL桌面版-用零代码开发实现物体检测https://ai.baidu.com/ai-doc/EASYDL/Tl2…

内存函数 memcpy 和 memmove 的讲解和模拟实现

目录 一.什么是 memcpy 函数 模拟思路 代码实现 二.什么是 memmove 函数 模拟思路 代码实现 一.什么是 memcpy 函数 我们打开 cplusplus 官网查看: memcpy - C Reference (cplusplus.com) 官方文本显示: 内存复制块 将 num 字节的值从源指向的位置…

怎样防止员工泄露技术?(十条避免公司泄密的措施)

在当今信息化社会,公司信息的安全性和保密性显得尤为重要。一旦公司信息泄露,不仅会对公司的经营造成严重影响,还可能引发法律纠纷。因此,采取有效的措施来防止公司信息泄露是非常必要的。以下是一些具体的措施: 部署洞…

makedown语法及相关语法格式

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

Linux学习记录——삼십 socket编程---udp套接字

文章目录 UDP套接字简单通信1、服务端1、创建文件,写框架2、用命令行参数调起程序3、服务端运行逻辑 2、客户端1、创建套接字2、发送数据 3、测试4、通信5、加功能1、处理数据2、群聊 6、Windows下socket编程的不同 UDP套接字简单通信 1、服务端 1、创建文件&…

手动部署 OceanBase 集群

手动部署一个 OB 单副本集群,包括一个 OBProxy 节点 部署环境 服务器信息 IP地址 192.168.0.26 网卡名 ifcfg-enp1s0 OS Kylin Linux Advanced Server release V10 CPU 8C 内存 32G 磁盘1 本地盘 /data/1 磁盘2 本地盘 /data/log1 机器和角色划分 …

Python之使用PySimpleGUI打造桌面应用

PySimpleGUI 是一款比较新的, 基于Python实现的GUI图形库, 他桌面的布局方式采用的是列表方式实现的. Github 仓库地址: github.com/PySimpleGUI… 安装 使用 pip 工具安装即可 shell 复制代码 pip install PySimpleGUI简单的交互 代码 py 复制代码 import PySimpleGUI as …

LeetCode 416.分割等和子集(动态规划【0-1背包问题】采用一维数组dp:滚动数组)

>>往期文章: 解决0-1背包问题(方案一):二维dp数组_呵呵哒( ̄▽ ̄)"的博客-CSDN博客 解决0-1背包问题(方案二):一维dp数组(滚动数组)_呵呵哒(&…

【前端】零基础快速搞定JavaScript核心知识点

【前端】零基础快速搞定JavaScript核心知识点 1.初识JavaScript 1.1.JavaScript语言简介 (1)简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机…

OpenCV直方图的原理与显示、掩膜、均衡化、自适应均衡化

直方图 1 灰度直方图 1.1直方图的绘制和计算 代码实现 import numpy as np import cv2 as cv import matplotlib.pyplot as plt#直接以灰度图的方式读入img cv.imread("lena.png",0)#统计灰度图 histr cv.calcHist([img],[0],None,[256],[0,256]) 使用 OpenCV 的 c…

list容器排序案例

案例描述:将Perspn自定义数据类型进行排序&#xff0c;Person中属性有姓名、年龄、身高 排序规则:按照年龄进行升序&#xff0c;如果年龄相同按照身高进行降序 代码示例 #include <iostream> #include <string.h> #include <iterator> #include <vector…

java-- 字符串+拼接详解, 性能调优 (底层原理实现)

目录 简单了解一下字符串 String类里面是如何存放字符串的? String的不可变性 字符串拼接的方法 1.使用拼接字符串 2. 使用concat 3. 使用StringBuilder 4.StringBuffer 使用字符串拼接的原理 使用concat StringBuilder 效率比较 简单了解一下字符串 字符串在java…

Flink---5、聚合算子、用户自定义函数、物理分区算子、分流、合流

星光下的赶路人star的个人主页 欲买桂花同载酒&#xff0c;终不似&#xff0c;少年游 文章目录 1、 聚合算子1.1 按键分区&#xff08;KeyBy&#xff09;1.2 简单聚合&#xff08;Sum/Min/MinBy/MaxBy&#xff09;1.3 归约聚合&#xff08;Reduce&#xff09; 2、用户自定义函数…

redis实战-实现笔记点赞和点赞排行榜

发布探店笔记 探店笔记类似点评网站的评价&#xff0c;往往是图文结合。对应的表有两个&#xff1a; tb_blog&#xff1a;探店笔记表&#xff0c;包含笔记中的标题、文字、图片等 tb_blog_comments&#xff1a;其他用户对探店笔记的评价 保存笔记service层 Overridepublic Re…

实例讲解Spring boot动态切换数据源

前言 在公司的系统里&#xff0c;由于数据量较大&#xff0c;所以配置了多个数据源&#xff0c;它会根据用户所在的地区去查询那一个数据库&#xff0c;这样就产生了动态切换数据源的场景。 今天&#xff0c;就模拟一下在主库查询订单信息查询不到的时候&#xff0c;切换数据…

什么是UWB定位技术?UWB定位的应用场景及功能介绍

说到定位我们并不陌生&#xff0c;定位技术一直与我们的生活密不可分&#xff0c;比如最常见的车辆导航。 根据使用场景&#xff0c;定位技术分为室内定位和室外定位。 室外定位主要依靠GPS&#xff0c;北斗&#xff0c;GLONASS&#xff0c;伽利略等全球卫星定位导航系统。室内…

系统集成|第十一章(笔记)

目录 第十一章 项目人力资源管理11.1 项目人力资源管理的定义及有关概念11.2 主要过程11.2.1 编制项目人力资源管理计划11.2.2 组建项目团队11.2.3 建设项目团队11.2.4 管理项目团队 11.3 现代激励理论11.4 项目经理所需具备的影响力11.5 常见问题 上篇&#xff1a;第十章、质量…

有效保护敏感数据的最佳实践

在当今数据驱动的环境中&#xff0c;数据就是力量&#xff0c;组织仍然高度关注如何利用其数据进行 BI、分析和其他业务驱动计划。 事实上&#xff0c;最近的研究表明&#xff0c;数据领导者的主要动机是对高质量分析洞察的需求&#xff0c;而不是合规性。 然而&#xff0c;…