ChatGPT生成测试用例的最佳实践(一)

       前面介绍的案例主要展示了ChatGPT在功能、安全和性能测试用例生成方面的应用和成果。通过ChatGPT生成测试用例,测试团队不仅可以提升工作效率,还可以加快测试工作的速度,尽早发现被测系统中的问题。问题及早发现有助于提高软件的质量和用户满意度。

ChatGPT在功能、安全和性能测试用例生成方面的应用为我们提供了一种创新的方法,可以极大地提高测试的工作效率。

    下面仍以百度搜索项目为例,介绍如何应用ChatGPT来生成功能和安全测试用例。

具体操作步骤如下。

问题描述:测试团队定义问题描述,着重测试百度搜索项目的核心业务即关键字搜索业务。这是平时用户应用为频繁的功能之一、测试人员必测的内容。
ChatGPT交互:测试团队与ChatGPT进行交互,向其提供问题描述;ChatGPT理解测试的范围,并迅速生成相应的测试用例。

        在ChatGPT的输入框中输入“请生成一份基于百度关键字搜索业务的测试用例集。你是一名资深测试专家,基于目前百度搜索业务,输出一份名称为‘百度关键字搜索-测试用例集’的测试用例集文档,要求考虑等价类、边界值、判定表、正交实验法等测试用例设计方法,以及SQL注入、XSS攻击等安全性测试用例的设计。”。生成百度关键字搜索业务测试用例集的提示词及ChatGPT输出的结果,如图3-1所示。

图3-1  生成百度关键字搜索业务测试用例集的提示词及ChatGPT输出结果

测试用例生成:从生成的百度关键字搜索业务测试用例集来看,其并不符合测试用例的规范格式。一个测试用例通常至少包括测试编号、前置条件、测试步骤、预期结果这4项内容,目前ChatGPT给出的格式明显不符合要求。

       因此,借助ChatGPT会话支持上下文的功能,笔者输入“你并没有按照测试用例的格式输出,请按照规范的测试用例格式编写相关用例”提示词。按照规范格式输出测试用例的提示词及ChatGPT输出的测试用例集内容,如图3-2所示。

图3-2  按照规范格式输出测试用例的提示词及ChatGPT输出的测试用例集

         这次ChatGPT输出的测试用例集完全符合要求,如下所示。

按照规范格式输出测试用例的提示词及ChatGPT输出的测试用例集

非常抱歉,以下是按照规范测试用例格式编写的百度关键字搜索的测试用例集:

百度关键字搜索-测试用例集

1. 搜索输入框测试

1.1 针对搜索关键字的输入合法性

测试编号: TC001

前置条件: 用户打开百度搜索页面

