# AI自定义测试

AI自定义测试,是利用大模型能力,可以让用户使用自然语言描述用例,底层使用Minium驱动用例自动执行。它的主要优势如下:

  • 用户无需写代码,用自然语言描述执行步骤即可,使用门槛较低
  • 任务执行成功后,会自动生成本次任务执行过程的Minium脚本。用户可以将该脚本作为用例上传为Minium用例,后续可以快速执行本用例

使用前请仔细阅读使用须知:

  1. 目前AI自定义测试处于内测中,请在帮助页面,扫码加入云测官方企微群,联系群主评估需求,开通权限才能体验。
  2. 现阶段AI自定义测试还不稳定,有许多有待改善的地方,如遇到问题,可以先查看最下方的常见问题,如仍有问题,请联系群主反馈,逐个排期查看
  3. 目前AI操作暂时只支持点击和输入两个基本操作,不支持滑动,判断页面路径,对外发送请求等复杂逻辑,后面会继续更新能力

# 快速开始

在获得体验权限后,可以按照以下步骤开始AI自定义测试任务

# 1. 建立AI自定义测试计划

在测试计划页面,新建AI测试计划

在弹出的窗口中,填写计划名称、优先级和任务描述。

其中,任务描述即本次AI探索过程的自然语言描述,尽量准确详细描述用例执行的过程。

# 填写任务描述Tips:

编写测试计划是,可以从人类视觉的角度去描述(会把当前屏幕截图给到大模型),以某购票软件为例,参考描述如下:

打开小程序后,执行以下步骤:
1. 在首页中,点击出发地下面的“成都”,进入更换出发地页面。
2. 在更换出发地页面中,在导航栏搜索“XIC”,在搜索结果中,选择第一个“西昌”,并返回购票页面
3. 在购票页面中,点击目的地下面的“北京”,进入更换目的地页面
4. 在更换目的地页面中,在导航栏搜索“NKG”,在搜索结果中,选择第一个“南京”,并返回购票页面
5. 在购票页面中,点击“搜索机票”,进入选择机票页面。途中如果遇到公告弹窗,要关闭这个弹窗
6. 能成功进入选择机票页面,任务成功。如果无法进入选择机票页面,任务失败

在描述中,如果要用assert能力,也可以加入类似自然语言描述,例如:

在更换出发地页面中,在导航栏搜索“XIC”,在搜索结果中,如果找不到“广州”,直接返回失败,结束测试。如果能找到,选择“广州”,并返回购票页面 

在AI探索中,发现输入XIC,没有找到广州,此时会结束测试,并在生成的代码中,添加assert语句如下:

assert False, "任务执行失败:根据任务目标和当前进度状态,已经在导航栏搜索了“XIC”,但未找到“广州”。按照任务要求,如果找不到“广州”,则需要返回失败,结束测试。因此,任务无法继续进行。"

# 2. 提交测试任务

AI自定义测试任务是用Minium驱动执行的,所以它本质还是一个Minium类型的任务

AI自定义测试计划创建完成后,在“测试任务”页面,点击“新建任务”按钮。

在弹出窗口中,选择Minium测试类型,在测试计划中,选择刚才创建的AI测试计划。

注意,所有AI测试计划的右侧都有AI任务的Tag标识

# 3. 查看测试报告

任务结束后,可以在测试报告页面查看AI结果,一般分为 测试成功测试失败

  • 测试成功,是AI按照描述,执行完成 。特别注意:这里是AI自我感觉执行成功,用户可以根据测试报告截图以及生成的Minium代码自行判断
  • 测试失败 一般有几种情况:
    • 根据任务描述返回失败:例如任务描述要求 ”如果找不到'广州',直接返回失败,结束测试",在探索过程中,未找到'广州',此时返回失败,并结束测试,在生成代码中,会带有asesert Fasle, error_msg的代码
    • AI探索失败:AI按照任务描述,连续多次都无法成功,故返回失败。此时在用例执行结果的错误日志一般会有提示“AI探索连续失败了x次,结束测试”
    • AI探索超时:AI还在探索中,但是任务规定的时间已经到了,结束测试,并返回失败

测试成功的代码,可以直接下载,作为Minium用例上传到云测,直接跑测Minium任务

# 常见问题

# 1. 为什么AI探索要这么久,下载的Minium的用例很快就执行完成了?

AI任务过程比较长,需要多次和大模型交互,每一步的耗时都会较长,而生成好的Minium的用例只需要执行就可以,无需和大模型再次交互,所以速度会快很多

# 2. AI任务生成不及预期应该怎么办?

建议可以先观察下测试报告,看看AI在哪里出错的,然后对应优化任务描述。 如果仍有问题,可以加入云测官方企微群,联系群主反馈

# 需要帮助

如果你任何建议或需求,欢迎前往 需要帮助 页面,扫码加入云测官方企微群,联系群主反馈。