Appearance
利用AI工具设计测试用例
AI工具
市面上AI工具有很多,这里给大家梳理了10种比较好用效果不错的AI工具。
工具 | 介绍 | 网站 |
---|---|---|
ChatGPT | OpenAI开发的先进语言模型,支持多种语言,能进行自然流畅的对话,提供写作、编程、学习等帮助,但需翻墙使用,且可能因政策限制在国内无法直接访问。 | http://openai.com/chatgpt |
Kimi Chat | 一个强大的智能助手,具备超大“内存”,能一口气读完二十万字的小说,还会上网冲浪,提供搜索、对话等功能,适合多种场景。 | https://kimi.moonshot.cn/ |
智谱清言GLM-4 | 基于GLM-4模型的智能助手,提供多种功能,如代码速写、春节画图模板、春节新鲜事等,还有限免体验活动,适合开发者和普通用户。 | https://www.chatglm.cn/ |
讯飞星火3.5 | 科大讯飞开发的AI大语言模型,具备多模理解、视觉问答、多模生成等功能,支持多种语言,还提供桌面版、移动App等多种应用方式,适合多种场景。 | https://xinghuo.xfyun.cn/ |
阿里通义千问 | 阿里巴巴开发的全能AI助手,提供多种功能和服务,如通义千问2.5版本,支持API服务,用户可登录领取权益,适合多种场景。 | https://qianwen.aliyun.com/ |
百度文心一言 | 百度开发的AI助手,提供多种功能和服务,支持多种语言,适合多种场景,但目前无法访问。 | https://yiyan.baidu.com/ |
Character.ai | 提供个性化AI服务,用户可创建和与各种角色进行互动,适合娱乐、教育等场景。 | https://character.ai/ |
Quillbot | 一款AI写作助手,可帮助用户改写文本、检查语法、提供写作建议等,适合写作、编辑等场景,但目前无法访问。 | https://quillbot.com/ |
Coze | 一个AI智能体开发平台,无需代码,轻松创建,支持发布多平台、WebSDK及API,适合开发者和企业用户。 | https://www.coze.cn/ |
Jasper | 专为营销人员设计的AI平台,提供多种营销工具和应用,如Jasper Studio、Marketing AI Toolkit等,帮助企业提升营销效果,适合营销人员和企业用户。 | https://www.jasper.ai/ |
流程
AI只是辅助我们设计测试场景的一个工具,而且它也会有一些缺点,例:截取一张图片,让AI工具帮忙生成测试用例,可以看出它确实能设计一些场景,但实际不够细致,例:密码多少位没有进行校验,密码规则没有进行校验。
所以我们结合需求文档去梳理测试点,然后针对某个独立场景结合ai去细化我们的测试用例
接下来我们用登录场景为例。
1. 梳理测试场景
- 结合需求文档以及UI页面设计,登录有3个主功能:登录功能、注册功能、密码功能(记住/重置),另外还有公共模块,例:测试数据设计
登录功能 | 考虑场景 |
---|---|
账号 | 内部用户登录、手机登录、二维码登录、第三方登录(微信/支付宝登录、github/钉钉登录) |
校验逻辑 | 租户不存在/账户不存在/账户被锁定、第三方账号不存在/失效、密码校验失败 |
密码功能 | 考虑场景 |
---|---|
密码记住 | 常规功能(勾选/取消记住功能)、特定场景下密码缓存失效问题(页面刷新/浏览器更换/无痕模式) |
忘记密码 | 用户信息是否匹配(租户/手机不匹配)、手机验证码(时效内/时效外)、密码二次是否一致、密码强度规则 |
注册功能 | 考虑场景 |
---|---|
逻辑 | 用户不存在/用户存在进行注册、租户是否存在、密码是否符合规范、第一次/第二次确认密码校验 |
公共模块 | 考虑场景 |
---|---|
测试数据设计 | 账号_密码中包含:常规数字_英文大小写/特殊字符/空字符、输入框限定字符超长 |
2. 需求细化
接着我们针对某个场景,例:内部用户登录场景,继续细化我们的AI prompt(提示词),提示词越完善回答也会细,以下是细化后的提示词
请帮忙设计功能测试用例:
登录页面的详细描述,通过输入:租户、用户、密码进行登录
1. 租户:指一个业务系统,可以为多个组织服务,每个用户必须属于某个租户,租户状态可能是:停用/启用状态
2. 用户:长度不超过12个字符,不能包含特殊字符:*#,用户状态可能是:停用/启用状态
3. 密码:长度不超过10个字符,要求必须包含大小写字符以及1个特殊字符
3. AI设计测试用例:
- 租户相关测试用例
测试用例编号 | 测试场景 | 输入 | 预期结果 |
---|---|---|---|
1.1 | 输入有效的租户名称(启用状态) | 租户名称:TenantA(启用状态) | 系统接受租户名称,允许用户继续输入用户名和密码 |
1.2 | 输入无效的租户名称(不存在) | 租户名称:TenantX(不存在) | 系统提示“租户不存在”或类似错误信息 |
1.3 | 输入停用状态的租户名称 | 租户名称:TenantB(停用状态) | 系统提示“租户已被停用”或类似错误信息 |
1.4 | 输入空的租户名称 | 租户名称为空 | 系统提示“租户名称不能为空”或类似错误信息 |
- 用户相关测试用例
测试用例编号 | 测试场景 | 输入 | 预期结果 |
---|---|---|---|
2.1 | 输入有效的用户名(启用状态) | 用户名:user123(启用状态) | 系统接受用户名,允许用户继续输入密码 |
2.2 | 输入无效的用户名(包含特殊字符) | 用户名:user*123 | 系统提示“用户名不能包含特殊字符”或类似错误信息 |
2.3 | 输入过长的用户名(超过12个字符) | 用户名:user1234567890123 | 系统提示“用户名长度不能超过12个字符”或类似错误信息 |
2.4 | 输入停用状态的用户名 | 用户名:user456(停用状态) | 系统提示“用户已被停用”或类似错误信息 |
2.5 | 输入空的用户名 | 用户名为空 | 系统提示“用户名不能为空”或类似错误信息 |
- 密码相关测试用例
测试用例编号 | 测试场景 | 输入 | 预期结果 |
---|---|---|---|
3.1 | 输入有效的密码(符合要求) | 密码:Password1! | 系统接受密码,允许用户登录(前提是租户和用户名有效) |
3.2 | 输入密码长度过长(超过10个字符) | 密码:Password123! | 系统提示“密码长度不能超过10个字符”或类似错误信息 |
3.3 | 输入密码缺少大写字母 | 密码:password1! | 系统提示“密码必须包含大写字母”或类似错误信息 |
3.4 | 输入密码缺少小写字母 | 密码:PASSWORD1! | 系统提示“密码必须包含小写字母”或类似错误信息 |
3.5 | 输入密码缺少特殊字符 | 密码:Password1 | 系统提示“密码必须包含特殊字符”或类似错误信息 |
3.6 | 输入空的密码 | 密码为空 | 系统提示“密码不能为空”或类似错误信息 |
- 综合登录测试用例
测试用例编号 | 测试场景 | 输入 | 预期结果 |
---|---|---|---|
4.1 | 正常登录(租户、用户、密码均有效) | 租户:TenantA(启用状态) 用户名:user123(启用状态) 密码:Password1! | 登录成功,跳转到主页面 |
4.2 | 租户停用,用户和密码有效 | 租户:TenantB(停用状态) 用户名:user123 密码:Password1! | 系统提示“租户已被停用”或类似错误信息 |
4.3 | 用户停用,租户和密码有效 | 租户:TenantA 用户名:user456(停用状态) 密码:Password1! | 系统提示“用户已被停用”或类似错误信息 |
4.4 | 密码错误,租户和用户有效 | 租户:TenantA 用户名:user123 密码:WrongPass! | 系统提示“密码错误”或类似错误信息 |
4.5 | 租户、用户、密码均无效 | 租户:TenantX(不存在) 用户名:user*123 密码:Password123! | 系统提示“密码错误”或类似错误信息 |