测试步骤:

  1. 在搜索输入框中输入一个有效关键字(例如:"测试"
  2. 点击搜索按钮

预期结果: 显示搜索结果页面。

测试编号: TC002

前置条件: 用户打开百度搜索页面

测试步骤:

  1. 在搜索输入框中输入多个有效关键字(例如:"软件测试方法"
  2. 点击搜索按钮

预期结果: 显示搜索结果页面。

测试编号: TC003

前置条件: 用户打开百度搜索页面

测试步骤:

  1. 在搜索输入框中输入特殊字符(例如:"#$%^"
  2. 点击搜索按钮

预期结果: 显示错误消息提示。

1.2 针对搜索建议的测试

测试编号: TC004

前置条件: 用户打开百度搜索页面

测试步骤:

在搜索输入框中输入部分关键字(例如: ""

预期结果: 显示搜索建议列表。

测试编号: TC005

前置条件: 用户打开百度搜索页面

测试步骤:

在搜索输入框中输入多个部分关键字(例如: "软件测"

预期结果: 显示搜索建议列表。

2. 搜索结果页面测试

2.1 针对搜索结果的验证

测试编号: TC006

前置条件: 用户输入合法关键字并点击搜索按钮

测试步骤: 检查搜索结果页面

预期结果: 显示相关的搜索结果。

测试编号: TC007

前置条件: 用户输入合法关键字并点击搜索按钮

测试步骤:

点击下一页按钮

预期结果: 显示下一页的搜索结果。

测试编号: TC008

前置条件: 用户输入合法关键字并点击搜索按钮

测试步骤:

点击上一页按钮

预期结果: 显示上一页的搜索结果。

2.2 针对搜索结果排序

测试编号: TC009

前置条件: 用户输入合法关键字并点击搜索按钮

测试步骤:

选择按相关性排序

预期结果: 结果按相关性排序。

测试编号: TC010

前置条件: 用户输入合法关键字并点击搜索按钮

测试步骤:

选择按时间排序

预期结果: 结果按时间排序。

3. 安全性测试

3.1 SQL注入

测试编号: TC011

前置条件: 用户在搜索输入框中输入恶意SQL查询(例如: "'; DROP TABLE Users --"

测试步骤: 检查搜索结果或页面行为

预期结果: 拒绝查询并显示错误消息。

3.2 跨站脚本(XSS)攻击

测试编号: TC012

前置条件: 用户在搜索输入框中输入包含XSS脚本的关键字(例如: "<script>alert('XSS Attack')</script>"

测试步骤: 检查搜索结果或页面行为

预期结果: 过滤并显示普通文本。

这是一个简单的测试用例示例,具体测试用例的设计和数量可以根据具体需求和应用场景进行扩展和定制。同时,需要注意,测试用例集应根据百度搜索的实际功能和特性来进一步完善。

         这种测试用例还不够直观,能不能让其以表格的形式显示呢?笔者输入“请以表格形式展示,谢谢。”提示词,ChatGPT输出的部分内容如图3-3所示。(未完待续)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【从零开始入门unity游戏开发之——C#篇04】栈(Stack)和堆(Heap),值类型和引用类型,以及特殊的引用类型string

文章目录 知识回顾一、栈&#xff08;Stack&#xff09;和堆&#xff08;Heap&#xff09;1、什么是栈和堆2、为什么要分栈和堆3、栈和堆的区别栈堆 4、总结 二、值类型和引用类型1、那么值类型和引用类型到底有什么区别呢&#xff1f;值类型引用类型 2、总结 三、特殊的引用类…

欧科云链研究院:AI时代,如何证明“我是我”?

OKG Research&#xff5c;编辑 近日&#xff0c;OpenAI 发布了新模型 Sora。这是一款高性能的文本到多模态生成工具&#xff0c;支持从文本生成精细的图像和动态视频。 相较早先发布的视频样例&#xff0c;该功能目前已经可以由用户真实上手体验&#xff0c;目前由于服务过载…

【老白学 Java】日期 / 时间格式化

日期 / 时间格式化 文章来源&#xff1a;《Head First Java》修炼感悟。 本篇文章&#xff0c;老白把日期和时间的格式化参数进行了整理&#xff0c;方便以后查阅&#xff0c;更加详细的说明请参考 Java API 文档。 一、语法解释 %&#xff0c;必要参数&#xff0c;用于引用参…

说说你对java lambda表达式的理解?

大家好&#xff0c;我是锋哥。今天分享关于【说说你对java lambda表达式的理解?】面试题。希望对大家有帮助&#xff1b; 说说你对java lambda表达式的理解? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Java Lambda 表达式是 Java 8 引入的一项重要特性&#…

【roadMap】我转行软件测试的经历

软件测试这行咋样&#xff1f; 如果你简单了解过「软件测试工程师」这个岗位&#xff0c;就会知道它的基本特点&#xff1a; 待遇比开发低&#xff0c;比其他行业高入门丝滑&#xff0c;算是技术岗最简单的一类测试行业有细分领域&#xff1a;功能、性能、自动化… 每个行业…

[笔记] 编译LetMeowIn(C++汇编联编程序)过程

文章目录 前言过程下载源码vs2017 创建空项目 引入编译文件改项目依赖属性改汇编编译属性该项目还需注意编译运行 总结 前言 编译LetMeowin 项目发现是个混编项目&#xff0c;c调用汇编的程序&#xff0c;需要配置一下&#xff0c;特此记录一下 过程 下载源码 首先下载源码…

从开始实现扩散概率模型 PyTorch 实现

目录 一、说明 二、从头开始实施 三、线性噪声调度器 四、时间嵌入 五、下层DownBlock类块 六、中间midBlock类块 七、UpBlock上层类块 八、UNet 架构 九、训练 十、采样 十一、配置&#xff08;Default.yaml&#xff09; 十二、数据集 (MNIST) keyword&#xff1a; Diffusion…

MTK Android12 更换开机LOGO和开机动画

1、路径&#xff1a; &#xff08;1&#xff09;device/mediatek/system/common/device.mk &#xff08;2&#xff09;vendor/audio-logo/animation/bootanimation.zip &#xff08;3&#xff09;vendor/audio-logo/products/resource-copy.mk &#xff08;4&#xff09;vendo…

数据分析思维(一):业务指标(数据分析并非只是简单三板斧)

个人认为&#xff0c;数据分析并非只是简单的数据分析工具三板斧——Excel、SQL、Python&#xff0c;更重要的是数据分析思维。没有数据分析思维和业务知识&#xff0c;就算拿到一堆数据&#xff0c;也不知道如何下手。 推荐书本《数据分析思维——分析方法和业务知识》&#x…

matlab测试ADC动态性能的原理

目录 摘要&#xff1a; 简介&#xff1a; 动态规范和定义 动态规格&#xff1a; 双面到单边的功率谱转换 摘要&#xff1a; 模数转换器&#xff08;adc&#xff09;代表了接收器、测试设备和其他电子设备中的模拟世界和数字世界之间的联系。正如本文系列的第1部分中所概述…

5G中的ATG Band

Air to Ground Networks for NR是R18 NR引入的。ATG很多部分和NTN类似中的内容类似。比较明显不同的是&#xff0c;NTN的RF内容有TS 38.101-5单独去讲&#xff0c;而ATG则会和地面网络共用某些band&#xff0c;这部分在38.101-1中有描述。 所以会存在ATG与地面网络之间的相邻信…

vue组件开发:构建响应式快捷导航

前言 快捷导航不仅能够显著提升系统的灵活性和用户交互性&#xff0c;还极大地增强了用户的操作体验。本文将展示如何在 vue 中实现一个既可自定义又具备响应式特性的快捷导航菜单。 一、实现思路 列表页 结构设计 定义页面结构&#xff0c;包含一个导航卡片和一个对话框组件&a…

事务管理与锁机制

title: 事务管理与锁机制 date: 2024/12/14 updated: 2024/12/14 author: cmdragon excerpt: 在数据库系统中,事务管理至关重要,它确保多个数据库操作能够作为一个单一的逻辑单元来执行,从而维护数据的一致性和完整性。一个良好的事务管理系统能够解决并发操作带来的问题…

《操作系统 - 清华大学》7 -1:全局页面置换算法:局部页替换算法的问题、工作集模型

文章目录 1. 局部页替换算法的问题2. 全局置换算法的工作原理3. 工作集模式3.1 工作集3.2 工作集的变化 4 常驻集 1. 局部页替换算法的问题 局部页面置换算法 OPT&#xff0c;FIFO&#xff0c;LRU&#xff0c;Clock 等等&#xff0c;这些算法都是针对一个正在运行的程序来讲的…

力扣-图论-12【算法学习day.62】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…

每日十题八股-2024年12月14日

1.类加载器有哪些&#xff1f; 2.双亲委派模型的作用 3.讲一下类加载过程&#xff1f; 4.讲一下类的加载和双亲委派原则 5.什么是Java里的垃圾回收&#xff1f;如何触发垃圾回收&#xff1f; 6.判断垃圾的方法有哪些&#xff1f; 7.垃圾回收算法是什么&#xff0c;是为了解决了…

智能引导小车充电系统设计(论文+源码)

1总体方案设计 在16*16点阵LED字符显示器的设计中&#xff0c;系统总体框架如图2.4所示&#xff0c;包括单片机主控模复位电路模块、晶振电路模块、按键电路模块、LED点阵驱动电路模块&#xff0c;蓝牙模块等构成。系统功能实现主要是利用系统在软件程序编写过程中&#xff0c…

【Vue】自定义指令、插槽

目录 自定义指令 是什么 作用 使用方法 定义 使用 自定义指令配合绑定数据 语法 自定义指令的简写 语法 使用时机 插槽 什么是插槽 默认&#xff08;匿名&#xff09;插槽 ​编辑插槽的默认值 具名插槽 使用方法 简写 使用示例 作用域插槽 自定义指令 是什…

顺序队列的实现及其应用

一、概念 队列是允许在两端&#xff08;队头、队尾&#xff09;进行插入和读出操作的线性表 默认情况下&#xff0c;队尾插入&#xff0c;队头读出&#xff08;这一点和排队很像&#xff09;&#xff0c;先进先出FIFO 队中没有元素时称为空队 当队列两端都允许插入、读出时&…

Web安全深度剖析

1.Web安全简介 ​ 攻击者想要对计算机进行渗透&#xff0c;有一个条件是必须的&#xff0c;就是攻击者的计算机与服务器必须能够正常通信&#xff0c;服务器与客户端进行通信依靠的就是端口。 ​ 如今的web应该称之为web应用程序&#xff0c;功能强大&#xff0c;离不开四个要…