背景
AI擅长的领域在于生成,自然而然的想到了在测试领域,是不是可以用AI来辅助进行用例生成。
使用AI根据需求去生成用例,一个可能的完成流程为:
- 依赖对需求信息的提炼,而且AI看不了示意图,所以需要提炼文字 -〉通过外置工具对需求处理。
- 需要背景知识,尤其是目前需求普遍不详细的情况 -> 需要给AI提供业务知识。
- 对改动点的用例设计,利用正交、边界值等设计方法 -> AI本身具备一定程度。
- 回归范围的评估,依赖于对场景的熟悉度 -> 需要给AI提供业务知识和系统理解。
- 用例格式转换 -> 使用AI通过prompt指定或者外置工具转换。
- 对生成用例修改和reivew -> 通过测试人员人工处理。
目前来看
- 通过给定的较具体的场景,使用AI生成用例,确定性高,可以节约一部分人力,如对场景的排列组合或者边界值法,用例编写很大一部分工作是用例的描述和格式输出。
- 如果需要通过需求文档来生成完整的用例,需要提供的知识和后期的处理成本较高。
举个简单需求的栗子
通过prompt再加人工输入可以完成比较简单的需求的编写。
prompt:
你现在是一个专业的测试人员,可以按照需求文档来编写测试用例,下面我会给你需求文档,等我给出全部需求文档内容后请输出测试用例。用例的要求:
1. 用例分为标题、预设条件、步骤和结果四部分,标题需要以"用例:"开头,预设条件需要以"前置:"开头
2. 用例分为功能用例合回归用例;功能用例,按需求改动点输出;回归用例,需要考虑在** D升L店铺、D版店铺、高级版多渠道店铺、零售单店、微商城单店 这**些场景下进行回归,预期结果为不会看到提示引导页面
3. 用例的输出格式用Markdown格式,在Markdown格式中,#表示中央主题,##表示主要主题,###表示子主题,-表示叶子节点。请参照以上格式,在markdown代码块中帮我创建一个有效的思维导图。
4. 输出前请检查格式要求和内容要求是否满足。
需求文档如下:
xxxxxxx(略)
4.1 功能设计(必选)
4.1.1 未订购门店的场景
当商家购买了导购助手但是未购买门店,点击导购助手插件进入时:
1、无论商家是否有门店收银能力,暂时先不展示收银导购的入口;
2、直接进入到一个提示引导页面:
a、页面上的提示文案如下:该店铺暂未订购门店,需先订购并创建门店后才可使用导购助手插件。
b、引导去订购的入口,点击立即订购后跳转至门店订购页
4.1.2 已订购门店但未新建门店的场景
当商家购买了导购助手但是未新建门店,点击导购助手插件进入时:
1、无论商家是否有门店收银能力,暂时先不展示收银导购的入口;
2、直接进入到一个提示引导页面:
a、页面上的提示文案如下:该店铺暂未创建门店,需先创建门店后才可使用导购助手插件。
b、引导去新建门店的入口,点击立即新建后跳转至组织机构下的新建门店页面
将输出的md倒入xmind就完成了用例生成,总体用例设计和描述尚可。
![](/i/l/?n=23&i=blog/678076/202307/678076-20230715124320527-1223546172.png)
举个复杂的栗子
由于格式复杂,内容众多,所以识别的很糟糕,对人类可以理解的格式对AI来讲未必。另外上下文长度也限制大项目用例的生成,所以复杂项目当前AI能力上要求较高。
思考未来
相比于从需求中独立生成用例,以目前AI能力来讲,像github copliot 或者 chat2db的那种辅助形式才是目前比较好的形态,在工作流程中使用AI不断生成或优化细节。
对于用例,识别测试点,然后将每个测试点单独让AI生成用例的可用性会比处理一个复杂场景更好些
实际落地上来讲,在工作过程中还要打开一个chatGPT窗口进行切换也是阻碍AI使用的一个问题
功能描述+要求-》通过AI生成用例-〉粘贴,可能是目前比较简单的使用方式,如使用一些测边栏或者浏览器插件达到沉浸式体验,如https://github.com/josStorer/chatGPTBox或 ChatCPT Sider