乐于分享
好东西不私藏

学会提问,让AI成为你的私人测试助理

学会提问,让AI成为你的私人测试助理

点击上方蓝色文字关注我

QA Tester

《往期干货》

1. 一文吃透 pytest fixture 高级用法|从基础到工厂模式

2. 测试工程师必看网络协议之-----HTTP协议

3. 测试人必看:TCP 协议网络基础,从三次握手到四次挥手,一篇吃透 ~

4. 零基础也能懂:大数据测试该如何展开?具体要测什么?

5. 大模型测试不迷茫:LLM 核心原理 + 推理优化,全是干货。

6. Pytest记录:文件conftest.py的作用范围

写在前面

    在数字化转型的浪潮中,AI正以前所未有的速度渗透到各个行业,软件测试领域也不例外。对于测试工程师而言,AI工具就像一位潜力无限的实习生,能否将其转化为高效的私人助理,关键在于是否掌握了精准提问的技巧。本文将结合实际案例,深入探讨测试工程师如何通过有效的提问,让AI工具成为工作中的得力助手。

一、核心:明确目标与边界

    很多测试工程师在使用AI工具时,常常会陷入“无效提问”的困境。比如,只是简单地说“给我一些测试用例”,得到的回答往往泛泛而谈,缺乏针对性。这是因为AI工具无法准确理解模糊的需求,只有当我们明确了测试目标和边界,才能引导AI输出有价值的内容。

(一)明确测试目的

    在提问时,首先要清晰地表达测试的目的。例如,当需要测试用户年龄输入框时,不要只说“生成测试数据”,而是应该明确指出“我需要测试用户年龄输入框的边界值”。这样,AI就能知道我们的测试重点在哪里,从而生成更符合需求的测试数据。

(二)细化数据规则

    除了明确测试目的,还需要详细说明数据规则。比如,在生成年龄测试数据时,可以要求“包含有效值(0 - 120岁)、最小值(0)、最大值(120),以及无效值(负数、非数字字符、超长数字如12345)”。通过这样的细化,AI生成的测试数据将更加全面和精准。

(三)指定输出格式

    为了方便后续的使用和分析,还可以指定AI的输出格式。例如,要求“用表格展示,一列为输入值,一列为预期结果”。这样,我们就能直接将AI生成的结果用于测试工作,无需再进行额外的整理。

二、赋予角色:让AI从专业角度思考

    AI工具的通用性很强,但如果能给它赋予一个特定的角色,就能让它从专业的角度思考问题,输出更具针对性的内容。

(一)明确专业身份

    在提问时,可以假设AI是资深测试开发工程师、图像测试专家等专业人士。例如,当需要分析一段接口返回的JSON时,可以说“假设你是资深测试开发工程师,请检查以下登录接口的响应”。这样,AI就会以专业的视角来分析问题,给出的结果也会更加准确和深入。

(二)聚焦专业领域

    根据不同的测试场景,赋予AI相应的专业领域角色。比如,在测试图像处理软件时,可以对AI说“假设你是图像测试专家,请利用Stable Diffusion生成10组不同风格的测试图像,用于测试软件在不同场景下的表现,图像风格包括写实风、卡通风、抽象风等”。这样,AI就能生成符合测试需求的图像数据集。

三、拆解任务:降低AI理解负担

    面对复杂的任务,直接抛出一个大问题,AI可能会因为理解困难而给出空洞的回答。这时候,我们需要把大任务拆解成一个个小步骤,引导AI逐步完成。

(一)分步引导

    以设计自动化测试框架为例,不要只说“帮我想一个自动化测试框架的设计方案”,而是应该分步引导:

  1. 第一步:用Python + pytest设计登录模块的测试框架,需包含数据驱动(从Excel读取测试用例)、失败截图功能、自定义日志记录格式;

  2. 第二步:针对以上框架,给出一段示例代码和目录结构说明。

    通过这样的分步引导,AI能更清晰地理解我们的需求,给出的方案也会更具体、更可执行。

(二)逐步细化

    在拆解任务的过程中,还可以逐步细化每个步骤的要求。比如,在生成性能测试脚本时,可以先明确工具选择“我需要用Locust(而非JMeter)编写一个HTTP接口压测脚本”,再详细说明具体要求“模拟100用户阶梯式递增(每10秒 + 20用户),统计登录接口的90%响应时间,当错误率>5%时立即停止测试,给出代码并注释关键参数含义”。这样,AI就能生成符合我们要求的性能测试脚本。

四、提供上下文:让AI了解测试场景

    AI工具虽然知识渊博,但它并不了解我们当前的测试场景和上下文信息。所以在提问时,要像和同事沟通一样,同步必要的背景信息。

(一)同步测试环境

    在提问时,要告知AI当前的测试环境。比如,当测试安卓APP的首页加载速度时,可以说“我正在用Appium测试安卓APP的首页加载速度,环境是Python + pytest”。这样,AI就能根据测试环境来分析问题,给出更合适的解决方案。

(二)提供相关代码和日志

    如果在测试过程中遇到了报错,要将错误日志和对应代码片段一起提供给AI。例如,“以下是报错日志和对应代码片段:[粘贴代码/日志]”。这样,AI就能更准确地定位问题,给出有效的解决方案。

(三)说明业务规则

    除了测试环境和代码日志,还需要说明业务规则。比如,在测试积分系统时,要告知AI“用户使用积分后申请退款,实际业务规则是积分不退回”。这样,AI生成的测试用例才不会与业务规则冲突。

五、AI生成测试用例的避坑指南

    虽然AI生成测试用例的效率很高,但也存在一些问题需要我们注意。以下是一些常见的坑和避坑方法:

(一)边界条件覆盖不足

    AI生成的边界条件可能覆盖不足,看似很多,但都是“表面边界”。比如,在测试积分系统时,AI可能会测0积分、最大积分,但不会测积分精度问题(小数点后几位)和并发签到时的积分计算。为了避免这个问题,我们需要人工补充关键边界,建立边界条件检查清单,把历史bug场景喂给AI,让它不断学习和改进。

(二)业务逻辑理解偏差

    AI可能会出现业务逻辑理解偏差的情况,生成一些“逻辑上正确,业务上错误”的用例。比如,在积分系统中,用户使用积分后申请退款,AI可能会预期积分原路返回,但实际业务规则是积分不退回。为了避免这个问题,我们需要在需求文档中写清楚隐性规则,在Prompt里明确说明特殊规则,人工审核时重点检查业务逻辑。

(三)用例可执行性差

    AI生成的测试用例可能存在可执行性差的问题,比如步骤描述模糊、缺乏前置条件等。为了避免这个问题,我们可以在提问时要求AI生成的测试用例包含详细的步骤描述和前置条件,并且在使用前进行人工审核和优化。

写在最后:好提问=高效能

    掌握了精准提问的技巧,我们就能让AI工具成为测试工作中的得力助手,大大提升测试工作的效率。但要记住,AI工具只是辅助,不能完全替代测试工程师的经验和判断。在使用AI工具的过程中,我们要不断积累经验,优化提问方式,让AI工具更好地为我们服务。

    学会提问,让AI工具成为你的私人助理,从此告别无效沟通,开启高效测试之旅! 

软件测试QA的碎碎念

测无止境

软件测试|总结 | python学习

识别二维码,关注我