使用chatGPT辅助编写测试用例

目录

一、问答1.0版

二、问答2.0版

2.1 问答2.1

2.2 问答2.2

2.3 问答2.3

三、问答3.0版本

四、思考


个人简介

  •  作者简介:大家好,我是凝小飞,软件测试领域作者
  • 支持我:点赞+收藏⭐️+留言

 最近开始学习和写作,请大家多多支持~

一、背景:

最近想研究一下如何用chatGPT辅导测试编写测试用例,看下是否真的可以节省人力,解放测试的双手。如下是我实践的过程。

首先选取一个测试场景,我的题目是:

调用第三方接口开票,返回发票明细及附件的功能,编写测试用例

一、问答1.0版

首先我问的比较简单:

:针对调用第三方接口开票,返回发票明细及附件的功能编写测试用例

chatGPT回答:

以下是一个可能的针对调用第三方接口开票、并返回发票明细及附件的测试用例:

测试用例编号:TC001 测试用例标题:调用第三方接口开票

测试目的:测试第三方接口是否能够成功开具发票,并且能够返回发票明细及附件。

测试前提条件:

  • 已经注册并申请了第三方开票接口的账号和密钥。
  • 已经安装并配置好了能够调用该接口的程序和环境。

测试步骤:

  1. 输入有效的开票请求,包括发票类型、开票金额、开票日期、购方信息、销方信息等。
  2. 调用第三方接口进行开票,并等待返回结果。
  3. 检查返回结果是否正确,包括发票号码、开票日期、开票金额、购方信息、销方信息等是否与开票请求一致,发票明细是否正确,附件是否能够下载并正确打开。

测试预期结果:

  • 第三方接口能够成功开具发票,并且能够返回发票明细及附件。
  • 返回的发票信息和附件与开票请求一致,并且附件能够正确下载并打开。

备注:

  • 如果发票信息不正确或者返回的附件无法打开,需要检查是否是请求参数或者接口配置的问题。
  • 如果第三方接口无法正常开票或返回结果,需要检查接口服务器是否正常运行,或者联系接口提供商处理

点评:除了必要条件,测试前提、测试步骤和测试结果之外,涉及到的真正用例:输入有效的开票请求,包括发票类型、开票金额、开票日期、购方信息、销方信息等。这个用例水平太浅,看来是需要更多的prompt。

二、问答2.0版

有了第一版的实践,我决定给它更多的条件输入

2.1 问答2.1

我:以上测试用例,进一步考虑异常场景

chatGPT回答:

以下是针对调用第三方接口开票、并返回发票明细及附件的测试用例,加入异常场景:

测试用例编号:TC001 测试用例标题:调用第三方接口开票

测试目的:测试第三方接口是否能够成功开具发票,并且能够返回发票明细及附件。

测试前提条件:

  • 已经注册并申请了第三方开票接口的账号和密钥。
  • 已经安装并配置好了能够调用该接口的程序和环境。

测试步骤:

  1. 输入有效的开票请求,包括发票类型、开票金额、开票日期、购方信息、销方信息等。
  2. 调用第三方接口进行开票,并等待返回结果。
  3. 检查返回结果是否正确,包括发票号码、开票日期、开票金额、购方信息、销方信息等是否与开票请求一致,发票明细是否正确,附件是否能够下载并正确打开。

异常情况测试:

1. 当请求参数缺失时,接口是否能够正确返回错误信息。

2. 当购方或销方信息错误时,接口是否能够正确返回错误信息。

3. 当发票开具金额超出上限时,接口是否能够正确返回错误信息。

4. 当接口服务器异常或返回的数据存在异常时,程序是否能够正确处理并返回错误信息。

测试预期结果:

  • 第三方接口能够成功开具发票,并且能够返回发票明细及附件。
  • 返回的发票信息和附件与开票请求一致,并且附件能够正确下载并打开。
  • 异常情况下,接口能够正确返回错误信息,程序能够正确处理并返回相应错误信息。

点评:比第一版的测试用例细化了一些,考虑了几种异常情况,也是有效输入了。个人意识到应该是回复的时候限定了字数,所以第一版问的比较泛不能细化很多东西。 

2.2 问答2.2

我:以上测试用例,针对输入参数考虑等价类划分和边界场景

