在实际工作中软件测试人员如何结合AI更好的完成我们的测试工作呢?今天我们以软件测试同学日常测试工作为切入点,例如研发提测某个需求举例
一、案例如下
1. 需求背景
***-server-go 服务的go.mod基础库kdocs-library版本较低,http client未设置最大连接数限制,存在tcp连接数暴涨不可控问题,需要升级基础库版本。
2. 修改点如下
升级***-server-go的go.mod基础库***-library版本
触发***-server-go-vendor自动升级
3. 涉及微服务
***-server-go
4. 相关影响面
所有存量接口,保证升级后所有接口服务可以正常使用
二、结合AI输出测试用例
使用工具豆包AI:https://www.doubao.com
创建新对话,以以上背景作为案例进行提问,总结你想要的结果形式,如下
一、针对背景
kdg依赖的***-library基础库版本较低,http client未设置最大连接数限制,存在tcp连接数暴涨不可控问题,需要升级基础库版本。
二、研发修改影响面:
1.相关改动点:
1.1升级***-server-go的go.mod基础库***-library版本
1.2触发***-server-go-vendor自动升级
三、涉及微服务
1. ***-server-go
四、相关影响面
1.涉及所有接口
我想要的结果:请根据以上背景以及改动点、影响面请输出软件测试同学这边需要关注的测试点,并且输出完整的测试用例!
一个完成的提问方式及清晰的结果能够让AI深度思考给你想要的答案!
以下是针对此次基础库版本升级的软件测试用例,旨在全面检测升级后系统的稳定性、兼容性和功能性。
### 功能测试用例
#### 1. 基础库版本升级验证
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 01|*** - server - go|验证kdocs - library基础库版本是否成功升级|1. 查看*** - server - go的go.mod文件;2. 确认*** - library的版本号是否为最新版本|go.mod文件中*** - library的版本号为预期的最新版本|
#### 2. 自动升级验证
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 02|*** - server - go - vendor|验证*** - server - go - vendor是否自动升级|1. 检查*** - server - go - vendor的依赖信息;2. 确认其依赖的*** - library版本是否与go.mod中一致|*** - server - go - vendor依赖的*** - library版本与go.mod中版本一致|
#### 3. 接口功能测试
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 03|所有接口|验证所有接口在升级后是否正常响应|1. 使用测试工具(如Postman)对所有涉及的接口发送请求;2. 检查接口的响应状态码和响应数据|所有接口响应状态码为200(或符合业务预期),响应数据格式和内容正确|
|TC - 04|所有接口|验证接口在高并发场景下的响应情况|1. 使用性能测试工具(如JMeter)模拟高并发场景,对所有接口发送大量请求;2. 检查接口的响应时间和吞吐量|接口响应时间在可接受范围内,吞吐量符合业务需求,无大量请求失败情况|
### 性能测试用例
#### 4. TCP连接数测试
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 05|所有接口|验证TCP连接数是否得到有效控制|1. 在高并发场景下,使用工具(如netstat)监控系统的TCP连接数;2. 检查连接数是否在设定的最大连接数范围内|TCP连接数稳定在设定的最大连接数范围内,无暴涨情况|
|TC - 06|所有接口|验证系统在长时间运行下的TCP连接数情况|1. 让系统持续运行一段时间(如24小时),期间不断有接口请求;2. 定期检查TCP连接数|TCP连接数在长时间运行过程中保持稳定,无异常增长|
### 兼容性测试用例
#### 5. 与其他组件的兼容性测试
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 07|*** - server - go|验证升级后与其他相关组件的兼容性|1. 检查*** - server - go与其他依赖组件(如数据库、缓存等)的交互是否正常;2. 执行涉及与其他组件交互的接口请求|*** - server - go与其他组件的交互正常,无兼容性错误|
### 异常处理测试用例
#### 6. 异常情况处理测试
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 08|所有接口|验证接口在异常情况下的处理能力|1. 模拟网络中断、服务器过载等异常情况;2. 对接口发送请求,检查接口的响应和系统的处理情况|接口能够正确处理异常情况,给出明确的错误提示,系统不会因异常情况而崩溃|
### 数据一致性测试用例
#### 7. 数据一致性测试
|用例编号|测试模块|测试用例标题|测试步骤|预期结果|
| ---- | ---- | ---- | ---- | ---- |
|TC - 09|所有涉及数据交互的接口|验证升级后数据的一致性|1. 在升级前后分别执行涉及数据读写的接口操作;2. 比较升级前后的数据是否一致|升级前后的数据保持一致,无数据丢失或损坏情况|
以上就是豆包AI输出的测试用例,我个人查阅结果,总体对输出还是很满意的,认为思考还考虑不到这么全面,所以合理的利用AI协助我们工作还是有一定程度上的帮助。
三、使用AI具体有哪些好处呢?
在应用研发提测阶段,结合AI模型生成测试用例与传统人工构思测试用例存在以下核心差异及优势:
一、核心差异
覆盖维度
人工测试:依赖经验覆盖常规场景(如登录/支付等标准流程)
AI测试:通过算法挖掘隐藏关联(如不同网络环境+用户行为路径的组合)
数据深度
人工测试:基于历史案例和业务文档
AI测试:可分析代码逻辑、用户行为日志、甚至第三方漏洞库
执行效率
人工测试:平均单功能模块需3-5小时设计
AI测试:相同场景可在30分钟内生成多版本测试方案
二、AI深度思考的优势
智能风险预判
案例:某金融APP通过AI发现用户在弱网环境下连续点击支付按钮,可能触发重复扣款
人工测试:常规流程测试无法覆盖此类并发操作
精准场景组合
AI可自动生成2^N种参数组合(如年龄+地域+设备型号的交叉测试)
传统方法通常仅覆盖50%左右的组合场景
持续进化能力
模型可通过CI/CD管道实时学习最新缺陷数据
某电商平台使用AI后,新版本缺陷发现率提升40%
资源优化
减少70%重复性测试用例设计时间
可分配测试人员专注于探索性测试和用户体验验证
三、实践建议 建议采用"AI+人工"的协同模式:
基础层:AI生成80%标准化测试用例
增强层:测试人员补充20%业务特色场景
验证层:通过AB测试对比AI与人工用例的缺陷发现率
当前头部互联网公司已普遍采用此类混合模式,在保证测试深度的同时,将测试周期平均缩短35%。建议在实施时重点关注测试数据质量和模型可解释性,避免过度依赖黑箱算法。
领取全栈软件测试工程师学习资料
添加下方小编微信备注"资料"
分享、点赞支持持续输出