当前位置: 首页 > news >正文

AI-TestOps —— 软件测试工程师的一把利剑

    • 写在前面
    • 软件测试的前世今生
    • 测试工具开始盛行
    • AI-TestOps 云平台
      • ● AI-TestOps 功能模块
      • ● AI-TestOps 自动化测试流程


写在前面

最近偶然间看到一句话:“软件测试是整个 IT 行业中最差的岗位”。这顿时激起了我对软件测试领域的兴趣,虽然之前未涉及过软件测试,但对软件测试还是很看好的,每当提到它我第一个想到的词就是“自动化”。当看到这句话后很是不解,软件测试究竟有多么“不堪”?怀着这样的疑问我对该领域进行了一些了解。

同时还发现了一款很不错的自动化测试工具 AI-TestOps,它在人工智能爆火的当下完美的与 Ai 进行了结合,初步体验后属实惊艳到了我。


软件测试的前世今生

软件测试(Software Testing)顾名思义就是对软件进行相关的测试,它是伴随着软件的产生而产生的。在早期的软件开发中,测试就是对软件进行相关调试,来纠正软件中的一些故障。调试通常是在代码开发完成、产品基本成型之后才会介入,也没有专业的人员来进行这项工作,基本上是由开发者在开发完成后自己来完成的。这个时期软件测试几乎被同等于代码调试。

这个格局被打破是在 1957 年,1957 年之后软件测试与调试被明确区分开来,它是一种专门发现软件缺陷的活动,由于“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,测试仍处于开发活动之后,目的就是用来确定自己的产品是否能正常工作。“先产品,后测试”。

直到二十世纪七十年代。1972 年美国北卡罗来纳大学举行了首届软件测试正式会议;1975 年 John Good Enough 和 Susan Gerhart 在 IEEE 上发表了《测试数据选择的原理》的文章,软件测试至此被确定为一种研究方向;1979 年 Glenford Myers 的《软件测试艺术》,正式对测试做出了定义:测试是为发现错误而执行的一个程序或者系统的过程

二十世纪八十年代早期,“质量”的号角开始吹响。软件测试定义发生改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容,还有着各类标准。1983 年 Bill Hetzel 在《软件测试完全指南》中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。该定义至今仍被引用。

测试工具开始盛行

二十世纪九十年代,测试工具 开始盛行,人民普遍意识到工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具必不可少。近 20 年来,随着计算机软件技术的飞速发展,软件测试领域的研究取得重大突破,在单元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具。

虽然软件测试技术的发展很快,但是其发展速度仍落后于软件开发技术的发展速度,这使得软件测试在今天面临着很大的挑战:

  • 软件在社会信息化和国民经济信息化中的作用越来越重要,产生的测试任务也越来越繁重;
  • 软件规模越来越大,功能愈加复杂,如何进行充分而有效的测试成为难题;
  • 面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步;
  • 对于分布式系统整体性能还不能进行很好的测试;
  • 对于实时系统缺乏有效的测试手段;
  • 随着安全问题的日益突出,如何对信息系统的安全性进行有效测试与评估,成为难题。

AI-TestOps 云平台

有挑战自然就伴随着突破,人类文明本身就是在突破挑战的过程当中实现进步的!针对软件测试发展的一系列挑战,一站式自动化测试工具 AI-TestOps 云平台应运而生。

正如龙测科技创始人师江帆博士所提出的理念:“我们相信机器代替人类来做软件测试是大势所趋!” 一样,AI-TestOps 云平台利用现代 AI 技术及先进测试算法,彻底改变了目前手工及自动化软件测试形态。对于 UI 自动化测试,创造性提出 AI+机器人+模型(ARM) 技术来构建稳定快速的测试工具,即:AI 学习生成业务流程图,测试用户通过组合流程图成为积木图,机器人通过视觉和机械化方式稳定执行下文有自动化测试流程演示。因此 AI-TestOps 能快速、高效、低成本地完成 .EXE 应用、Web 应用、iOS、Android、小程序、混合应用的 UI 自动化测试。这种越来越 智能 的测试方式轻松化解了测试任务繁重、功能复杂等诸多测试难题。

AI-TestOps 体验链接

在 AI-TestOps 中,包含着 APP 自动化测试Web 自动化测试Windows 自动化测试,基于页面元素的识别和定位来模拟用户行为,凭借精细化的 Al 图像学习能力,通过 OCR、OpenCV 等技术进行 UI 元素定位——自动执行任务——生成可视化测试报告。还有 龙测机器人系统 帮助用户实现利用机械臂模拟人工进行测试,以及龙测 NLP 实现“书写”即“操作”,测试更加智能与高效。

● AI-TestOps 功能模块

AI-TestOps 工作台界面如下,整体上呈简约风格;