chatGPT回答:

以下是针对调用第三方接口开票、并返回发票明细及附件的测试用例,加入等价类划分和边界场景:

测试用例编号:TC001 测试用例标题:调用第三方接口开票

测试目的:测试第三方接口是否能够成功开具发票,并且能够返回发票明细及附件。

测试前提条件:

  • 已经注册并申请了第三方开票接口的账号和密钥。
  • 已经安装并配置好了能够调用该接口的程序和环境。

等价类划分:

  • 发票类型:正常发票(一般纳税人)、小规模纳税人发票、电子发票、增值税专用发票、增值税普通发票等。
  • 开票金额:正常金额、千万元金额、负数金额、小数点后多位金额等。
  • 开票日期:正常日期、过期日期、未来日期等。
  • 购方信息:正确信息、缺少信息、错误信息等。
  • 销方信息:正确信息、缺少信息、错误信息等。

边界场景:

  • 发票类型为一般纳税人发票和增值税普通发票的情况。
  • 开票金额为0、1元和1亿元的情况。
  • 开票日期为当前日期、1年前日期和2年后日期的情况。
  • 购方信息有全部信息、缺少1项信息和全部信息错误的情况。
  • 销方信息有全部信息、缺少1项信息和全部信息错误的情况。

测试步骤:

  1. 输入有效的开票请求,包括发票类型、开票金额、开票日期、购方信息、销方信息等。
  2. 调用第三方接口进行开票,并等待返回结果。
  3. 检查返回结果是否正确,包括发票号码、开票日期、开票金额、购方信息、销方信息等是否与开票请求一致,发票明细是否正确,附件是否能够下载并正确打开。

异常情况测试: 4. 当请求参数缺失时,接口是否能够正确返回错误信息。 5. 当购方或销方信息错误时,接口是否能够正确返回错误信息。 6. 当发票开具金额超出上限时,接口是否能够正确返回错误信息。 7. 当接口服务器异常或返回的数据存在异常时,程序是否能够正确处理并返回错误信息。

测试预期结果:

  • 第三方接口能够成功开具发票,并且能够返回发票明细及附件。
  • 返回的发票信息和附件与开票请求一致,并且附件能够正确下载并打开。
  • 等价类和边界场景测试中,接口能够正确返回错误信息,程序能够正确处理并返回相应错误信息。

点评:等价类划分和边界场景,编写的还不错,初中级测试人员可以考虑到这个程度,可以给测试同学提供一些思考维度,测试人员可以基于此再做一些补充。  

2.3 问答2.3
我:以上用例,需考虑入参字段类型校验

chatGPT回答:

以下是针对调用第三方接口开票、并返回发票明细及附件的测试用例,加入入参字段类型校验:

测试用例编号:TC001 测试用例标题:调用第三方接口开票

测试目的:测试第三方接口是否能够成功开具发票,并且能够返回发票明细及附件,同时考虑入参字段类型校验。

测试前提条件:

  • 已经注册并申请了第三方开票接口的账号和密钥。
  • 已经安装并配置好了能够调用该接口的程序和环境。

等价类划分:

  • 发票类型:正常发票(一般纳税人)、小规模纳税人发票、电子发票、增值税专用发票、增值税普通发票等。
  • 开票金额:正常金额、千万元金额、负数金额、小数点后多位金额等。
  • 开票日期:正常日期、过期日期、未来日期等。
  • 购方信息:正确信息、缺少信息、错误信息等。
  • 销方信息:正确信息、缺少信息、错误信息等。

边界场景:

  • 发票类型为一般纳税人发票和增值税普通发票的情况。
  • 开票金额为0、1元和1亿元的情况。
  • 开票日期为当前日期、1年前日期和2年后日期的情况。
  • 购方信息有全部信息、缺少1项信息和全部信息错误的情况。
  • 销方信息有全部信息、缺少1项信息和全部信息错误的情况。

测试步骤:

  1. 输入有效的开票请求,包括发票类型、开票金额、开票日期、购方信息、销方信息等,并确保各个字段类型正确。
  2. 调用第三方接口进行开票,并等待返回结果。
  3. 检查返回结果是否正确,包括发票号码、开票日期、开票金额、购方信息、销方信息等是否与开票请求一致,发票明细是否正确,附件是否能够下载并正确打开。

