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

news2024/11/19 8:27:11

    • 写在前面
    • 软件测试的前世今生
    • 测试工具开始盛行
    • 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 堪称软件测试工程师的一把“利剑”。

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

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

相关文章

堆排序及常见面试题

⭐️前言⭐️ 本篇文章记录堆排序以及对应的一些练习。 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 🍉博客中涉及源码及博…

硬“核”数字员工:中国核能行业协会携手实在智能,成功举办核能行业数字化实战培训

导语: 近期,中国核能行业协会携手实在智能,成功举办核能行业数字化实战培训,通过理论学习和参与实践,学员们亲手打造出一个个硬“核”数字员工。 十多张表格快速切换,无数串数字在面前跳动,上岗…

数据中台建设:千万级的瀑布式,和十万级的迭代式,你会选择哪一个?

中台十年,再看已成桑田。 最初,为了解决互联网行业快速发展催生出的海量数据累积和碎片化问题,企业开始尝试将数据整合到一个中央平台,以提高数据的使用效率和管理水平,中台建设雏形初现。巨头领跑之下,从…

刷题笔记【7】| 快速刷完67道剑指offer(Java版)

本文已收录于专栏 🌻 《刷题笔记》 文章目录 前言🎨 1、二叉树中和为某一值的路径题目描述思路(深度优先搜索) 🎨 2、复杂链表的复制题目描述思路 🎨 3、二叉搜索树与双向链表题目描述思路 🎨 4…

【蓝桥杯省赛真题20】python二次加密 青少年组蓝桥杯比赛python编程省赛真题解析

目录 python二次加密 一、题目要求 1、编程实现 2、输入输出 二、解题思路

STATS 782 - Numerical Computation

文章目录 一、Simple Graphics1. 用 plot()函数画图 二、Optimization1. 简单求最值2. Interpolation(插值)3. optim()函数 一、Simple Graphics 1. 用 plot()函数画图 x 和 y&…

Linux常用命令——iptables命令

在线Linux命令查询工具 iptables Linux上常用的防火墙软件 补充说明 iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。 补充说明 - 语法选项基本参数 - 命令选项输入顺序工作机制…

【java】CGLIB动态代理原理

文章目录 1. 简介2. 示例3. 原理4. JDK动态代理与CGLIB动态代理区别(面试常问) 1. 简介 CGLIB的全称是:Code Generation Library。 CGLIB是一个强大的、高性能、高质量的代码生成类库,它可以在运行期扩展Java类与实现Java接口&a…

【SAP Abap】X-DOC:SE43 - SAP 用户菜单定义

X-DOC:SE43 - SAP 用户菜单定义 1、菜单结构2、菜单配置3、菜单自定义4、实践演示 1、菜单结构 SAP的菜单栏,支持按层次结构配置,包括以下两个概念: (1)菜单项:具体的一个菜单目录或菜单项&…

爬虫日常-12306自动购票程序

文章目录 前言页面分析代码设计 前言 hello兄弟们,最近在钻研新鲜知识,一不留神没想起来更新。今天我们顺着前面几篇文章完整的写出一篇12306的自动购票软件。 首先把我们已经写完的前期步骤代码再顺一遍 from selenium.webdriver import Chrome from…

阿里大佬都在熬夜肝的Java程序优化笔记,程序性能提高了5倍!

前言 此笔记从软件设计、编码和JVM等维度阐述性能优化的方法和技巧,分享资深架构师Java程序性能优化的宝贵经验,专注于Java应用程序的优化方法、技巧和思想,并深度剖析JDK部分的实现。具有较强的层次性和连贯性,深入剖析软件设计…

Word控件Spire.Doc 【脚注】教程(5):单词脚注的位置与数字格式

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

1.19 从0开始学习Unity游戏开发--扩展编辑器

在之前的篇章里面,我们一直在编辑器里面干活,然后做好资源的编辑和代码开发后,我们可以直接在编辑器内点击那个播放按钮就能真实的把游戏跑起来,但是有时候,我们可能希望在菜单里面加个按钮,这样我们可以直…

C++ STL学习之【容器适配器】

✨个人主页: 夜 默 🎉所属专栏: C修行之路 🎊每篇一句: 图片来源 A year from now you may wish you had started today. 明年今日,你会希望此时此刻的自己已经开始行动了。 文章目录 🌇前言&a…

内存泄漏动态检测(valgrind)

初步判断是否有泄漏 Linux 内存性能优化 —— 高内存使用及内存泄漏排查 比如该文的介绍,需要初步了解top free -h等命令; 主要看free 内存泄漏检测方法: 静态我常用的是cppcheck; 动态的 Linux下内存泄漏定位方法 这个文章…

Node.js 一:基础

1.node.js是什么: 2.node.js的作用: 1.服务器应用:b站.. 2.开发工具类应用:webpack,bable等等 3.桌面端应用:vscode,postman等 这些应用都是基于electron框架开发,electron基于node…

【设计模式】23种设计模式之行为型模式

一、模板方法模式 1、豆浆制作问题 编写制作豆浆的程序,说明如下: 1)、制作豆浆的流程 选材--->添加配料--->浸泡--->放到豆浆机打碎 2)、通过添加不同的配料,可以制作出不同口味的豆浆 3)、选材、浸泡和放…

拥抱还是革命,ChatGPT时代 AI专家给出15条科研生存之道

来源:专知 微信号:Quan_Zhuanzhi 你是学术机构的人工智能研究员吗?你是否担心自己无法应对当前人工智能的发展步伐?您是否觉得您没有(或非常有限)访问人工智能研究突破所需的计算和人力资源?你并不孤单; 我们有同样的感觉。越来越多的人工智能学者不…

vuepress-yarn-nodes-静态网页_个人博客搭建

nodes官网:https://nodejs.org/en 先下载nodes进行安装,一般nodes会自带包管理器npm,注意npm与nodes的对应关系,除了npm之外还有yarn包管理器,一般会用npm安装这个包 npm install --global yarnnpm降低版本的方法 np…

LeetCode 1026. 节点与其祖先之间的最大差值

【LetMeFly】1026.节点与其祖先之间的最大差值 力扣题目链接:https://leetcode.cn/problems/maximum-difference-between-node-and-ancestor/ 给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V |A.val - B.val…