职场经验:自动化测试介绍和分类,看这一篇就够了

news2024/9/22 13:35:16

什么是自动化测试?

自动化测试是软件测试活动中一个重要的分支和组成部分,即利用工具或脚本达到测试目的,没有人工或者极少人工参与的软件测试活动称为自动化测试.

自动化测试的优势有哪些?

  1. 方便进行回归测试,当软件的版本发布比较频繁的时候,自动化的效果很明显

  2. 自动处理原本烦琐、重复的任务,提高测试的准确性和测试人员的积极性

  3. 具有复用性和一致性,可以在不同的版本上重复运行,保障测试内容的一致性

自动化测试的分类:

(1)从软件开发周期的角度分类:

  1. 单元自动化测试:自动化的完成对代码中的类和方法进行测试,主要关注代码实现细节及业务逻辑等方面。

  2. 接口自动化测试:测试系统组件间接口的请求和返回,接口测试稳定性高,更适合开展自动化。

  3. UI自动化测试:对图形化界面进行流程和功能等方面进行测试。

(2)从测试目的的角度分类:

  1. 连接和其他比较稳定而不经常发生变化的元素

  2. 性能自动化测试:依托自动化平台自动的执行性能测试、收集测试结果,并分析测试结果的一种接近无人值守的性能测试,具有以下特性:

    a.对脚本创建和提供类库和其他模块支撑

    b.可以设定自动化任务(比如每天根据特定的场景执行一轮性能测试)

    c.自动收集测试结果并存储

    d.事中监控(比如场景执行过程中的异常错误自动预警邮件功能)

    e.成熟的平台可以进行自动分析功能(比如哪些事物有问题、哪些资源消耗异常等)

    f.安全自动化测试

自动测试工具分类

UI自动化

  • Selenium
  • Appium
  • Robot Framework
  • Airtest
  • Cypress
  • ...

接口自动化

  • Jemeter
  • Postman
  • python+Requests
  • SoapUI
  • HttpClient

单元测试工具

  • JUnit
  • TestNG
  • unittest
  • pytest

怎样选择测试框架?这里有一些标准可参考:

  1. 相对快速和方便设置(或开箱即用的解决方案)

  2. 支持社区或开发者自己可以为其框架提供支持

  3. 有清晰而全面的文档

  4. 与其他工具充分集成

  5. 有一些很酷的功能,例如代码可重用性支持在多个平台和环境进行测试

Selenium

Selenium 是一个涵盖几种工具的生态系统,主要包括:Selenium WebDriver、Selenium IDE 和 Selenium Grid。

