自动化测试概况和认知

news2024/11/16 1:25:43

前言

书中说测试架构师掌握自动化测试的目的不是设计自动化架构或是具体来部署自动化,而是用好自动化。其实这一点我觉得对涉及自动化测试的人员都是通用的,只是偏重点不同。

往往自动化测试前期投入成本可能会大一点,比如框架设计、技术选型、人力成本等等,但是这个步调确定好了之后,更多就是怎么去用好自动化,把它和业务结合起来。

书中主要从以下方面开展:

建立正确的自动化观念;
如何评估自动化收益;
自动化工具的选型。

1、自动化测试真相

一提到自动化测试,大家很容易就想到 “7*24小时不间断测试”、“反复测试”、“效率高”等等,然而发现,自动化测试做的人多,成功的却不多。其实原因有很多。

1.1、自动化并不廉价,相反,自动化很贵

开发自动化脚本需要不少时间,往往很多团队部署自动化的原因是因为项目紧,想通过自动化测试提升效率,既然时间都不够用了,哪有时间去开发脚本呢?这无疑于缘木求鱼;
自动化测试需要懂技术的人来操作,其过程也是开发代码,也需要专业的人才能胜任此工作;

某些自动化工作需要购买和二次开发;

总结为时间成本、技术成本、人力成本,都是自动化测试需要考虑的。所以说它很贵。在部署之前,一定要考虑团队的消费能力。

1.2、自动化脚本往往没有想象中的那么可靠

很多团队部署自动化另一个原因是想通过自动化来验证不会漏掉用例中的步骤,觉得自动化是忠实可靠的。但自动化测试给你的“OK”,可能真的只是幻想,因为脚本只会按照指定的步骤去运行和确认结果,不会去捕捉一些突发异常(至少不能全面的捕捉)。
另外,自动化工作或者环境可能并不是那么可靠。
无论是正确的自动化测试结果,还是错误的自动化测试结果,都需要人再去确认。

1.3、自动化测试不是单靠测试就能搞定的事儿
自动化测试需要SE、开发、测试、自动化工程师紧密配合才能有效运作起来。开发自动化脚本之前有很多先决条件:

“需求”要确定清楚,特别是用户的数去和输出,一定要确认清楚,这时候SE就要给力些;
“UI”后者“命令行”需要确定下来,而且确定了最好不要随随便便修改,这样才利于自动化脚本中的一些“中间层”的设计,这需要开发给力;
测试用例要尽快写出来,这需要测试给力。

2、如何评估自动化收益?

2.1、自动化测试的实施成本

公式:自动化实施成本 = 前期开发成本 + 后期的维护成本

2.1.1、前期开发成本

人力成本:和自动化开发人员相关的费用成本;
时间成本:自动化准备时间,自动化脚本开发、调试的时间成本;
金钱成本:工具购买、开发、维护的费用成本。

2.1.2、后期维护成本
产品变更引起的自动化测试脚本变更的成本;
定位、修复自动化运行环境引起的脚本的健壮性问题的成本;
定位、修复自动化运行环境引起的可靠性问题的成本;
其它未知的引起测试脚本变更的因素引发的成本。

2.2、自动化测试的运行次数
自动化测试的收益和自动化测试运行的次数是成正比的,脚本能够被运行的越多,自动化测试的收益才会越高。

公式:自动化测试的收益 = 自动化测试运行的次数

2.3、自动化测试实施成本

计算公式:p = (k*n) / (c1+c2)

k : 手工执行自动化用例所花费的时间成本;
n :自动化测试用例执行的次数;
c1:花费在自动化测试前期的成本(时间成本 + 人力成本 + 金钱成本);
c2:花费在自动化测试后期的成本(时间成本 + 人力成本 + 金钱成本);

3、自动化测试工具介绍

3.1、单元测试工具Parasoft系列单元测试工具
在这里插入图片描述
Compuware系列单元测试工具
在这里插入图片描述

Xunit系列单元测试工具

在这里插入图片描述
3.2、UI自动化测试工具
在这里插入图片描述

3.3、性能自动化测试工具
在这里插入图片描述

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

在这里插入图片描述

软件测试面试小程序

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

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

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

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

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

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

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

相关文章

神经网络的工作原理

目录 神经网络的介绍 神经网络的组成 神经网络的工作原理 Numpy 实现神经元 Numpy 实现前向传播 Numpy 实现一个可学习的神经网络 神经网络的介绍 神经网络受人类大脑启发的算法。简单来说,当你睁开眼睛时,你看到的物体叫做数据,再由你…

【论文笔记】Planning and Decision-Making for Autonomous Vehicles

文章目录 Summary1. INTRODUCTION2. MOTION PLANNING AND CONTROL2.1. Vehicle Dynamics and Control2.2. Parallel Autonomy2.3. Motion Planning for Autonomous Vehicles 3. INTEGRATED PERCEPTION AND PLANNING3.1. From Classical Perception to Current Challenges in Ne…

一篇读懂辐射检测仪应用解决方案技术(附方案选型及原理分析)

关于常见的辐射检测仪应用方案: 辐射检测仪是用于测量环境中辐射水平的设备,常用于核电站、医疗机构、实验室和核辐射工作场所等地方。以下是一种可能的辐射检测仪应用方案: 实时监测:辐射检测仪可以实时监测环境中的辐射水平&am…

NIST测试包的可能问题

其实,大多数出现的问题,可能或多或少都可能跟数据集的大小相关。 如: Random Excursions Variant,在测试结果中,可能显示为横线,打开原始报告,可以看到: WARNING: TEST NOT APPLICABLE. THERE ARE AN INSUFFICIENT NUMBER INSUFFICIENT NUMBER OF C…

