自动化测试理论

news2024/9/21 2:36:22

一、初识自动化测试

概念

  • 软件测试的定义

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  • 自动化测试的定义

把人对软件的测试行为转化为由机器执行测试行为的一种实践,用代码测试代码。

  • WebUI自动化测试

由自动化测试工具模拟人工在web程序上各种操作,并自动验证结果是否符合预期。

  • AppUI自动化测试

由自动化测试工具模拟人工在APP程序上各种操作,并自动验证结果是否符合预期。

  • 接口自动化测试

由自动化测试工具模拟系统或组件之间通过接口传输数据,并自动验证结果是否符合预期。

自动化测试的优缺点

优点

缺点

 

自动化测试可行性分析

 

常见的自动化测试工具

Selenium:WebUI自动化测试

QTP/uft:WebUI自动化测试

Appnium/airtest:APP自动化测试

Monkey/MonkeyRunner:app自动化测试

Jmeter:接口、性能测试

Postman:接口测试

SoapUI:接口测试

LoadRunner:性能测试

Jenkins:持续集成

等等等等。

测试金字塔的概念

  • 测试金字塔的概念来自Mike Cohn,在他的书《Succeeding With Agile》中详细描述着:“测试金字塔最底层是单元测试,然后是业务逻辑测试,最后是端到端的测试(GUI或CLI)。

 

  • 我们应该有更多低级别的单元测试,而不仅仅是用户界面运行的高层的端到端的测试
  • 分层自动化测试倡导的是从黑盒UI单层到黑白盒多层的自动化测试体系,从全面黑盒的自动化测试到对系统的不同阶段、不同层次进行自动化测试。
    • [小型测试]是指单元测试,用于验证应用的行为,一次验证一个类
    • [中型测试]指集成测试,用于验证模块内堆栈级别之间的互动或相关模块之间的互动
    • [大型测试]是指端到端的测试,用于验证跨越了应用的多个模块的用户操作流程
    • 从小型测试到大型测试,各类测试的保真度逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,我们编写的单元测试应多于继承测试,集成测试应多于端到端的测试。虽然各类测试的比例可能会因应用的用例不同而异,但通常建议各类测试所占比如下:小型测试70%,中型测试20%,大型测试10%

二、selenium自动化测试流程分析

1.熟悉业务流程

熟悉业务流程是我们做自动化测试的前提,在此基础上我们才能分析出自动化测试能不能做、适不适合做、怎么做等等。

2.选取场景

一个项目中,并不是所有场景的测试都需要去做自动化的,需要我们从人力成本、时间成本、代码稳定性、覆盖率等多个角度综合分析,制定性价比最高的测试策略。

3.确定方案

确定要做自动化之后,就可以进行工具选型了。appium?seleium?airtest?QTP?等等。选能实现需求且自己擅长的就可以了。

4.了解前端

在开始写自动化脚本之前,应该掌握一些前端基础知识并对被测项目的前端结构进行了解,方便后续进行元素定位和脚本编写。(之后文章详解)

5.元素定位

6.编写脚本

7.运行优化

8.产生报告

9.持续维护

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

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

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

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

相关文章

芯片技术探索:了解构芯片的设计与制造之旅

芯片技术探索:了解构芯片的设计与制造之旅 一、引言 随着现代科技的飞速发展,芯片作为信息技术的核心,已经渗透到我们生活的方方面面。从智能手机、电视、汽车到医疗设备和工业控制系统,芯片在各个领域都发挥着至关重要的作用。然而,对于大多数人来说,芯片仍然是一个神秘…

【Flink进阶】-- Flink kubernetes operator 快速入门与实战

1、课程目录 2、课程链接 https://edu.csdn.net/course/detail/38831

发朋友圈的重要性和黄金时间

一、为什么发朋友圈要选择时间发? 1. 增加曝光率:通过定时自动发朋友圈,可以让更多的人看到你的动态。 2. 提高互动率:定时自动发朋友圈可以保持你的朋友圈活跃度,提高与粉丝的互动率。 3. 增强品牌形象&#xff1a…

系统设计面试指南之分布式任务调度

1 简介 任务是需要资源(CPU 时间、内存、存储、网络带宽等)在指定时间内完成的一段计算工作。 通过智能地将资源分配给任务以满足任务级和系统级目标的系统称为任务调度程序。 任务调度程序: 及时决定和分配资源给任务的过程称为任务调度。 当我们在 Facebook 发…

Golang语言基础之切片