Selenium 的核心特性是跨浏览器和跨平台测试,多种测试语言(Python、Java、C#等),高度可调整的开源代码,并行运行测试等。

官网地址:

Selenium

Appium

Appium 是跨平台的,它允许您使用相同的 API 编写针对多个平台(IOS、Android、Windows)的测试。这使 IOS、Android 和 Windows 测试套件之间的代码重用成为可能。

官网地址:

Appium: Mobile App Automation Made Awesome.

Cypress(自动化测试)

Cypress 是基于 web 的下一代前后端测试工具,与 Selenium 相比,Cypress底层协议不采用 WebDriver,这使得它能够实现快速、简单、可靠的测试。

Cypress 支持端到端测试、集成测试、单元测试。

官网地址:

JavaScript End to End Testing Framework | cypress.io testing tools

Robot Framework

Robot Framework 是一款 Python 编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。

官网地址:

Robot Framework

Airtest


Airtest 是网易出品的一款基于 Python 语言、可通过图像识别和 poco 控件识别的一款 UI 自动化测试工具,包括 AirtestIDE、Airtest、Poco、AirLab 等部分,有 Poco、图像识别、selenium 三个大类库,适用于游戏、APP、web、Windows 程序项目的自动化测试,可以轻而易举的实现自动化测试流程。

官网地址:

Airtest Project

测试框架pytest与unitttest如何选择?

【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?

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

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

相关文章

全网第三详细tshark使用帮助

一 前言tshark作为wireshark的命令行版本,功能非常强大,可以抓包,数据包分析、提取文件、提取分析后的数据还支持各种格式,可以说一把流量分析的瑞士军刀,如果在低流量的场景,包装下tshark命令,…

查找树莓派ip地址的几种方法

1.环境说明 从上面的图中可以看到树莓派是通过网线和win10电脑相连的,以此来共享win10电脑网络,但是需要在电脑端设置后才能将网络共享出来, 设置方法参考以下链接: 通过一根网线共享网络给另一个电脑或者群辉上网 注意&#xff0…

jQuery 遍历

什么是遍历? jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。 下图…

dotnet项目使用Cefsharp与Js互相调用函数

1. 背景 最近在一个项目中使用 CefSharp 加载H5页面, 其中一些业务逻辑需要调用 Js 函数, 同时 Js 也会调用一些 native 函数: 这里我们使用官方的demo代码进行添加修改, 修改后的代码在此: DevWiki/CefSharp.MinimalExample - CefSharp.MinimalExample - DevWiki Gitea 2. J…

Allegro如何打开和关闭飞线操作指导

Allegro如何打开和关闭飞线操作指导 Allegro可以打开和关闭飞线,下面介绍如何打开和关闭飞线,具体操作如下 选择display-show rats-all。打开所有nets的飞线 如下图 如果菜单里面添加图标,可以直接点击图标显示所有飞线 选择display-Blank Rats-all关闭所有nets的飞线 …

Spring MVC学习 | 简介HelloWord

文章目录一、Spring MVC简介1.1 MVC回顾1.2 Spring MVC是神魔二、HelloWord2.1 相关文件的准备2.2 创建请求控制器2.3 创建Spring MVC配置文件2.4 测试HelloWord2.4.1 访问首页2.4.2 访问目标页面2.5 执行流程学习视频🎥:https://www.bilibili.com/video…

STM32G4系列存储访问的两个小话题

一、有关CCM访问地址的话题有用过STM32F4系列部分芯片或STM32F334芯片的人,可能知道片内有个CCM【Core Coupled Memory】区域,从芯片系统框图结合文字说明,可以清晰知道这个区域仅能被CPU访问,常用来存放些对执行效率敏感的关键性的代码或数据…

【mmdetection系列】mmdetection之head讲解

目录 1.configs 2.具体实现 3.调用 3.1 注册 3.2 调用 配置部分在configs/_base_/models目录下,具体实现在mmdet/models/*_heads目录下。 这个heads可以是很多个目录下的。 1.configs 我们看下yolox的head吧。 https://github.com/open-mmlab/mmdetection/b…

Web前端开发技术课程大作业:基于HTML+CSS+JavaScript实现校园主题-萍乡田家炳中学校网站(1页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

详细讲解Linux物理内存初始化

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 介绍 让我们思考几个朴素的问题? 系统是怎么知道物理内存的?在内存管理真正初始化之前…

Java项目:SSM实现的校园门户平台网站系统含开题报告与需求分析

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本系统为前后台项目,后台为管理员登录,前台为社团、学生、教师角色登录; 管理员角色包含以下功能&#xff…

对称加密算法(二)(分组密码,Feistel Cipher)

文章目录Traditional Block Cipher StructureStream Ciphers and Block CiphersFeistel CipherReferencesTraditional Block Cipher Structure Stream Ciphers and Block Ciphers 序列密码也称为流密码 (Stream Ciphers), 它是指每次对数字数据流的一个比特或一个…

CSS -- CSS复合选择器总结

文章目录CSS的复合选择器1 什么是复合选择器2 后代选择器3 子选择器4 并集选择器5 伪类选择器6 链接伪类选择器7 :focus 伪类选择器8 复合选择器总结CSS的复合选择器 1 什么是复合选择器 在 CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器&#…

【博客554】k8s 中的 Client-Side Apply 和 Server-Side Apply

k8s 中的 Client-Side Apply 和 Server-Side Apply 背景 如果你经常与 kubectl 打交道,那相信你一定见过 kubectl.kubernetes.io/last-applied-configuration annotation,以及那神烦的 managedFields,像这样: kubectl get pods…

单元测试理论储备及JUnit5实战

概述 测试驱动开发,TDD,Test Driven Development,优点: 使得开发人员对即将编写的软件任务具有更清晰的认识,使得他们在思考如何编写代码之前先仔细思考如何设计软件对测试开发人员所实现的代码提供快速和自动化的支…

银保监机构保险许可证数据(2007-2022年)

保险是金融系统的重要组成部分,保险的经济补偿和资金融通功能对维持金融系统的稳定,维护整个社会的安定起着不可或缺的作用,因此,从现实意义上来讲,对于我国保险业系统性风险的研究是很有必要性的。 通过对保险业系统性风险的类型、传播机制的研究,可以有效防范并降低我国保险…

MATLB|基于粒子群优化算法的智能微电网调度(含风、光、微型燃气轮机、电网输入微网、储能)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

linux基本使用及服务器环境搭建

文章目录0.linux基本命令1.配置jdk环境变量2.安装tomcat3. mysql安装4.部署jar项目基本命令5. 前端项目继承到后端项目中0.linux基本命令 1.pwd 我在那里 2.who am i 我是谁 3.clear 清屏 4.ctrlc 强制停止 5.ip addr 查看地址 6.ping 是否联通网站 7.systemctl start|s…

分布式系统的解决方案,学好这个就够了

分布式、负载、消息队列等一些解决方案,在互联网公司应用已经非常普遍了,也是每一个程序员要成为技术专家、架构师必学的知识。 所以,今天给大家推荐一个开源项目,有关互联网项目常见的解决方案,通通都打包一起了。 …

10个 解放双手的 IDEA 插件,少些冤枉代码

正经干活用的 分享一点自己工作中得心应手的IDEA插件,可不是在插件商店随随便便搜的,都经过实战检验,用过的都说好。可能有一些大家用过的就快速划过就行了。 1、GenerateAllSetter 实际的开发中,可能会经常为某个对象中多个属性…