【C++ 学习 ⑰】- 继承(下)

目录 一、派生类的默认成员函数 二、继承与友元 三、继承与静态成员 四、复杂的菱形继承及菱形虚拟继承 五、继承和组合 一、派生类的默认成员函数 派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员。如果基类没有默认构造函数,那么必须在派生…

spring框架:简介+依赖注入

目录 一、spring简介 二、创建项目 三、spring创建对象 四、SpringBean管理 1.注入实现-XML 2.注入实现-注解 一、spring简介 spring诞生与2003年,是一个轻量级的、IOC( Inversion Of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)的jav…

linux挂载内网镜像源文件,支持yum安装

cd /etc/yum.repos.d/vim kylin_aarch64.repo 重建yum缓存 yum clean allyum makecacheyum repolist

【vue】实现高性能虚拟滚动的Vue代码解析

在前端开发中,当需要展示大量数据时,如何保持页面的流畅性是一个挑战。传统的滚动方式会将所有数据一次性渲染到页面,这可能导致页面加载缓慢甚至崩溃。而虚拟滚动技术能够解决这个问题,它只渲染可视区域内的数据,从而…

Vue2向Vue3过度Vuex核心概念actions

目录 1 核心概念 - actions1.定义actions2.组件中通过dispatch调用 2 辅助函数 -mapActions 1 核心概念 - actions state是存放数据的,mutations是同步更新数据 (便于监测数据的变化, 更新视图等, 方便于调试工具查看变化), actions则负责进行异步操作 说…

用Python写一个武侠游戏

前言 在本教程中,我们将使用Python写一个武侠类的游戏,大的框架全部搭好了,很多元素都可以自己添加,让游戏更丰富 📝个人主页→数据挖掘博主ZTLJQ的主页 个人推荐python学习系列: ☄️爬虫JS逆向系列专栏 -…

PHP自己的框架cookie()使用(完善篇七)

1、PHP自己的框架cookie() 2、cookie类&#xff08;CookieBase.php&#xff09; <?php class CookieBase {/*** 设置cookie*/public static function set($name, $value, $expire 3600, $path , $domain , $secure false, $httponly false) {setcookie($name, $valu…

Verilog 实现超声波测距

Verilog 实现超声波测距 教学视频&#xff1a; https://www.bilibili.com/video/BV1Ve411x75W?p33&spm_id_frompageDriver&vd_source19ae31dff4056e52d2729a4ca212602b 超声波测距原理 参考资料&#xff1a;STM32的超声波测距程序_超声波测距stm32程序_VaderZhang的…

cs231n assignment3 q5 Self-Supervised Learning for Image Classification

文章目录 嫌墨迹直接看代码Q5 Self-Supervised Learning for Image Classificationcompute_train_transform CIFAR10Pair.__getitem__()题面解析代码输出 simclr_loss_naive题面解析代码输出 sim_positive_pairs题面解析代码输出 compute_sim_matrix题面解析代码输出 simclr_lo…

37、springboot 为 spring mvc 提供的自动配置及对自动配置的一些自定义定制(大体思路)

springboot 为 spring mvc 提供的自动配置及对自动配置的一些自定义定制&#xff08;大体思路&#xff09; ★ Spring Boot主流支持两个MVC框架&#xff1a; Spring MVC&#xff08;基于Servlet&#xff09; Spring WebFlux&#xff08;基于Reactive&#xff0c;属于响应式AP…

开源双语对话语言模型 ChatGLM-6B 本地私有化部署

本文首发于&#xff1a;https://www.licorne.ink/2023/08/llm-chatglm-6b-local-deploy/ ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#xff0c;用户可以在消费级…

人员跌倒检测识别预警

人员跌倒检测识别预警系统通过pythonopencv深度学习网络模型架构&#xff0c;人员跌倒检测识别预警系统实时监测老人的活动状态&#xff0c;通过图像识别和行为分析算法&#xff0c;对老人的姿态、步态等进行检测和识别&#xff0c;一旦系统检测到跌倒事件&#xff0c;立即发出…

Vue2向Vue3过度Vuex核心概念state状态

目录 1 核心概念 - state 状态1.目标2.提供数据3.访问Vuex中的数据4.通过$store访问的语法5.代码实现5.1模板中使用5.2组件逻辑中使用5.3 js文件中使用 2 通过辅助函数 - mapState获取 state中的数据1.第一步&#xff1a;导入mapState (mapState是vuex中的一个函数)2.第二步&am…

Dubbo—流量管控

此任务基于一个简单的线上商城微服务系统演示了 Dubbo 的流量管控能力。 线上商城的架构图如下&#xff1a; 系统由 5 个微服务应用组成&#xff1a; Frontend 商城主页&#xff0c;作为与用户交互的 web 界面&#xff0c;通过调用 User、Detail、Order 等提供用户登录、商品…

为什么使用Nacos而不是Eureka(Nacos和Eureka的区别)

文章目录 前言一、Eureka是什么&#xff1f;二、Nacos是什么&#xff1f;三、Nacos和Eureka的区别3.1 支持的CAP3.2连接方式3.3 服务异常剔除3.4 操作实例方式 总结 前言 为什么如今微服务注册中心用Nacos相对比用Eureka的多了&#xff1f;本文章将介绍他们之间的区别和优缺点…

推荐前 6 名 JavaScript 和 HTML5 游戏引擎

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建3D应用场景 事实是&#xff0c;自从引入JavaScript WebGL API以来&#xff0c;现代浏览器具有直观的功能&#xff0c;使它们能够渲染更复杂和复杂的2D和3D图形&#xff0c;而无需依赖第三方插件。 你可以用纯粹的JavaScript开…