2023最全的自动化测试入门基础知识(超详细~)

1)首先,什么是自动化测试?

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。测试自动化可以在已经存在的正式测试过程中自动化一些重复但必要的任务,或者添加额外的难于手工执行的测试。

2)自动化测试主要有哪些?

自动化测试一般分三种:单元自动化测试,接口自动化测试,UI自动化测试。其中单元自动化测试一般由研发人员自己进行测试,测试人员主要进行接口以及UI的自 动化测试,但是由于UI的需求变化比较频繁,所以接口测试是测试人员做的最多的。

3)自动化测试框架设计的模式有哪些?

自动化测试框架设计的模式主要有4种:

(1)分布式。指的是测试需要在多台电脑上进行多线程或者多进程的测试,该模式主要针对测试用例比较大的情况,常用的工具是grid;

(2)数据驱动的模式。指的是讲测试程序与测试所需要的数据分离,每次测试程序的时候直接调用所需要的数据;

(3)关键字驱动的模式,该模式主要从对谁做,怎么做,做什么三个要素进行衍生,每次只需要调用关键的函数就可以,即使不懂代码的人也能勾编写。现在很多的自动化测试工具例如KAMA即是如此,测试人员只需要了解测试功能的逻辑通过调用工具的内部函数就可以编写自动化测试脚本;

(4)混合型模式。指的是运用以上两种或以上的方法的一种模式。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn888】

4)自动化测试的优势

主要具备以下优势:

  (1)回归测试更方便可靠,可运行更多、更繁琐的测试,且快速高效;

  (2)可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;

  (3)可以更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;

  (4)提升了软件的可信度;

  (5)可以多环境下测试等。

5)自动化测试的劣势

1)永远不可能完全替代手工测试。自动化测试无法做到手工测试的覆盖率,不是每个测试用例都适合实行自动化;

(2)手工测试发现的bug远比自动化测试多。自动化测试几乎是无法发现新bug的,最大的用途是用来回归,确保曾经的bug没有在新的版本上重新出现;

(3)自动化测试工具比较死板,灵活性比较差。自动化测试的效果好坏,完全取决于测试工程师;

(4)成本投入大,风险高。对测试人员的技术要求高,对测试工具同样也高;

(5)测试用例需要根据版本迭代进行更新,有一定的维护成本;

(6)自动化测试的产出价值往往在于长期的回归测试,短期内发挥的作用可能不明显。

6)适合引入自动化测试的情况

