测试用例是产品测试过程中的重要组成部分,它描述了测试的输入数据、执行步骤和预期结果,用于验证产品功能的正确性和稳定性。以下是测试用例的几个关键要素。
(1)测试目标:测试用例应明确测试的目标,即要验证的功能或需求。
(2)测试输入:描述测试用例所需的输入数据或条件。可以是用户输入、系统配置、数据库记录等。
(3)执行步骤:定义执行测试用例的具体步骤和操作。其中包括点击按钮、输入文本、导航页面等。
(4)预期结果:描述测试用例的预期输出或行为。这是根据产品规格或需求文档来定义的。
(5)实际结果:在执行测试用例后记录实际的输出或行为。与预期结果进行比较,判断测试用例是否通过。
(6)测试状态:标识测试用例的状态,如“通过”“失败”“阻塞”等。可以根据测试结果进行更新。
9.1.1
使用ChatGPT辅助生成测试用例
ChatGPT可以作为辅助工具,帮助测试团队生成测试用例的初步草稿或提供测试用例的灵感。以下是使用ChatGPT辅助生成测试用例的一般步骤。
(1)定义测试目标:明确要测试的功能或需求,并确定测试的范围和重点。
(2)提供输入提示:向ChatGPT提供相关的输入提示,例如功能描述、用户场景、操作步骤等。确保输入提示具体、明确,以便ChatGPT更好地理解任务。
(3)与ChatGPT对话:与ChatGPT进行交互,向其提出问题或请求生成测试用例。可以逐步迭代地向ChatGPT提供更多的上下文和信息,以获得更准确和有用的回答。
(4)评估生成结果:ChatGPT会生成一系列测试用例的建议或示例。测试团队需要评估这些结果的质量和适用性,挑选出符合预期的测试用例。
(5)扩展和优化:基于ChatGPT生成的测试用例,测试团队可以进一步扩展和优化,添加额外的测试步骤、输入数据和预期结果,以确保测试的全面性和准确性。
需要注意的是,虽然ChatGPT可以初步生成测试用例,但其生成的结果需要由测试团队进行评估、验证和优化。ChatGPT仅提供辅助和启发,并不能完全代替测试人员的专业判断和测试经验。测试团队应对ChatGPT生成的测试用例进行审查和修改,以适应具体的测试需求和上下文。
9.1.2
案例1:使用ChatGPT辅助生成购物App测试用例
下面通过一个具体案例介绍一下如何使用ChatGPT辅助生成测试用例。
案例背景
产品经理小红负责一款新上线的零售购物App。该App提供用户登录、商品浏览、购物车和订单下单等功能,面向广大消费者。小红需要设计一套完整的测试方案,确保新版本App上线前的产品质量。但是测试用例设计需要涵盖不同的用户场景和业务流程,工作量较大,而上线时间又比较紧迫。为了加速测试用例的设计,小红决定使用ChatGPT,希望其能基于产品功能和流程生成一定数量的初始测试用例。
动手示例
小红向ChatGPT发送如下请求消息。
我们的App包含用户登录、商品浏览、购物车和下单等主要功能,可以为这些功能生成一些初步的测试用例吗?
ChatGPT的回答如下。
可以的,我为这些功能生成的一些测试用例如下。
1.用户登录
用例1:输入正确的用户名“jack”和密码“123456”,登录成功。
用例2:输入空用户名和正确密码,提示“用户名不能为空”。
用例3:输入正确用户名和空密码,提示“密码不能为空”。
用例4:输入错误用户名“john”和密码“1234”,提示“用户名或密码错误”。
2.商品浏览
用例1:在首页搜索“手机”,相关搜索结果包含数十款手机商品,并分多页显示。
用例2:点击三星Galaxy S10商品图片,进入商品详情页,页面显示名称为“三星Galaxy S10”、价格为5999元、内存为6GB+128GB等信息。
用例3:在三星Galaxy S10商品详情页点击“添加至收藏”,商品出现在用户收藏列表页。
3.购物车
用例1:在三星Galaxy S10商品详情页选择颜色“黑色”、内存“8GB+256GB”并选择数量为“2”件,点击“加入购物车”。
用例2:购物车页显示已添加的三星Galaxy S10商品,数量显示2件,小计金额12199元。
用例3:购物车中只有三星Galaxy S10一件商品,在结算页面点击“remove”,商品从购物车删除。
用例4:购物车为空时,页面显示“您的购物车是空的,请添加商品!”的提示。
4.下单
用例1:在购物车页勾选三星Galaxy S10商品2件,进入结算页面,选择收货地址和支付方式为“微信支付”,点击“提交订单”。
用例2:订单详情页显示订单编号、收货人姓名、订单状态为“待支付”的三星Galaxy S10商品订单。
小红向ChatGPT发送如下请求消息。
帮我返回Markdown代码文档。
ChatGPT的回答如下。
#测试用例
##用户登录
|用例ID|输入|预期结果|
|-|-|-|
|用例1|输入正确的用户名“jack”和密码“123456”|登录成功|
|用例2|输入空用户名和正确密码|提示“用户名不能为空”|
|用例3|输入正确用户名和空密码|提示“密码不能为空”|
|用例4|输入错误用户名“john”和密码“1234”|提示“用户名或密码错误”
|
##商品浏览
|用例ID|输入|预期结果|
|-|-|-|
|用例1|在首页搜索“手机”|相关搜索结果包含数十款手机商品,并分多页显示|
|用例2|点击三星Galaxy S10商品图片|进入商品详情页,页面显示名称为“三星Galaxy S10”、价格为5999元、内存为6GB+128GB等信息|
|用例3|在三星Galaxy S10商品详情页点击“添加至收藏”|商品出现在用户收藏列表页|
##购物车
|用例ID|输入|预期结果|
|-|-|-|
|用例1|在三星Galaxy S10商品详情页选择颜色“黑色”、内存“8GB+256GB”并选择数量为“2”件,点击“加入购物车”|购物车页显示已添加的三星Galaxy S10商品,数量显示2件,小计金额12199元|
|用例2|购物车中只有三星Galaxy S10一件商品,在结算页面点击“remove”|商品从购物车删除|
|用例3|购物车为空时|-页面显示“您的购物车是空的,请添加商品!”的提示|
##下单
|用例ID|输入|预期结果|
|-|-|-|
|用例1|在购物车页勾选三星Galaxy S10商品2件,进入结算页面,选择收货地址和支付方式为“微信支付”,点击“提交订单”|订单详情页显示订单编号、收货人姓名、订单状态为“待支付”的三星Galaxy S10商品订单|
复制上述Markdown代码并保存为“测试用例.md”文件,然后使用Markdown工具预览,效果如图9-1所示。
小红得到ChatGPT生成的测试用例后,与测试团队成员一起对这些用例进行了评审。他们发现虽然用例还不够完备,但已经覆盖了各主要功能的核心流程,可以在此基础上添加更详尽的输入数据和预期结果,扩展到更严格的测试场景,这大大减少了测试用例设计的工作量。
最终,在ChatGPT的辅助下,小红和团队顺利完成了测试方案的制定,新版本App如期上线。这是一个较完整的案例,说明借助ChatGPT的生成能力,测试团队可以加速测试用例设计,减轻工作强度,确保产品质量和进度。
图9-1 预览Markdown文档