使用AI编写测试用例——详细教程

  • 随着今年chatGPT的大热,每个行业都试图从这项新技术当中获得一些收益
  • 我之前也写过一篇测试领域在AI技术中的探索:软件测试中的AI——运用AI编写测试用例
  • 现阶段AI还不能完全替代人工测试用例编写,但是如果把AI当做一个提高效率的工具,它将会是一个很实用很强大的辅助。
  • 经过一段时间的实践和沉淀之后,已经有一个相对成熟的模式。
  • 此篇文章则是将这段时间的经验,总结为教程分享出来。
  • 但是这种使用AI编写用例的模式仍然有很多不足的地方,也欢迎大家提出意见和建议,一起改进优化。

文章目录

  • 一、准备工作
    • (一)AI介绍
    • (二)该选择哪个AI
      • ChatGPT
      • NewBing(新必应)
      • 文言一心
    • (三)AI编写测试用例原理
  • 二、编写用例
    • (一)通过需求生成测试点
    • (二)通过测试点生成测试用例
    • (三)注意事项

一、准备工作

(一)AI介绍

  • AI即人工智能,这项技术希望产出一种以人类智能相似的方式做出反应的智能机器。
  • ChatGPT是OpenAI研发的一款聊天机器人程序。ChatGPT是人工智能技术驱动的自然语言处理工具。
  • 使用AI编写测试用例,其实是将我们提供的需求或测试点通过聊天机器人程序,对自然语言进行处理,重新组合为测试用例。

(二)该选择哪个AI

ChatGPT

  • 自从ChatGPT大热之后,大部分国内途径可以获取到的AI(聊天机器人)都为GPT-3.5版本。
  • GPT-4.0版本因为要付费等等原因,使用门槛会相对更高。
  • GPT-3.5版本当然比不上GPT-4.0版本,但如果只是用作编写测试用例的话,3.5版本也是够用的。

NewBing(新必应)

  • 微软推出的NewBing(新必应)与ChatGPT使用同一个算法模型
  • 并且New Bing的回答结果带有搜索来源的地址,即使作为普通的搜索引擎也比传统搜索引擎好用很多。
  • 最重要的一点,现阶段NewBing是免费的,并且只由单次对话的限制,对话的总次数没有限制。
  • NewBing也是我现在最常用的AI。
    在这里插入图片描述

文言一心

  • 前两个AI想要在国内访问需要一定的门槛,过程相对复杂
  • 如果只是简单的体验一下智能聊天机器人,可以尝试一下国内的文言一心
    在这里插入图片描述

(三)AI编写测试用例原理

  • 正如前面介绍的那样,聊天机器人程序本质上是一个自然语言处理工具。
  • 它就像一面镜子,它输出什么取决于你给它什么
  • 所以,该提供哪些信息,该如何下达命令,就是最核心的问题。

给AI下达命令,有一个专有名词叫prompt(提示词)

  • 例如,下图注册弹框的需求
    在这里插入图片描述
  • 我让AI生成这条需求的测试点:“1.点击手机号输入框弹出键盘。限制只能输入数字,除数字外字符输入不成功。手机号限制输入11位;”
  • 得到的结果如下,可以看到输出的结果大部分是来源于我的提示词,AI将提示词分析并重新整合,输出一份测试点。
    在这里插入图片描述
  • 这就意味着,提示词越详细,输出的内容就越贴近想要的结果,但随着而来的成本也就越高。
  • 但输出的内容不够准确,后期的修改的成本也会变高。
  • 所以,如何平衡成本也是一个很大的问题。

二、编写用例

  • 理想状态是直接把需求直接提供给AI,让AI直接写用例,但这样与实际想要达到的结果相差甚远。
  • 所以建议,先使用需求通过AI生成测试点,再测试点通过AI生成测试用例。
  • 以下示例说明以newbing为例

(一)通过需求生成测试点

  • 下面是向AI发出指令的模板,黄色字的内容是可选项或说明:
    注意:由于AI回复的字数有限制,建议对需求进行分块分类型,然后分批生成测试点。

我是一名移动端软件测试工程师,下面这份需求帮我输出一份测试点,(或 每条测试点需要输出正向和逆向的用例)
需求名称:需求名称
需求说明:需求说明
输出要求:将测试点分为触发条件、触发时机、样式、功能逻辑、异常处理几个模块,并且新增一列,表明所属的模块。(如果是非页面性的功能,使用触发条件、触发时机,如果是页面、弹框等,使用展示条件、展示时机)
输出格式:表格,分为序号、所属模块、测试点,总共三列。

  • 以下图注册弹框的需求为例,使用的AI是newbing
    在这里插入图片描述
    • 按照模板编辑后,黏贴到newbing并发送
      在这里插入图片描述
    • 输出的结果如下
      在这里插入图片描述

(二)通过测试点生成测试用例

  • 下面是向AI发出指令的模板,蓝色字的内容是可选项或说明:
    注意:由于AI回复的字数有限制,建议跟生成测试点一样,分批生成测试用例。

