点击上方蓝色文字关注我

QA Tester
《往期干货》
1. 一文吃透 pytest fixture 高级用法|从基础到工厂模式
3. 测试人必看:TCP 协议网络基础,从三次握手到四次挥手,一篇吃透 ~
写在前面
在数字化转型的浪潮中,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逐步完成。
(一)分步引导
以设计自动化测试框架为例,不要只说“帮我想一个自动化测试框架的设计方案”,而是应该分步引导:
第一步:用Python + pytest设计登录模块的测试框架,需包含数据驱动(从Excel读取测试用例)、失败截图功能、自定义日志记录格式;
第二步:针对以上框架,给出一段示例代码和目录结构说明。
通过这样的分步引导,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学习

识别二维码,关注我
夜雨聆风