(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;

(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化工具;

(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;

(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖;

(5)项目周期长,系统版本不断,并且需求不会频繁变更;

(6)系统的测试对象基本可以正常识别,以及对无法识别的控件能否提供一个解决方案;

(7)系统中不存在大量的不可识别第三方控件;

(8)需要反复测试,如可靠性测试、回归测试等需要进行上千次的系统测试。

7)不适合自动化测试的情况

(1)项目周期短,需求频繁变更。即使是周期长的项目,如果经常需求变更,也不适合做自动化测试;

(2)软件版本没有稳定,主功能或大量功能有被重新更改的可能的情况下,也不适合做自动化测试;

(3)没有明确的项目进行自动化测试计划、措施和管理的情况;

(4)多数对象无法识别,以及脚本维护频繁和艰难的情况下,不建议测试自动化。

以上是自动化测试入门的相关基础知识。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【双十一特辑】爱心代码(程序员的浪漫)-李峋

前言 最近《点燃我温暖你》中李峋的爱心代码超级火,看着特别心动,这不,光棍节快到了,给兄弟们教学一波爱心代码,赶在双十一前表白,让这个双十一不在是孤单一个人! 目录 前言 C语言简易爱心代码…

0002Java程序设计-springboot在线考试系统小程序

文章目录 **摘 要****目录**系统实现开发环境 编程技术交流、源码分享、模板分享、网课分享 企鹅🐧裙:776871563 摘 要 本毕业设计的内容是设计并且实现一个基于springboot的在线考试系统小程序。它是在Windows下,以MYSQL为数据库开发平台&…

Java 图片验证码需求分析

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 图片验证码 需求分析 连续因输错密码而登录失败时,记录其连续输错密码的累加次数;若在次数小于5时,用户输入正确的密码并成功登录…

微服务负载均衡器Ribbon

1.什么是Ribbon 目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。 客户端根据…

使用Kibana让es集群形象起来

部署Elasticsearch集群详细步骤参考本人: https://blog.csdn.net/m0_59933574/article/details/134605073?spm1001.2014.3001.5502https://blog.csdn.net/m0_59933574/article/details/134605073?spm1001.2014.3001.5502 kibana部署 es集群设备 安装软件主机名…

MQ-7一氧化碳传感器模块功能实现(STM32)

认识MQ-7模块与其工作原理 首先来认识MQ-7模块,MQ-7可以检测空气中的一氧化碳(CO)浓度。他采用半导体气敏元件来检测CO的气体浓度,其灵敏度高、反应速度快、响应时间短、成本低廉等特点使得它被广泛应用于智能家居、工业自动化、环…

minio客户端基本操作

minio客户端基本操作 桶 创建桶 如果要创建新的桶 输入名称,点击创建即可,默认权限就行 删除桶 点击要删除的桶 点击删除 修改桶 如果哪天需要修改桶的权限或者其他信息,还是先点击这个桶进入详情 然后点击要修改的属性,选择…

Qt5.15.2静态编译 VS2017 with static OpenSSL

几年前编译过一次Qt静态库:VS2015编译Qt5.7.0生成支持XP的静态库,再次编译,毫无压力。 一.环境 系统:Windows 10 专业版 64位 编译器:visual studio 2017 第三方工具:perl,ruby和python python用最新的3.x.x版本也是可以的 这三个工具都需要添加到环境变量,安装时勾选…

JavaScript 的初步学习上篇

JavaScript 的介绍 JavaScript 之父 布兰登 . 艾奇 (Brendan Eich) ,1995 年, 用 10 天时间完成 JavaScript 的设计. JavaScript 和 Java 的关系 两者之间就像老婆和老婆饼的关系,即毫无关系, JavaScript 最初的名字叫LiveScript,为了蹭 Java 热度,才改名为 JavaScript.JavaScr…

【2023 云栖】阿里云田奇铣:大模型驱动 DataWorks 数据开发治理平台智能化升级

云布道师 本文根据 2023 云栖大会演讲实录整理而成,演讲信息如下: 演讲人:田奇铣 | 阿里云 DataWorks 产品负责人 演讲主题:大模型驱动 DataWorks 数据开发治理平台智能化升级 随着大模型掀起 AI 技术革新浪潮,大数…

C#中openFileDialog控件的使用方法

目录 一、OpenFileDialog基本属性 二、使用 OpenFile 从筛选的选择中打开文件 1.示例源码 2.生成效果 3. 其它示例 三、使用 StreamReader 以流的形式读取文件 1.示例源码 2.生成效果 四、一种新颖的Windows窗体应用文件设计方法 在C#中,OpenFileDialog控件…

AIGC,ChatGPT AI绘画 Midjourney 注册流程详细步骤

AI 绘画,Midjourney完成高清图片绘制,轻松掌握AI工具。 前期准备: ① 一个能使用的谷歌账号 ② 可以访问外网 Midjourney注册 1.进入midjourney官网https://www.midjourney.com 点击左下角”Join the Beta”,就可以注册,第一次使用的小伙伴会弹出提示,只需要点击Acc…

C语言程序设计知识点总结归纳(全书)

C知识点总结归纳目录 第一章 程序设计和C语言一、C的入门小概念二、程序设计的问题三、首先要搞清楚编译器、编辑器和IDE的区别 第二章 算法——程序的灵魂一、程序算法数据结构二、算法的特性三、怎样表示一个算法四、结构化程序的设计方法 第三章 C程序设计——顺序程序设计一…

vue3+ts 依赖注入 provide inject

父级&#xff1a; <template><div><h1>App.vue (爷爷级别)</h1><label><input type"radio" v-model"colorVal" value"red" name"color" />红色</label><label><input type"r…

【STM32】GPIO输出

1 GPIO简介 &#xff08;1&#xff09;GPIO&#xff08;General Purpose Input Output&#xff09;通用输入输出口 &#xff08;2&#xff09;可配置为8种输入输出模式 &#xff08;3&#xff09;引脚电平&#xff1a;0V~3.3V&#xff0c;部分引脚可容忍5V&#xff08;可以输…

因式分解的几何意义

本来准备和女儿一起玩一道几何题&#xff0c;想想还是算了&#xff0c;不如讲点更有趣的。 任何因式分解都是在堆积木&#xff0c;不信你看&#xff1a; 二项式定理&#xff0c;洋灰三角&#xff0c;都是面积&#xff0c;体积&#xff0c;超维体积的拼接&#xff0c;一个大超…

Linux学习笔记之六(进程之间的管道通信和信号处理)

目录 1、管道通信1.1、无名管道1.1、有名管道 2、信号处理2.1、信号的种类和发送2.2、信号的接受和处理 1、管道通信 管道通信是一个设备中进程与进程之间通信的一种方式&#xff0c;分为无名管道和有名管道两种。前者只能用于有亲缘关系的进程之间的通信&#xff0c;如父子进…

RC-MVSNet:无监督的多视角立体视觉与神经渲染--论文笔记(2022年)

RC-MVSNet&#xff1a;无监督的多视角立体视觉与神经渲染--论文笔记&#xff08;2022年&#xff09; 摘要1 引言2 相关工作2.1 基于监督的MVS2.2 无监督和自监督MVS2.3 多视图神经渲染 3 实现方法3.1 无监督的MVS网络 Chang, D. et al. (2022). RC-MVSNet: Unsupervised Multi-…

leetcode面试经典150题——32 串联所有单词的子串(中等+困难)

题目&#xff1a; 串联所有单词的子串(1中等) 描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&…

Linux 命令vim(编辑器)

(一)vim编辑器的介绍 vim是文件编辑器&#xff0c;是vi的升级版本&#xff0c;兼容vi的所有指令&#xff0c;同时做了优化和延伸。vim有多种模式&#xff0c;其中常用的模式有命令模式、插入模式、末行模式&#xff1a;。 (二)vim编辑器基本操作 1 进入vim编辑文件 1 vim …