ChatGPT应用技术(一)

目录

一、前沿

二、ChatGPT原理介绍

AI大模型应用开发架构图

三、学会与AI对话,高效提升效率

提示词的原则与技巧

官方学习资料

四、ChatGPT在测试领域简单实践

1. 利用ChatGPT进行需求生成与分析

2. 利用ChatGPT编写测试计划

3.利用ChatGPT编写测试方案

4.利用ChatGPT编写测试报告

5. 利用ChatGPT编写测试用例思维导图

6. 利用ChatGPT编写测试用例

7. 利用ChatGPT批量生成测试数据

8. 利用ChatGPT自动生成架构图

9. 利用ChatGPT自动生成PPT

10. 文生图介绍

“代码式”文生图

AI文生图


一、前沿

随着GPT-4的发布,标志着软件工程3.0时代的到来。回顾前两次标志性事件,1968年NATO会议,第一次提出Software Engineering术语,这次会议标志着进入软件工程1.0(SE1.0)时代,第二次是敏捷宣言,标志着进入SE2.0开发模式。而此次GPT-4的发布意味着AI第一次睁开双眼理解这个世界,也使得软件研发进入真正的数字化时代、开发范式也将发生巨大变化。

ChatGPT应用技术(一)_第1张图片

ChatGPT应用技术(一)_第2张图片

ChatGPT应用技术(一)_第3张图片

ChatGPT应用技术(一)_第4张图片

ChatGPT应用技术(一)_第5张图片

ChatGPT应用技术(一)_第6张图片

AI人工智能看似还离我们很远,但已经在悄悄的影响着我们的工作与生活,我们可以利用人工智能编写PRD文档,需求分析、用例设计及测试报告等,也可利用人工智能快速学习掌握新的技能和提供问题新的解决思路,也可以提代码需求,完成测试框架的快速搭建、代码编写和代码测试,搭建企业私有化大模型等,通过学习和掌握这些技术并应用到实际的工作中,也会为团队及个人带来很大的效率提升和工作上的成就。

二、ChatGPT原理介绍

官网地址:https://chat.openai.com/

AI大模型应用开发架构图

ChatGPT应用技术(一)_第7张图片

以上的图片很好的说明了,目前的人工智能产品和底层模型,还有中间层之间的关系。

  • 应用层:代表利用了人工智能能力的应用产品,面向所有用户,没有技术门槛。
  • 中间层:让你的LLM变得更强大,从事人工智能的开发者将例如GPT-4的大语言模型与外部计算和数据来源结合起来。针对大模型应用上的不足,LangChain 提供模块化组件进行优化。
  • 模型层:大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等等。

ChatGPT是根据人类编写的来自互联网的大量数据(包括对话)进行训练的,因此它提供的响应可能听起来像人类。重要的是要记住,这是系统设计的直接结果(即最大化输出与训练模型的数据集之间的相似性),并且此类输出有时可能不准确、不真实,并且有时会产生误导。


三、学会与AI对话,高效提升效率

想要ChatGPT 给到的信息越准确,越清晰,和它的沟通就至关重要。如何能和ChatGPT建立一个良好的沟通方式呢?其实就是靠提示词 Prompt。提示词用的越好,ChatGPT就越强大。

提示词的原则与技巧

  • 写清楚需求

GPT 模型无法读懂您的想法,因此在提供需求时尽可能具体是很重要的。这包括在您的查询中包含详细信息,要求模型采用角色,以及使用定界符清楚地指示输入的不同部分。

  • 提供参考文本

如果可以,请提供与您希望模型生成的内容相似的参考文本。这将有助于模型了解您要查找的内容并生成更准确的结果。

  • 将复杂的任务拆分为更简单的子任务

角色扮演:这个技巧的作用是告诉ChatGPT在对话中扮演一个特定的角色或人物。这对于创造更有吸引力和沉浸感的对话,或模拟真实世界的场景特别有用。

  • 系统地测试变化

 对需求或参考文本进行更改时,重要的是系统地测试结果以了解它们如何影响模型的输出。这将帮助您确定对改进结果最有效的更改。

  • 借助外部工具

作为一个大语言生成模型,GPT4 并不擅长各种数学计,可借助python给出运算过程等

  • 角色扮演

ChatGPT甚至可以扮演作家,领导,面试官,浏览器的console插件等各种各样我们可以想象到的角色

官方学习资料

  • 微软 Prompt教程:https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering
  • OpenAI官方指南:https://platform.openai.com/docs/guides/gpt-best-practices
  • OpenAI  API官方文档:https://platform.openai.com/docs/introduction
  • OpenAI  API开发:

四、ChatGPT在测试领域简单实践

1. 利用ChatGPT进行需求生成与分析

根据上述提示词原则与技巧,设计合理的提示词信息,与ChatGPT进行沟通,例如:

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

ChatGPT应用技术(一)_第8张图片
提示词:请帮我针对以上的PRD 的文档进行需求分析

ChatGPT应用技术(一)_第9张图片
提示词:如果我是一个测试,需要从以上的需求中提炼出来的我的测试点,请帮我提炼出来。

