测试用例设计方法总结
- 尽早介入项目
- 区分产品不同阶段
- 测试用例来源于需求(prd、设计文档、竞品文档)
- 解决了什么问题
- 功能性需求,不同场景下如何使用
- 非功能性需求:性能、压力、稳定性、可用性...
- 与之前功能是否冲突(回归)
- 区分优先级
- 测试用户实际使用场景,站在用户角度思考
- 先设计正面case,覆盖主流程
- 覆盖prd等文档中参数的默认值、quota值、规格最大最小值
- 评估非功能性需求测试范围(破坏性等)
- 黑盒与百盒check点
- 黑盒
- 通过api调用查看配置下发正确
- 流量结果与预期一致
- 百盒
- 控制面数据与预期一致
- 数据面数据与预期一致
- 流量路径、结果与预期一致
- 黑盒
- 用例设计的冗余、逻辑性、可读性、可维护性
- 测试用例review
- 产品型号不同导致用例冗余,一个产品上测完,另一个跑主场景
测试用例设计checklist
测试用例分类
- API
- 增、删、改、查
- 参数输入范围、边界值
- 返回值
- list检查与预期一致
- 错误码
- quota、规格
- 功能
- 控制面:针对某个API的某个参数详细测试
- 数据面:针对某个组件构造不同流量模型
- 场景
- 运维类
- 各种资源加入/移除 group
- 各种资源DOWN/UP/GRAY
- 迁移
- 破坏性
- mysql、redis、cc-server、cc-gateway等控制面依赖组件不可用及恢复
- 控制面被测组件不可用及恢复
- 数据面被测组件不可用及恢复
- 本地恢复
- 系统外组件dns、ntp
- 稳定性
- 控制面:长时间高并发调用API
- 数据面:长时间高压力下打流量
- 性能
- 控制面:qps
- 数据面:新建、吞吐、并发、规格
- 上线回滚流程 &兼容性
- 监控
各host具体检查点
- Server
- list检查数据库返回值与预期结果一致
- 查看log无error
- Gateway
- API节点运行 ccgw查看资源basic、detail信息
- 查看log无error
- VS
- 控制面
- 数据面openvswitch
- 查看log无error
- VR
- 控制面 controller-vr
- 数据面 router-vr
- 查看log无error
- DR
- 控制面 controller-dr
- 数据面 router-dr
- 查看log无error
- BGW
- 控制面controller-bgw
- 数据面 router-bgw
- 查看log无error