ChatGPT加持,需求分析再无难题-程序员宅基地

技术标签: 自动化测试  需求分析  人工智能  软件测试  测试开发  chatgpt  

简介

在实际工作过程中,常常需要拿到产品的PRD文档或者原型图进行需求分析,为产品的功能设计和优化提供建议。

而使用ChatGPT可以很好的帮助分析和整理用户需求。

实践演练

接下来,需要使用ChatGPT 辅助我们完成需求分析的任务

注意:为了方便展示,所有GPT的回复都将使用文本格式展示,以及为了避免内容过于冗长,会省略部分信息。

现在我们使用ChatGPT帮助我们生成一份 PRD 文档:

  • 提示词:请帮我针对一个论坛 web 页面生成一份搜索功能的 PRD 文档。
搜索功能的PRD文档

项目名称:论坛网站搜索功能增强
版本:1.0
发布日期:[发布日期]
作者:[你的名字]
1. 引言
...省略...
2. 目标
...省略...
3. 需求
3.1 改进搜索算法
当前搜索算法的改进将有助于提高搜索结果的质量。新算法应考虑以下因素:

关键词匹配:算法应能够识别搜索关键词的同义词和相关词汇。
用户历史:根据用户过去的搜索和浏览历史,个性化推荐搜索结果。
帖子热度:考虑帖子的点击率、评论数量等因素,影响搜索结果排序。
3.2 高级搜索选项
为满足用户更具体的搜索需求,增加以下高级搜索选项:

按作者搜索:允许用户根据帖子作者进行搜索。
按时间范围搜索:允许用户指定搜索结果的发布时间范围。
按分类搜索:允许用户在特定论坛板块中进行搜索。
3.3 搜索结果页面改进
优化搜索结果页面的布局和显示方式:

结果预览:显示搜索结果的摘要,让用户更快速地了解帖子内容。
高亮关键词:在搜索结果中高亮显示与搜索关键词匹配的部分。
排序选项:允许用户根据相关性、发布时间等对搜索结果进行排序。
3.4 响应时间优化
通过以下方式减少搜索响应时间:

搜索索引优化:优化搜索引擎的索引结构,加快搜索速度。
前端优化:使用异步加载等前端技术,提高搜索页面的加载速度。
...省略...
[类似网站或竞品]的搜索功能
[技术团队]的建议和意见

生成 PRD 文档后,可以直接让 GPT 针对于此文档进行需求分析。

  • 提示词:请帮我针对以上的PRD 的文档进行需求分析
当进行需求分析时,你需要详细审查PRD文档中提出的各项需求,以便更好地理解每个需求的细节和影响。以下是对上述PRD文档中不同需求的分析:

3.1 改进搜索算法
目标:提高搜索结果的准确性和相关性。

分析:这一需求涉及到搜索引擎的核心功能,需要进行深入的自然语言处理技术。关键词匹配的扩展需要识别同义词和相关词汇,这可能需要构建词库或使用现有的自然语言处理工具。个性化推荐需要对用户的历史搜索和浏览数据进行分析,可能涉及用户数据的隐私和安全问题。考虑热度因素可能需要一个指标系统,以衡量帖子的点击率和互动情况。

3.2 高级搜索选项
目标:支持更高级的搜索选项,满足用户更精细化的搜索需求。

分析:高级搜索选项的引入将增加用户界面的复杂性,需要平衡用户友好性和功能性。按作者搜索和按时间范围搜索需要对用户界面进行设计调整,可能需要额外的用户交互步骤。按分类搜索可能涉及到论坛板块的管理和分类,需要确保搜索结果与论坛结构一致。

3.3 搜索结果页面改进
目标:优化搜索结果页面的布局和显示方式。

分析:结果预览可以提供用户更多信息,但预览内容的选择可能影响用户点击决策。高亮关键词有助于用户快速定位匹配的内容,但过度高亮可能导致信息混乱。排序选项需要一个清晰的用户界面,以便用户能够方便地切换排序方式。

3.4 响应时间优化
目标:加快搜索响应速度,减少用户等待时间。

分析:搜索响应时间的优化可能需要涉及后端搜索引擎的性能调优,如索引优化、查询优化等。前端优化可以通过异步加载、缓存等技术减少页面加载时间。但要注意,在优化性能时要平衡系统稳定性和性能提升。
...省略...

但是从返回信息中,我们可以看出其实所谓的需求分析整体内容还是比较空洞,不同的角色在需求分析这一环节的时候,侧重点都不相同,所以为了让GPT有更好的输出,尝试在提示词中添加角色、和一些应用场景。

  • 提示词:如果我是一个测试,需要从以上的需求中提炼出来的我的测试点,请帮我提炼出来。