在这里插入图片描述
点击右上角的“帮助”可进入龙测操作手册,AI-TestOps 的各项属性功能与操作方法一目了然,新手快速入门。

在这里插入图片描述
在工作区,第一个菜单为“项目”,可支持 Web、Windows、Linux、MacOS、Android、iOS 类型创建。

在这里插入图片描述
进入某一项目,可看到该项目的各项指标,以及对其进行用例、测试、数据等配置。

在这里插入图片描述
工作区的第二个菜单为“应用”,可查看已有应用和上传应用;管理已创建的的 Android、Windows、Linux、MacOS、IOS 应用,同一软件可上传多个版本。

在这里插入图片描述
工作区的第三个菜单为“设备”,有公有设备和私有设备,私有设备需自己上传。

在这里插入图片描述

● AI-TestOps 自动化测试流程

这里以 Web 端测试我的 CSDN 主页为例,整个流程分为四步:创建 web 项目→录制流程图→创建测试任务→查看测试报告。

首先创建项目,填写项目的名称、类型以及待测试的 URL;

在这里插入图片描述
接下来进入项目,创建新的测试用例。在这里我们便会使用到 AI-TestOps AI学习生成业务流程图 功能;

在这里插入图片描述
选择一个空闲设备开始录制;

在这里插入图片描述

如下动态 GIF 图展示了整个录制过程。先点击“录制”,然后在被测试的网站中进行相关测试操作;

在这里插入图片描述
完成录制后点击暂停,随后选择“保存”;

在这里插入图片描述

保存之后回到主页就可以看到 AI-TestOps 为我们自动生成的流程图,流程图可以生成多个,最后搭建为积木图;

在这里插入图片描述
接下来选择“任务”,新建任务,列表备选的就是我们刚刚生成的流程图,选择;

在这里插入图片描述
任务创建成功如下,可以看到任务还在执行中,等待即可;

在这里插入图片描述
待任务状态变为“已完成”,点击“详细”可以查看该任务的各项参数。如果不成功,AI-TestOps 会自动分析失败原因;

在这里插入图片描述
以下是最终报告。

在这里插入图片描述
至此,自动化测试完成。


为什么要单将 AI-TestOps 云平台拿出来介绍,其实在实际上手使用之后可以明显感受到它的优势所在。就拿 AI 学习生成业务流程图这一个功能来说,我们要做的仅是在被测网站上进行测试操作和录制即可,至于流程图 AI-TestOps 则会自动帮我们实现,保证准确度的同时极大的节省了人力和时间。而且在测试完成之后,各项指标清晰明了,包括失败原因都为我们分析的很明确,直接省去了艰难又让人头大的找 bug 环节。正实现了所谓的“机器代替人类来做软件测试”,在我看来 AI-TestOps 堪称软件测试工程师的一把“利剑”。

相关文章:

AI-TestOps —— 软件测试工程师的一把利剑

写在前面软件测试的前世今生测试工具开始盛行AI-TestOps 云平台● AI-TestOps 功能模块● AI-TestOps 自动化测试流程写在前面 最近偶然间看到一句话:“软件测试是整个 IT 行业中最差的岗位”。这顿时激起了我对软件测试领域的兴趣,虽然之前未涉及过软件…...

Linux内核进程管理原理详解

前言:Linux内核里大部分都是C语言。建议先看《Linux内核设计与实现(Linux Kernel Development)》,Robert Love,也就是LKD。Linux是一种动态系统,能够适应不断变化的计算需求。Linux计算需求的表现是以进程的通用抽象为中心的。进程可以是短期…...

通过Linux串口实现树莓派与电脑通信

目录 一 串口说明 二 USB—TTL模块 ● usb-ttl模块接口 三 串口通信常用的API 四 修改串口的配置文件 五 串口通信代码验证 ● 发送一个字符/字符串到串口 ● 树莓读取串口数据(字符) ● 代码拓展(双方) 一 串口…...

全球变暖 蓝桥杯 178

题目描述你有一张某海域 NxN 像素的照片,"."表示海洋、"#"表示陆地,如下所示:........##.....##........##...####....###........其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座…...

Java现在好找工作吗?

Java到2023年已经28岁了,可能你会怀疑它是否还一如当年一样的强大,在应用层领域独占鳌头。但是基于Java庞大的市场占有率和需求,它依然在保持着更新迭代,依然是最常用的底层开发语言,基于其安全性、开放性、稳定性和跨…...

Flink 第1章 基础介绍和特性

一 Flink概念 1.1 Flink的概念 Flink是一个框架和分布式处理引擎,用于对无界和有解数据流进行状态计算。如下图所示: 1.2 Flink的应用场景 1.3 Flink的目标 1.高吞吐量 2.低延迟 3,结果的准确性和良好的容错性。 1.4 Flink与spark的区别…...

