软件测试
什么是软件测试
用技术手段验证软件是否满足需求
目标
用最少的人力、物力、财力找到问题并修复,降低商业风险
常见测试分类
测试技能
功能测试(手动执行)
自动化(代码/工具),属于功能测试
接口(代码/工具):对模块与模块/系统与系统间数据请求地址进行测试
性能:模拟多人使用——专项测试
测试分类
按阶段(产品开发从无到有的过程)
单元测试:源代码
集成 = 接口测试
系统:包括功能、兼容、文档等测试
验收:分内测(α)、公测(β)、备选(γ),α与β更常见
按代码可见度
黑盒:代码 × ,功能测试,系统测试
灰盒:代码部分可见,接口,集成
白盒:代码 ✔ ,单元
测试策略
冒烟测试:大规模测试前,验证程序的主功能,确保可测性
测试模型
质量模型
功能性,性能,兼容性(硬件+软件),易用性,可靠性,安全性,可维护性,可移植性
测试模型
V模型,W模型(双V,开发与测试同步进行)
测试流程
- 需求分析:阅读并记录不明之处
- 计划编写:测什么(目标及范围),谁来测,怎么测
- 用例设计:验证是否符合需求的操作文档
- 用例执行
- 缺陷管理(提bug - 验证修改后是否还存在 - 关闭bug)
- 测试报告:目标、过程、统计、分析、总结
测试用例
什么是测试用例
执行测试的文档(从质量模型出发)
作用
防漏测、明确实施的标准
格式
用例编号 | 用例标题 | 模块/项目 | 前置条件 | 优先级 | 步骤 | 数据 | 预期结果 |
项目+模块+编号 | 预期结果+步骤 | 所属模块/项目 | 重要程度P0-P4(P0最高) | 无可空 |