软件测试/测试开发丨突破传统,革新测试:ChatGpt指引下的测试方案编写
点此获取更多相关资料
简介
测试方案是指描述需要被测产品的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。
我们常常需要根据产品的特性、测试策略等几个方向输出对应的测试方案。在写测试方案的过程中,常常会碰到没有头绪的问题。而利用ChatGPT可以很好的帮助我们解决这些问题。
实践演练
在使用ChatGPT输出测试方案之前,需要先明确需要输出的测试方案的需求是什么?然后根据原始的需求将内容进行拆解。再让ChatGPT给到对应的回复。
测试需求
功能说明:高级搜索选项。 按作者搜索:允许用户根据帖子作者进行搜索。 按时间范围搜索:允许用户指定搜索结果的发布时间范围。 按分类搜索:允许用户在特定论坛板块中进行搜索。
编写测试方案
- 提示词:现在需要针对于高级搜索选项这个功能输出对应的测试方案。
高级搜索功能测试方案1. 测试目标:
确保高级搜索功能在各种情况下都能够准确地过滤和检索信息,同时提供用户友好的界面和错误处理。2. 测试特性:
- 关键词搜索
- 过滤条件设置
- 高级搜索界面
- 错误处理和用户提示3. 测试方法:3.1 关键词搜索测试:
- 输入各种类型的关键词,包括短语、单词、特殊字符等,验证搜索结果是否符合预期。
- 测试搜索结果的排序是否正确,是否按照相关性或其他规则排列。
- 测试搜索的响应时间,确保搜索速度在可接受范围内。3.2 过滤条件设置测试:
- 测试各种不同的过滤条件,例如时间范围、文件类型、作者等,验证过滤功能是否有效。
- 针对每个过滤条件,测试正确设置时的结果和错误设置时的提示信息。3.3 高级搜索界面测试:
- 验证高级搜索界面的布局和元素是否符合设计和用户体验标准。
- 测试在不同屏幕尺寸和浏览器上的界面兼容性。
- 检查界面元素的交互性,如下拉菜单、复选框等是否能够正确选择和取消。3.4 错误处理和用户提示测试:
- 测试输入错误的搜索条件时系统的反应,确保用户能够得到明确的错误提示。
- 测试系统在高负载情况下的表现,避免系统崩溃或响应缓慢。
- 验证用户在搜索过程中的中断恢复能力,例如网络中断后重新连接是否能够继续之前的搜索。4. 测试环境规划:
- 使用不同的浏览器(如Chrome、Firefox、Edge)和设备(PC、移动设备)进行测试,以确保跨平台兼容性。
- 配置多种操作系统和网络环境,以模拟真实用户的使用情况。5. 测试工具的设计和选择:
- 使用自动化测试工具(如Selenium、Cypress)来执行重复性高的测试用例,如界面布局测试和关键词搜索测试。
- 使用性能测试工具(如JMeter、LoadRunner)来模拟高负载情况下的性能测试。6. 测试用例的设计方法:
- 设计正向测试用例,验证功能按预期工作。
- 设计边界测试用例,测试输入的极限情况。
- 设计负向测试用例,测试系统的容错和错误处理能力。7. 测试代码的设计方案:
- 对于自动化测试,编写清晰、可维护的测试脚本,包括必要的断言和日志记录。
- 使用版本控制工具(如Git)管理测试代码,确保团队成员协作开发和代码审查。8. 预期结果和报告:
- 每个测试用例应该有明确的预期结果,用于判断功能是否正常。
- 测试报告应该清楚地列出每个测试的结果、问题和建议的解决方案。通过执行上述测试方案,您将能够全面地评估高级搜索功能的性能、稳定性和用户体验,并确保在各种使用情况下都能够正常工作。
可以再进一步的明确我们的需求和产品。
- 提示词:现在需要针对于高级搜索选项这个功能对应的产品形态为App应用,请补充你的测试方案。
高级搜索功能在App应用中的测试方案1. 测试目标:
确保App应用中的高级搜索功能能够在不同移动设备上稳定运行,准确地过滤和检索信息,并提供良好的用户体验。2. 测试特性:
- 关键词搜索
- 过滤条件设置
- 移动设备适配
- 用户界面和交互
- 错误处理和用户提示3. 测试方法:3.1 关键词搜索测试:
- 在不同设备上输入各种类型的关键词,验证搜索结果的准确性和相关性。
- 测试搜索结果的滚动和加载性能,确保在大量结果情况下的流畅体验。3.2 过滤条件设置测试:
- 测试各种不同的过滤条件,例如时间范围、地点、文件类型等,验证过滤功能是否准确生效。
- 测试在过滤条件变更时,结果的实时更新和反应速度。3.3 移动设备适配测试:
- 在不同尺寸和分辨率的移动设备上进行测试,确保界面元素的布局和显示效果正常。
- 验证横屏和竖屏模式下的界面适配性。3.4 用户界面和交互测试:
- 检查用户界面的布局、颜色和字体是否符合设计规范。
- 测试交互元素,如按钮、下拉菜单、输入框等的响应性和可用性。
- 验证用户操作流程是否直观,例如设置过滤条件、启动搜索等。3.5 错误处理和用户提示测试:
- 测试输入错误的搜索条件时,系统的反应和提示信息是否明确。
- 验证网络中断后的搜索状态恢复能力,以及其他异常情况下的错误处理机制。4. 测试环境规划:
- 使用不同型号的移动设备(iOS和Android)进行测试,覆盖主流设备和版本。
- 模拟不同网络情况,包括3G、4G、Wi-Fi等,以测试在不同网络环境下的性能表现。5. 测试工具的设计和选择:
- 使用移动设备模拟器或云测试平台(如AWS Device Farm、Firebase Test Lab)来进行跨设备的测试。
- 使用Appium、XCUITest(iOS)、Espresso(Android)等自动化测试工具来执行自动化测试。6. 测试用例的设计方法:
- 设计适用于移动设备的正向、边界和负向测试用例,覆盖不同情况和场景。
- 针对触摸操作、手势和设备旋转等特殊情况,设计相应的测试用例。7. 测试代码的设计方案:
- 编写适用于移动应用的自动化测试脚本,确保脚本能够在不同设备和操作系统上运行。
- 使用版本控制工具管理移动应用测试代码,进行团队协作和代码审查。8. 预期结果和报告:
- 测试用例应具备明确的预期结果,用于判断功能是否正常。
- 测试报告应清楚地记录每个测试的结果、问题和建议的解决方案,重点关注移动设备的适配性和性能。通过执行上述测试方案,您将能够全面地评估高级搜索功能在App应用中的性能、稳定性和用户体验,从而确保用户可以在移动设备上无缝地使用该功能。
然后我们可以看到没有针对于App的专项测试,比如耗电量等。可以通过提示词,继续补充对应的内容。
- 提示词:你的测试方案缺少针对于App的专项测试内容,比如耗电量测试。
高级搜索功能在App应用中的测试方案(包括专项测试内容)1. 测试目标:
确保App应用中的高级搜索功能能够在不同移动设备上稳定运行,准确地过滤和检索信息,并提供良好的用户体验。同时,还要关注一些专项测试内容,如耗电量测试、内存占用测试等。2. 测试特性:
- 关键词搜索
- 过滤条件设置
- 移动设备适配
- 用户界面和交互
- 错误处理和用户提示
- 耗电量测试
- 内存占用测试3. 测试方法:(前面的测试方法内容基本保持不变)3.6 耗电量测试:
- 使用耗电量测试工具(如Monsoon Power Monitor、Battery Historian)模拟不同使用场景下的耗电情况。
- 测试在不同搜索条件和使用时长下,App的耗电量是否在合理范围内。
- 关注后台搜索、结果显示等情况对耗电的影响,以及在不同设备上的差异。3.7 内存占用测试:
- 使用内存分析工具(如Android Studio的Profiler、Xcode的Instruments)监测App在不同操作下的内存占用情况。
- 测试在搜索过程中是否出现内存泄漏、过度占用等问题。
- 确保App在长时间使用后不会出现内存崩溃或性能下降的情况。4. 测试环境规划:
(前面的测试环境规划内容基本保持不变)5. 测试工具的设计和选择:
(前面的测试工具的设计和选择内容基本保持不变,可以针对耗电量测试和内存占用测试选择相应的工具)6. 测试用例的设计方法:
(前面的测试用例的设计方法内容基本保持不变,需要额外设计涉及耗电量和内存占用的测试用例)7. 测试代码的设计方案:
(前面的测试代码的设计方案内容基本保持不变,可以考虑在自动化测试脚本中集成耗电量和内存占用的监测和记录)8. 预期结果和报告:
(前面的预期结果和报告内容基本保持不变,需要在测试报告中详细记录耗电量和内存占用的测试结果)通过执行上述更新后的测试方案,您将能够全面地评估高级搜索功能在App应用中的性能、稳定性和用户体验,同时也关注了耗电量和内存占用等专项测试内容,以确保用户可以在移动设备上愉快地使用该功能,并且不会对设备性能造成过大的影响。
如此一来,便可以通过提示词优化一步步优化测试方案。再次强调一下,越是复杂的项目,越需要将提示词做进一步的优化。
总结
在这次实践中,我们使用了ChatGPT 提示词的以下技巧:
1.写清楚需求:在给出提示词的时候,不要模棱两可,把所知道的所有背景都交代清楚。比如产品需求,还有项目背景。
2.将复杂的任务拆分为更简单的子任务:需求分析本身就是一个复杂的过程,我们需要逐步拆解,并纠正GPT的回复,引导GPT给到更多的信息。
3.系统的测试变化:在交互的过程中,会发现ChatGPT无法一次满足需求,所以可以进一步纠正它的回复,直到满意为止。
相关文章:
软件测试/测试开发丨突破传统,革新测试:ChatGpt指引下的测试方案编写
点此获取更多相关资料 简介 测试方案是指描述需要被测产品的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设计方法、测试代码的设计方案。 我们常常需要根据产品的特性、测试策略等几个方向输出对应的测试方案。在写测试方案的过程中,常…...
JVM-垃圾回收器详解、参数配置
相关概念 并行和并发 并行(Parallel) 指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发(Concurrent) 指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行…...
计算机算法分析与设计(1)---求算法时间复杂性(手写例题)
文章目录 一、主定理求解二、递归树求解三、递归树求解含O的递归方程 一、主定理求解 二、递归树求解 三、递归树求解含O的递归方程...
MyBatisPlus 分页查询
首先要定义一个配置类 MybatisConfig 放在 config 类下 他的生效是通过拦截生效的 所以是要写拦截器的 (这段拦截器的配置是固定的 CV 也可以) Configuration public class MybatisConfig{Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){// 1.定义MybatisPlu…...
Kafka3.1部署和Topic主题数据生产与消费
文章目录 前言一、Kafka3.1X版本在Windows11主机部署二、Kafk生产Topic主题数据1.kafka生产数据2.JAVA kafka客户端消费数据 总结 前言 本章节主要讲述Kafka3.1X版本在Windows11主机下部署以及JAVA对Kafka应用: 一、Kafka3.1X版本在Windows11主机部署 1.安装JDK配…...
ICIF2023化工展首亮相,宏工科技解决方案助力制造升级
ICIF China 2023中国国际化工展览会于9月4日-6日在上海新国际博览中心举办。宏工科技携化工物料处理一站式解决方案首次亮相,同化工行业全产业链共叙物料处理自动化未来。 宏工科技是一家提供物料处理自动化设备、系统与服务的国家级高新技术企业,业务覆…...
本地部署kubesphere集群
本地部署kubesphere集群 本文采用一主两从结构 1.前置硬件准备 准备最少3台机器,本人分配如下 IP:192.168.58.10 (主) 192.168.58.11 (节点1) 192.168.58.12 (节点2) 系统镜像…...
HNU小学期工训-STC15单片机模型大作业实验报告
STC15单片机模型大作业实验报告 全称:基于STC15单片机与OLED显示模块&PC端演示的多功能声光温振时钟智能手表模型 计科210X 甘晴void 202108010XXX 【请注意:本作业入选优秀范例,直接照抄源码有很大风险】 【建议理解原理之后作改动】 …...
【计算机网络】 TCP协议头相关知识点
文章目录 TCP协议头 TCP协议头 我们来看一下TCP协议头里都有什么东西,研究一下为什么TCP协议是可靠的呢 TCP协议可靠是因为在协议头里带着一些校验的数据 首先是源端口和目的端口,这两个是UDP中也有的,但是UDP中只有这两个,没有…...
深度学习相关VO梳理
相关论文 基于学习的VO 相关: DeepVO Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks(ICRA,2017) TartanVO: A Generalizable Learning-based VO(CoRL2021) SimVODIS: Simultaneous Vis…...
SpringMVC---CRUD实现
思路分析 搭建环境逆向生层对应的类(model、mapper.xml、mapper.java)编写业务逻辑层编写web层(控制器)前端页面 一、环境搭建 1.1、导入项目所需依赖(pom.xml) <project xmlns"http://maven.apache.org/POM/4.0.0"…...
vue+elementUI el-select 自定义搜索逻辑(filter-method)
下拉列表的默认搜索是搜索label显示label,我司要求输入id显示label名称 <el-form-item label"部门:"><el-select v-model"form.region1" placeholder"请选择部门" filterable clearable:filter-method"dataFilter&qu…...
数据库——事务
事务是指作为一个整体被执行的一系列操作。在数据库管理系统中,事务是指一组数据库操作(如插入、更新、删除等)的逻辑单元,也就是说事务的本质是把多个操作打包成一个操作,并且它要么完全执行,要么完全不执…...
echarts折线图每段显示不同的颜色
效果图 配置项: zqChartFour: {title: {text: "一天用电量分布",subtext: "纯属虚构",},tooltip: {trigger: "axis",axisPointer: {type: "cross",},},toolbox: {show: true,feature: {saveAsImage: {},},},xAxis: {type:…...
设计模式-单例模式(Singleton)
文章目录 前言一、单例模式的概念二、单例模式的实现三、单例模式的应用场景四、单例模式优缺点优点:缺点:总结 前言 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一…...
优漫动游 常见的AI视频生成网站的官方网站:
1、Lumen5 Lumen5是一款在线视频制作工具,利用人工智能技术能够迅速将文本、和音乐转换为视频。它可以帮助你把博客文章、社交媒体内容等转化为吸引人的视频,从而提高你的品牌曝光率和社交媒体的参与度。 2.Animoto Animoto是一个视频制作平台&…...
Vue中数据可视化关系图展示与关系图分析
Vue中数据可视化关系图展示与关系图分析 数据可视化是现代Web应用程序的重要组成部分之一,它可以帮助我们以图形的方式呈现和分析复杂的数据关系。Vue.js是一个流行的JavaScript框架,它提供了强大的工具来构建数据可视化应用。本文将介绍如何使用Vue.js…...
【启扬方案】基于启扬安卓屏一体机的医疗手推车解决方案
医疗手推车作为医院基础设施的一部分,被广泛应用于医院内部,包括急诊室、手术室、病房和其他临床部门。伴随着互联网技术的发展和行业的渗透,智慧医疗受到越来越多的青睐,这也使得很多医疗设施得到了改进,医疗手推车也…...
JavaScript实现MD5加密的6种方式
关于MD5: MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。 在本案例中 可以看到MD5共有6种加密方法: 1, hex_md5(value) 2, b64_md5(value) 3, …...
腾讯云和阿里云2核2G服务器租用价格表对比
2核2G云服务器可以选择阿里云服务器或腾讯云服务器,腾讯云轻量2核2G3M带宽服务器95元一年,阿里云轻量2核2G3M带宽优惠价108元一年,不只是轻量应用服务器,阿里云还可以选择ECS云服务器u1,腾讯云也可以选择CVM标准型S5云…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