docker 安装 nginx无坑版

一. 拉取镜像 docker pull nginx二. 创建挂载目录 mkdir -p /usr/local/nginx/conf mkdir -p /usr/local/nginx/log mkdir -p /usr/local/nginx/html三. 从nginx容器里复制nginx的配置文件到主机里 创建个容器 docker run --name nginx -p 80:80 -d nginx将容器内的配置文件…...

自己动手做chatGPT:向量的概念和相关操作

chatGPT的横空出世给人工智能注入一针强心剂,它是历史上以最短时间达到一亿用户的应用。chatGPT的能力相当惊人,它可以用相当流利的语言和人对话,同时能够对用户提出的问题给出相当顺畅的答案。它的出现已经给各个行业带来不小冲击&#xff0…...

【洛谷刷题】蓝桥杯专题突破-深度优先搜索-dfs(7)

目录 写在前面: 题目:P1596 [USACO10OCT]Lake Counting S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述: 输入格式: 输出格式: 输入样例: 输出样例: 解题思路: …...

Python嵌套函数(Nested function)和闭包(closure)

Python嵌套函数(Nested function)和闭包(closure) 闭包(closure)是建立在嵌套函数基础上的,是一种特殊的嵌套函数结构。 先看嵌套函数(Nested function)。 Python允许…...

【实战】React 必会第三方插件 —— Cron 表达式生成器(qnn-react-cron)

文章目录一、引子二、配置使用1.安装2.使用(1)直接调用(2)赋值到表单(Form)(3)自定义功能按钮(4)隐藏指定 Tab(5)其他三、常见问题及解…...

C# 教你如何终止Task线程

我们在多线程中通常使用一个bool IsExit类似的代码来控制是否线程的运行与终止,其实使用CancellationTokenSource来进行控制更为好用,下面我们将介绍CancellationTokenSource相关用法。C# 使用 CancellationTokenSource 终止线程使用CancellationTokenSo…...

整合SpringCache

整合SpringCache 1、引入依赖cache还有redis <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId> </dependency>2、写配置 spring:cache:type: redis3、测试使用缓存 Cache…...

05 - 环境变量编程

---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接&#xff1a;&#xff08;更新中&#xff09;Linux系统编程训练营 - 目录 文章目录1. 初识环境变量1.1 问题1.2 main函数&#xff08;默认进程入口&#xff09;1.3 什么是环境变量&#xff1f;1.4 环境表的构成1.5 思考2. 深…...

vue3后台管理系统

后面可参考下&#xff1a;vue系列&#xff08;三&#xff09;——手把手教你搭建一个vue3管理后台基础模板 以下代码项目gitee地址 文章目录1. 初始化前端项目初始化项目添加加载效果配置 vite.config.js2. 使用路由安装路由配置路由配置别名和跳转安装pathvite.config.jsjsco…...

掷骰子式的乐趣:探究C语言生成随机数的奥秘

掷骰子式的乐趣&#xff1a;探究C语言生成随机数的奥秘一、引言二、C标准库的rand函数三、srand函数的使用四、基于时间的种子生成五、高质量随机数的应用一、引言 C语言中生成随机数是一项非常重要的功能&#xff0c;因为许多现代应用程序需要使用随机数。随机数可以用于密码…...

一线大厂软件测试常见面试题1500问,背完直接拿捏面试官,

三、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段&#xff1a;需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的SE会把需求文档给我们自己先去了解一到两天这样&#xff0c;之后我们会有一个需求澄清会议&#xff0c; 我…...

小迪安全day12WEB漏洞-SQL注入之简要SQL注入

小迪安全day12WEB漏洞-SQL注入之简要SQL注入 注入产生原理详细分析 可控变量带入数据库查询变量未存在过滤或过滤不严谨 连接符区分 and是sql语句连接符&#xff0c;&是uel参数连接符 and 11是注入语句&#xff0c; &是添加一个新变量 数据库内容 数据库A 网站…...

自动化测试学习(七)-正则表达式,你真的会用吗?

目录 一、正则表达式在python中如何使用 二、用正则表达式匹配更多模式 三、常用字符分类的缩写代码 总结 所谓正则表达式&#xff08;regex&#xff09;&#xff0c;就是一种模式匹配&#xff0c;学会用正则匹配&#xff0c;就可以达到事半功倍的效果。 一、正则表达式在…...

验证码——vue中后端返回的图片流如何显示

目录 前言 一、p调用接口获取验证码 canvas画布渲染&#xff1f; 二、后端返回图片&#xff08;图片流&#xff09;&#xff0c;前端显示 1.blob 2.arraybuffer 总结 前言 登录界面经常会有验证码&#xff0c;验证码的实现方式也有很多&#xff0c;我目前做过以下两种&…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...