当从上述需求文档中提炼测试点时,你需要关注每个需求的具体细节和预期结果。以下是一些可能的测试点,可以帮助你规划测试任务:

3.1 改进搜索算法
测试不同关键词的搜索结果,验证是否正确识别同义词和相关词汇。
进行个性化推荐测试,确认系统能否根据用户历史数据进行准确的推荐。
创建帖子并模拟用户交互,测试搜索结果中的热门帖子是否按照预期排序。
3.2 高级搜索选项
测试按作者搜索功能,验证搜索结果是否仅包含指定作者的帖子。
针对不同时间范围进行搜索,验证搜索结果是否符合所选时间段的帖子。
在不同分类下进行搜索,检查搜索结果是否限定在所选分类中的帖子。
3.3 搜索结果页面改进
验证搜索结果页面中的结果预览,检查预览内容是否准确反映了帖子内容。
测试高亮关键词功能,确认关键词是否在搜索结果中正确高亮显示。
切换不同排序选项,检查结果是否按照所选排序方式进行排列。
3.4 响应时间优化
进行并发搜索测试,以验证搜索响应时间是否在系统负载下仍保持在可接受范围内。
使用较慢的网络连接测试搜索页面的加载速度,确认页面是否在合理时间内加载完成。
...省略...

如果在这个过程中,对 GPT 的某个回复不够满意,还可以进一步提出要求:

  • 提示词:改进搜索算法没有考虑异常场景的测试点,请补充。
当考虑改进搜索算法的异常场景时,你需要针对一些不常见、边缘情况或错误情况进行测试,以确保系统在这些情况下能够正确处理。以下是一些可能的异常场景测试点:

改进搜索算法的异常场景测试点
空搜索关键词:测试当用户提交空的搜索关键词时,系统是否能够合理地处理,而不会导致错误或崩溃。

特殊字符处理:输入包含特殊字符、标点符号或表情符号的搜索关键词,验证系统是否正确处理这些情况。

无结果搜索:针对不常见的关键词或不存在的关键词,检查系统是否返回适当的无结果提示,而不是错误信息。

非常见词汇:测试使用非常见、生僻或不规范的词汇进行搜索,以验证系统是否能够正确匹配或建议相关词汇。

超长关键词:输入过长的搜索关键词,检查系统是否能够适当截断或进行错误处理。

大量搜索请求:模拟高并发的搜索请求,以验证系统在压力下是否能够稳定运行,并且搜索结果是否保持一致。

多次连续搜索:连续多次提交搜索请求,观察系统是否保持稳定性,并检查是否有不良的累积效应。

搜索结果一致性:针对同一关键词进行多次搜索,检查搜索结果是否在不同时间保持一致。

跨语言搜索:使用不同语言的关键词进行搜索,验证系统是否能够正确处理多语言搜索。

过多搜索参数:测试同时使用多个高级搜索选项,验证系统是否正确处理这些参数的组合。

用户历史分析错误:模拟用户历史数据分析错误或缺失,以检查系统是否能够容错并提供合理的搜索结果。

通过在测试中涵盖这些异常场景,你可以确保系统在各种不同情况下都能够稳定运行,并提供合理的用户体验。

总结

在这次实践中,我们使用了ChatGPT 提示词的以下技巧:

  1. 写清楚需求:在给出提示词的时候,我们通过添加场景、添加角色,让我们的需求更加明确。
  2. 将复杂的任务拆分为更简单的子任务:需求分析本身就是一个复杂的过程,我们需要逐步拆解,并纠正GPT的回复,引导GPT给到更多的信息。
  3. 系统的测试变化:在返回信息过程中,如果返回信息不满足需求,或者有偏差,需要测试回复信息,并予以修正。
  4. 角色扮演:在给出提示词的过程中,我们告诉GPT,需要以一个测试工程师的角色给出对应的测试点。

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)

【霍格沃兹测试开发】6 小时轻松上手功能测试/ 软件测试工作流程/ 测试用例设计/Bug 管理

【霍格沃兹测试开发】零基础小白如何使用Postman ,从零到一做接口自动化测试/ 从零基础到进阶到实战

【霍格沃兹测试开发】建议收藏全国CCF 测试开发大赛Python 接口自动化测试赛前辅导 / 项目实战

更多软件测试开发视频教程点此


软件测试职业发展
在这里插入图片描述
零基础入门
在这里插入图片描述

测试必备编程篇
在这里插入图片描述
自动化测试
在这里插入图片描述
性能测试
在这里插入图片描述
测试管理
在这里插入图片描述
工程效能篇
在这里插入图片描述
面试求职篇

软件测试的面试宝典,内含一线互联网大厂面试真题、面试技巧、软件测试面试简历指导,免费领取!
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Ceshiren666/article/details/137497506

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签