概述 数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性 func arraySum(x [3]int) int{sum : 0for _, v : range x{sum sum v}return sum } 这个求和函数只能接受 [3]int 类型,其他的都不支持。 切片 切片(Slic…

2023长三角(芜湖)人工智能数字生态峰会暨视觉算法大赛颁奖典礼邀您一同参与!

时光荏苒,科技飞速发展,人工智能正在以令人瞩目的速度改变着我们的生活。在这个数字科技的新时代,为促进长三角地区人工智能产业的蓬勃发展,助推数字经济的繁荣,2023长三角(芜湖)人工智能数字生…

php请求okx接口获取比特币价格数据、k线数据

php请求okx接口获取比特币价格数据 环境配置请求头、签名设置签名配置代理 全部代码 环境 我本地用的是thinkphp框架和guzzle 安装guzzle composer require guzzlehttp/guzzle 配置请求头、签名 我们需要准备api_key,secret_key,passphrase api_key…

软件测试的测试文档怎么编写?

在软件测试中的流程中,测试文档也是一个重要的流程,所以测试人员也需要学习测试文档的编写和阅读。 一定义: 测试文档(TestingDocumentation)记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。…

预约系统源码解析:打造智能定制化预约服务的技术奇迹

在当今数字化时代,预约系统的重要性日益凸显,而预约系统源码的开放将为各行业带来更加灵活、智能的预约解决方案。本文将深入探讨预约系统源码的技术内幕,为开发者提供实用的代码示例,助力打造智能定制化的预约服务。 技术栈概览…

泛域名SSL证书是什么?泛域名SSL证书价格多少钱?

泛域名SSL证书是一种SSL证书类型,也被称为通配符SSL证书。SSL证书是保护网站数据传输安全及服务器身份可信的数字证书产品,通常绑定域名或IP,配置到网站服务器上。SSL证书根据保护域名数量及域名类型的不同,可以分为单域名SSL证书…

分布式系统:CAP 定理

欢迎来到分布式系统系列。在本文中,我们将学习并理解什么是 CAP 定理。CAP 代表一致性、可用性和分区容错性。当我们谈论CAP定理时,我们主要谈论的是分布式系统。首先,让我们了解一下什么是分布式系统。分布式系统是由运行在单台或多台机器上…

(免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐

摘 要 随着时代的不断更新,社会的不断变换,信息技术的飞速发展,计算机科技技术也逐步走向成熟。图书馆管理系统对于当今社会来说是必不可少的一个信息组成部分,它可以管理大量图书、大量读者、让读者有条不紊的进行借阅图书&#…

易石无代码开发:电商平台连接CRM与客服系统,实现营销自动化

易石无代码开发的优势 易石软件以其强大的无代码开发平台,为电商企业提供了一种全新的业务集成手段。在激烈的市场竞争中,电商平台必须不断优化其运营效率和客户服务质量。易石无需复杂的API开发,通过简单的配置就能实现电商平台与CRM、客服…

Linux Centos系统安装Mysql8.0详解

本文是基于服务器Linux Centos 8.0系统 安装 Mysql8.0真实运维工作实战为例,详细讲解安装的全过程。 1,检查卸载mariadb Mariadb数据库是mysql的分支,mariadb和mysql会有冲突,所以安装Mysql前,首先要检查是否安装了m…

Xilinx FPGA——ISE的UCF时序约束

时序约束是我们对FPGA设计的要求和期望,例如,我们希望FPGA设计可以工作在多快的时钟频率下等等。 设计是要求系统中的每一个时钟都进行时序约束。 一、分组约束语法(NET、PIN、INST) TNM是最基本的分组约束语法,其语法…

如何去选择合适的线缆测试仪?CAT8网线认证测试

如何去选择合适的线缆测试仪? 如果你是第三方检测单位,系统集成商,或者线缆生产厂家,我个人建议选择福禄克DSX系列无疑是比较保险的做法,因为考虑到福禄克在国内耕耘多年所积累起来的品牌知名度和口碑,选择一款大家都…

又一张图片,还单纯吗-MISC-bugku-解题步骤

——CTF解题专栏—— 题目信息: 题目: 又一张图片,还单纯吗 作者:harry 提示:falg{} 解题附件: 解题思路: ok图片隐写问题,老三样儿:binwalk、010Editor、Stegsolve …

电话销售如何提高成功率

电话销售是一种非常有效的销售方式,睡着通信技术,互联网的发展,现在电话销售已经成为一种重要的销售方式,很多行业和领域都有使用。 虽然最终目的都是为了将产品卖出去,但是对于电话销售来说,前期寻找客户…

你知道功能测试和非功能测试有什么区别么?

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

增加3~4个独立数字脉冲发生器通道!数字化仪和AWG新增DPG功能

数字脉冲升级功能 德思特Spectrum系列全部在售数字化仪和AWG产品(包括TS-M2p,TS-M4i,TS-DN2,TS-DN6型号产品),发布了新增的数字脉冲(DPG)升级功能,于11月15日正式推出。…