ChatGPT应用技术(一)_第10张图片
提示词:改进搜索算法没有考虑异常场景的测试点,请补充。

ChatGPT应用技术(一)_第11张图片

2. 利用ChatGPT编写测试计划

根据上述提示词原则与技巧,设计合理的编写测试计划提示词信息,与ChatGPT进行沟通,例如:

提示词:如果我是一个测试经理,现在需要输出一个版本的测试计划。测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务、谁执行任务和风险控制等。

ChatGPT应用技术(一)_第12张图片
提示词:这个版本测试的时长为2周。相关的测试人员有5名,请根据以上信息。对测试任务与安排部分进行细化

ChatGPT应用技术(一)_第13张图片
提示词:现在这个时间安排没有具体的人员安排,请根据人员与时间安排输出一份使用plantuml 绘制的甘特图。

ChatGPT应用技术(一)_第14张图片
提示词:你提供的甘特图有语法错误。

ChatGPT应用技术(一)_第15张图片

总结:

  • 写清楚需求:在给出提示词的时候,不要模棱两可,把所知道的所有背景都交代清楚。比如产品需求,还有项目背景。
  • 将复杂的任务拆分为更简单的子任务:测试计划一开始只给到一个基础的大纲,需要进一步给GPT提示,让它拆分,细化任务,补充内容。
  • 系统的测试变化:在输出甘特图的时候,存在语法错误,所以需要人为的进行检查,也存在一定几率,这个语法需要人为去进行调优

3.利用ChatGPT编写测试方案

根据上述提示词原则与技巧,设置合理的提示词信息与ChatGPT沟通是高效实用ChatGPT的关键,例如:

提示词: 现在需要针对于高级搜索选项这个功能输出对应的测试方案

ChatGPT应用技术(一)_第16张图片

 可以再进一步的明确我们的需求和产品。提示词:现在需要针对于高级搜索选项这个功能对应的产品形态为App应用,请补充你的测试方案
ChatGPT应用技术(一)_第17张图片

发现 没有针对于App的专项测试,比如耗电量等。提示词:可以通过提示词,继续补充对应的内容
    你的测试方案缺少针对于App的专项测试内容,比如耗电量测试

ChatGPT应用技术(一)_第18张图片

如此一来,便可以通过提示词优化一步步优化测试方案。越是复杂的项目,越需要将提示词做进一步的优化。

4.利用ChatGPT编写测试报告

提示词:请输出一份测试报告模版,要求包含: 测试执行情况,问题汇总,问题详情,测试结果分析,风险评估,建议和改进措施:

ChatGPT应用技术(一)_第19张图片
提示词:其中测试执行情况包含, 测试用例执行的数量,测试用例模块,每个模块发现的bug的数量。请用markdown的表格形式展现出来:

ChatGPT应用技术(一)_第20张图片
提示词:问题详情也请用markdown 的表格形式展示出来:

ChatGPT应用技术(一)_第21张图片
提示词:请重新生成一份测试报告模版,整合前面的问题详情与测试执行情况。

ChatGPT应用技术(一)_第22张图片

5. 利用ChatGPT编写测试用例思维导图

有些公司会使用思维导图编写测试用例,这样做的优点是:

  • 可视化和结构化。
  • 易于理解,提高效率。

而 ChatGPT 是无法直接生成 xmind 格式的文件的,但是依然可以通过“曲线救国”的方式去编写思维导图格式的测试用例。

提示词:我是一名测试工程师,这是我收到的需求信息:在Web界面上添加一个搜索按钮,要求能够实现关键词准确匹配与模糊匹配。要求根据以上的需求生成测试用例,必须使用plantuml的mindmap的格式,使用markdown格式

ChatGPT应用技术(一)_第23张图片

进一步给关键提示词:将使用planuml生成的mindmap的测试用例内容,更加详细一些,只需要返回给我mindmap源码即可,其他内容不需要

ChatGPT应用技术(一)_第24张图片

Plantuml生成思维导图服务地址:PlantUML Web Server

ChatGPT应用技术(一)_第25张图片

ChatGPT应用技术(一)_第26张图片

总结:

  • 写清楚需求:需要给 ChatGPT 明确要求返回的数据的内容与格式。
  • 将复杂的任务拆分为更简单的子任务:直接生成思维导图图片或文件 ChatGPT 无法完成,但是可以通过曲线救国的方式简介生成思维导图代码,然后再转换为图片。
  • 系统地测试变化:因为版本的原因,使用 ChatGPT 生成的思维导图可能会出现语法错,所以需要测试以及人为的纠正。
  • 角色扮演:添加职位等角色信息,让返回的思维导图更贴近需求。

6. 利用ChatGPT编写测试用例

如何让ChatGPT自动生成测试用例呢?

  • 要把对应的需求信息给到ChatGPT。
  • 规定好用例的格式。 
  • 规定好用例的输出格式,减少调整的成本。

提示词:我是一个测试工程师,这是我收到的需求信息:在Web界面上添加一个搜索按钮,要求能够做到关键词精确匹配与模糊匹配。 要求根据以上的需求生成测试用例。要求测试用例包含以下信息:测试模块、测试标题、前置条件、测试步骤、预期结果、实际结果。测试用例输出的格式使用markdown 的表格格式

