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的能力相当惊人,它可以用相当流利的语言和人对话,同时能够对用户提出的问题给出相当顺畅的答案。它的出现已经给各个行业带来不小冲击࿰…...
【洛谷刷题】蓝桥杯专题突破-深度优先搜索-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 - 环境变量编程
---- 整理自狄泰软件唐佐林老师课程 查看所有文章链接:(更新中)Linux系统编程训练营 - 目录 文章目录1. 初识环境变量1.1 问题1.2 main函数(默认进程入口)1.3 什么是环境变量?1.4 环境表的构成1.5 思考2. 深…...
vue3后台管理系统
后面可参考下:vue系列(三)——手把手教你搭建一个vue3管理后台基础模板 以下代码项目gitee地址 文章目录1. 初始化前端项目初始化项目添加加载效果配置 vite.config.js2. 使用路由安装路由配置路由配置别名和跳转安装pathvite.config.jsjsco…...
掷骰子式的乐趣:探究C语言生成随机数的奥秘
掷骰子式的乐趣:探究C语言生成随机数的奥秘一、引言二、C标准库的rand函数三、srand函数的使用四、基于时间的种子生成五、高质量随机数的应用一、引言 C语言中生成随机数是一项非常重要的功能,因为许多现代应用程序需要使用随机数。随机数可以用于密码…...
一线大厂软件测试常见面试题1500问,背完直接拿捏面试官,
三、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的SE会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, 我…...
小迪安全day12WEB漏洞-SQL注入之简要SQL注入
小迪安全day12WEB漏洞-SQL注入之简要SQL注入 注入产生原理详细分析 可控变量带入数据库查询变量未存在过滤或过滤不严谨 连接符区分 and是sql语句连接符,&是uel参数连接符 and 11是注入语句, &是添加一个新变量 数据库内容 数据库A 网站…...
自动化测试学习(七)-正则表达式,你真的会用吗?
目录 一、正则表达式在python中如何使用 二、用正则表达式匹配更多模式 三、常用字符分类的缩写代码 总结 所谓正则表达式(regex),就是一种模式匹配,学会用正则匹配,就可以达到事半功倍的效果。 一、正则表达式在…...
验证码——vue中后端返回的图片流如何显示
目录 前言 一、p调用接口获取验证码 canvas画布渲染? 二、后端返回图片(图片流),前端显示 1.blob 2.arraybuffer 总结 前言 登录界面经常会有验证码,验证码的实现方式也有很多,我目前做过以下两种&…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
加密通信 + 行为分析:运营商行业安全防御体系重构
在数字经济蓬勃发展的时代,运营商作为信息通信网络的核心枢纽,承载着海量用户数据与关键业务传输,其安全防御体系的可靠性直接关乎国家安全、社会稳定与企业发展。随着网络攻击手段的不断升级,传统安全防护体系逐渐暴露出局限性&a…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
