ChatGPT生成测试用例的最佳实践(一)
前面介绍的案例主要展示了ChatGPT在功能、安全和性能测试用例生成方面的应用和成果。通过ChatGPT生成测试用例,测试团队不仅可以提升工作效率,还可以加快测试工作的速度,尽早发现被测系统中的问题。问题及早发现有助于提高软件的质量和用户满意度。
ChatGPT在功能、安全和性能测试用例生成方面的应用为我们提供了一种创新的方法,可以极大地提高测试的工作效率。
下面仍以百度搜索项目为例,介绍如何应用ChatGPT来生成功能和安全测试用例。
具体操作步骤如下。
1) 问题描述:测试团队定义问题描述,着重测试百度搜索项目的核心业务即关键字搜索业务。这是平时用户应用最为频繁的功能之一、测试人员必测的内容。
2) ChatGPT交互:测试团队与ChatGPT进行交互,向其提供问题描述;ChatGPT理解测试的范围,并迅速生成相应的测试用例。
在ChatGPT的输入框中输入“请生成一份基于百度关键字搜索业务的测试用例集。你是一名资深测试专家,基于目前百度搜索业务,输出一份名称为‘百度关键字搜索-测试用例集’的测试用例集文档,要求考虑等价类、边界值、判定表、正交实验法等测试用例设计方法,以及SQL注入、XSS攻击等安全性测试用例的设计。”。生成百度关键字搜索业务测试用例集的提示词及ChatGPT输出的结果,如图3-1所示。
图3-1 生成百度关键字搜索业务测试用例集的提示词及ChatGPT输出结果
3) 测试用例生成:从生成的百度关键字搜索业务测试用例集来看,其并不符合测试用例的规范格式。一个测试用例通常至少包括测试编号、前置条件、测试步骤、预期结果这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所示。