ChatGPT应用技术(一)_第27张图片

提示词:请帮我将这两个表格整合起来,并且在表格内补充异常输入、搜索结果为空的用例。

ChatGPT应用技术(一)_第28张图片

以上就是整合后的ChatGPT的回复,我们只需要将Markdown格式的用例,粘贴到excel中,即可将测试用例进行归档。

7. 利用ChatGPT批量生成测试数据

测试过程中需要一组专注于为测试服务的数据,利用等价类、边界值、正交法等测试用例设计方法都是为了更全面的设计对应的测试数据集。那么如何让ChatGPT自动生成测试数据呢?

  • 要把对应的需求信息给到ChatGPT。
  • 规定好数据的输出格式。

假设以下是我们的需求内容:要求添加一个输入框,输入框只能输入中国的手机号码。

提示词:要求添加一个输入框,输入框只能输入中国的手机号码。请根据以上需求帮我生成一些测试数据。

ChatGPT应用技术(一)_第29张图片

进一步给关键提示词:请考虑异常场景的测试数据

ChatGPT应用技术(一)_第30张图片

最后要求ChatGPT进行格式的统一输出,提示词:以上的测试数据,请使用yaml格式输出。

ChatGPT应用技术(一)_第31张图片

总结:

  • 写清楚需求:需要明确测试数据的内容范围、数据类型等。
  • 将复杂的任务拆分为更简单的子任务:如果一开始就计划生成一个比较复杂的数据信息,可以从输入的范围、格式、再到输出个格式逐步拆解。
  • 系统地测试变化:如果中间步骤输出的数据不满足需求,可以通过提示词进行纠正与补充。

8. 利用ChatGPT自动生成架构图

有明确的业务的需求:业务需求必须要清晰不能模棱两可。如果业务需求不够清晰,那么在写提示词的之前,需要提前梳理一下业务需求,将它转换成ChatGPT可以理解的形式。

确定输出的格式:ChatGPT无法直接生成图形文件,但是可以通过plantuml等各种文字转图片的工具间接生成。

提示词:现在我需要设计一个测试平台产品,这个产品需要包含测试用例的管理、用户管理、测试用例执行、执行记录管理,请根据以上信息帮我生成一张使用Plantuml绘制的类图。ChatGPT应用技术(一)_第32张图片

plantuml转化为架构图的链接地址:http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

ChatGPT应用技术(一)_第33张图片

9. 利用ChatGPT自动生成PPT

给ChatGPT提供关键提示词:请帮我写一篇关于测试领域技术发展及个人在该领域职业规划情况的PPT,篇幅大概在5页。

ChatGPT应用技术(一)_第34张图片

如果不想自己排版,可以使用通过 markdown 转成 PPT 的工具 RevealJs 直接生成符合格式的PPT内容。然后通过对应的工具进行预览,提示词:请用 Reveal.Js 的 markdown 语法生成以上内容的PPT。

  • 安装visualstudio工具
    • vscode-reveal: https://marketplace.visualstudio.com/items?itemName=evilz.vscode-reveal
  • 工具中安装插件(vscode-reveal)

ChatGPT应用技术(一)_第35张图片

  • 工具中,打开目录
    • 目录新建file文件(格式为: xxx.md)
    • 复制ChatGPT的Markdown代码在 xxx.md文件中
    • 左侧选中vscode-reveal 插件,即可转化为ppt

10. 文生图介绍

传统的绘图方式是由设计师手绘或者通过软件绘制图片,中间需要使用到类似于PS这样的工具。所谓文生图,就是指直接通过一些描述性文字生成对应的图片的技术。通过文生图技术,可以直接将对于图片的需求发送给程序,让程序生成,可以降低沟通成本,提升工作效率。

“代码式”文生图

  • PlantUML

PlantUML是一个开源工具,用于通过简单的文本描述来创建各种类型的图形,包括类图、时序图、用例图、组件图、活动图等。官网地址:https://plantuml.com/

ChatGPT应用技术(一)_第36张图片

  • Reveal.js

Reveal.js 是一个开源的HTML和JavaScript框架,用于创建演示文稿和幻灯片。它允许用户使用HTML、CSS和JavaScript来制作交互式和美观的演示,而不需要依赖于传统的演示软件

  • Mermaid

Mermaid(美人鱼)是一个用于创建流程图、时序图、甘特图、类图等图形的开源标记语言和JavaScript库。Mermaid 受到开发人员和文档作者的欢迎,因为它使创建图形变得简单且易于维护。

ChatGPT应用技术(一)_第37张图片

AI文生图

  • Midjourney

新版Midjourney,用户使用风格化命令,就能轻而易举地生成大师级作品。Midjourney 由于其良好的体验、惊艳的产品效果,目前还是文生图领域的“领跑者”。

官网地址:https://www.midjourney.com/home/

  • 文心一言

官网地址:文心一言

你可能感兴趣的:(AI测试探索,AIGC,pytorch,人工智能)