我是一名移动端软件测试工程师,下面这份是针对移动端软件的测试点,帮我输出一份测试用例,每条测试点用一条以上用例验证 (或 每条测试点需要输出正向和逆向的用例)
需求名称:需求名称(需求名尽量概述功能点)
模块名称:模块名称(用例中所属模块)
需求说明:需求说明
功能流程:功能流程(可以写一条正向的流程)
输出要求:需要包含用例名称、所属模块(填写测试点所属模块名称)、前置条件(非必填,可为空)、测试步骤、预期结果
输出格式:表格。

  • 以上面输出的测试点为例:
    • 先编辑模板,黏贴到newbing并发送
      在这里插入图片描述
    • 输出的结果如下
      在这里插入图片描述

(三)注意事项

  1. 遇到输出数据不完整时,可以让AI继续输出后续的内容。例如:“从第五条开始,继续输出剩下的用例”
  2. 注意,AI直接输出的结果,大部分不够准确,还是需要经过人工审核,

此篇文章只是提供了一个可行的方法,但是它还不完美,欢迎大家一起讨论一个更完美的为未来~

————————————————————————————————————————————
本人运营的博客同名公众号【软件测试必备技能】不定期会上传测试相关资料,可点击文章下方二维码,前往领取~
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下拉选择框监听el-option的方式

<el-select v-model"form.expenseType" placeholder"请选择费用类型" clearable filterable size"small"><el-option v-for"item in expenseNameList" :key"item.value" :label"item.label" :value"…

Linux搭建文件服务器

搭建简单文件服务器 基于centos7.9搭建http文件服务器基于centos7.9搭建nginx文件服务器基于ubuntu2204搭建http文件服务器 IP环境192.168.200.100VMware17 基于centos7.9搭建http文件服务器 安装httpd [rootlocalhost ~]# yum install -y httpd关闭防火墙以及selinux [roo…

10种常用基础模块电路,电子控制不再是难题!

你是否曾经为电子控制中的复杂电路而烦恼&#xff1f; 现在&#xff0c;我将向你展示10个最具实用性和普遍性的模块电路图&#xff0c;让你轻松掌握电子控制的核心技术&#xff01; 这些电路图不仅简单易懂&#xff0c;而且非常具有趣味性&#xff1a; 1、RS232通讯电路&…

ZKP5.2 PLONK IOP

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 5: The Plonk SNARK (Dan Boneh) 5.2 Proving properties of committed polynomials overview Polynomial equality testing with KZG KZG: determined commitment (if the function is equal, then the commitment is equa…

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题 需求&#xff1a;左边这列固定x行&#xff0c;右边显示下拉&#xff0c;并且赋上默认值 public void Set(){// 添加需要固定显示的行数dataGridView1.Rows.Add("早班";dataGridView1.Rows.Add("中…

大数据高级面试题

大数据高级面试题 Kafka的producer如何实现幂等性? Producer 幂等性 Producer 的幂等性指的是当发送同一条消息时&#xff0c;数据在 Server 端只会被持久化一次&#xff0c;数据不丟不重&#xff0c;但是这里的幂等性是有条件的&#xff1a; 只能保证 Producer 在单个会话内…

json-server工具准备后端接口服务环境

1.安装全局工具json-server&#xff08;全局工具仅需要安装一次&#xff09; 官网&#xff1a;json-server - npm 点击Getting started可以查看使用方法 在终端中输入yarn global add json-server或npm i json-server -g 如果输入json-server -v报错 再输入npm install -g j…

java读取指定文件夹下的全部文件,并输出文件名,文件大小,文件创建时间

import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.*; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { try { Path startingDir Paths.get("你的目…

一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装

一、目的 在安装好Flume之后&#xff0c;需要用一个工具可以对Flume数据传输进行实时监控&#xff0c;这就是Ganglia 二、Ganglia介绍 Ganglia 由 gmond、gmetad 和 gweb 三部分组成。 &#xff08;一&#xff09;第一部分——gmond gmond&#xff08;Ganglia Monitoring Da…

学生学徒作品分享——金融大模型-房屋租金价格影响因素分析与预测

金融大模型-房屋租金价格影响因素分析与预测项目背景 广州作为中国最发达的城市之一&#xff0c;每年都吸引大量务工人员前来就业&#xff0c;而租房是他们需要解决的最大问题之一&#xff0c;各地区租房需求日益增长。在租房过程&#xff0c;价格、交通是重要的考虑因素&a…

OpenCV 笔记(2):图像的属性以及像素相关的操作

Part11. 图像的属性 11.1 Mat 的主要属性 在前文中&#xff0c;我们大致了解了 Mat 的基本结构以及它的创建与赋值。接下来我们通过一个例子&#xff0c;来看看 Mat 所包含的常用属性。 先创建一个 3*4 的四通道的矩阵&#xff0c;并打印出其相关的属性&#xff0c;稍后会详细…