异常情况测试:

4. 当请求参数类型错误时,接口是否能够正确返回错误信息。

5. 当请求参数缺失时,接口是否能够正确返回错误信息。

6. 当购方或销方信息错误时,接口是否能够正确返回错误信息。

7. 当发票开具金额超出上限时,接口是否能够正确返回错误信息。

8. 当接口服务器异常或返回的数据存在异常时,程序是否能够正确处理并返回错误信息。

测试预期结果:

  • 第三方接口能够成功开具发票,并且能够返回发票明细及附件。
  • 返回的发票信息和附件与开票请求一致,并且附件能够正确下载并打开。
  • 等价类和边界场景测试中,接口能够正确返回错误信息,程序能够正确处理并返回相应错误信息。
  • 当请求参数类型错误时,接口能够正确返回错误信息,程序能够正确处理并返回相应错误信息。

点评:入参校验这个条件,有效输入不多,可能是由于我写了“以上用例”,等于输入了上下文的联系要求,它的返回是在上一次返回的基础上加的。异常场景中也算包括了一些入参的校验。

三、问答3.0版本

鉴于上面分别问了各种情况下的测试用例,想到若一劳永逸把各种要求都在一句话中问,是否会回答的比较全面。

我:针对调用第三方接口开票,返回发票明细及附件的功能编写测试用例,从入参字段类型校验、等价类划分和边界场景、异常场景、接口调用失败的重试、性能情况几个方面设计测试用例。

chatGPT回答:

  1. 入参字段类型校验
  • 测试用例1:传入正确类型的参数,接口返回发票明细及附件信息。
  • 测试用例2:传入错误类型的参数,接口返回参数类型错误的信息。
  1. 等价类划分和边界场景
  • 测试用例3:传入正常数据,金额等于0,接口返回发票明细及附件信息。
  • 测试用例4:传入正常数据,金额小于0,接口返回金额错误的信息。
  • 测试用例5:传入正常数据,金额大于99999999.99,接口返回金额错误的信息。
  1. 异常场景
  • 测试用例6:接口调用失败,返回错误信息。
  • 测试用例7:传入的参数缺失,接口返回参数错误的信息。
  • 测试用例8:传入的参数超过限制,接口返回参数错误的信息。
  1. 接口调用失败的重试
  • 测试用例9:第一次调用失败,重试一次后成功返回发票明细及附件信息。
  • 测试用例10:第一次调用失败,重试两次后依然失败。
  1. 性能情况
  • 测试用例11:对接口进行压力测试,验证接口在高并发情况下是否正常工作。
  • 测试用例12:对接口进行长时间测试,验证接口在长时间稳定性是否正常。

点评:仍然回答长度差不多,内容丰富了,去掉了一些测试步骤,测试前提等。真的会有长度要求,毕竟算力都是钱。这个版本比较清晰明了。可以给到一些测试用例从0到0.5甚至0.6的参考,后续测试同学可以进一步发散。

我想进一步研究一下,是否可以直接生产测试同学常用的xmind格式,或者excel格式,减少我们copy的时间。

四、思考

1、谁适合用chatgpt来辅助?

如上,如果我想让chatgpt给我比较全面的测试用例,必须非常明确我们需要什么东西,什么维度,会给出比较匹配的答案。如果对测试用例本身要考虑什么东西不是很清楚,就如我问答1.0版本,获取的有效信息不多。更多辅助测试编写测试用例,可以给出具体要求,让它迈出编写测试用例的0.5步。

2、问问题的时候需要注意什么?

  • 要知道自己所用的chatgpt,是否有输出的限制,若有,如何能够快速拿到想要的答案,如果分多次问,得到的结果可能比较丰富,但是若有次数限制,还是要权衡是一次问还是多次问。
  • 问下个问题的时候,是否需要AI联系上下文,如果不需要,注意问的方式。
  • 有的chatgpt可能考虑到算力贵,会缓存一些问题返回的结果,可能重复类似的问题,问多次浪费了机会,拿到的是相同的结果
  • 我们还是要自我优化问的方式,提高获取信息的效率

你可能感兴趣的:(测试技术,测试用例,chatgpt)