2.1 软件测试基本概念
定义:
1)正向思维:评价程序和系统的特性或功能,并确定是否达到预期结果
2)逆向思维:为发现错误而执行程序或系统的工程(证伪)
* 成功的测试必须能发现软件有错误
目的:
1)用户角度:暴露软件隐藏的错误和缺陷
2)开发者角度:表明软件不存在错误,已正确实现了用户的要求,建立对软件质量的信心
原则:
* 测试只能证明软件有错误,不能证明软件没有错误
* 应尽早介入测试
* 测试活动要有组织、有计划、有选择,完全测试是不可能的
* 选择最佳测试策略(多快好省)
* 注重测试设计
* 没有失效不代表系统可用(功能、性能、稳定性、兼容性等要求) * 严格执行测试计划(测试前必须有明确的预期结果)
* 标准是用户的需求
测试质量度量:
-- 度量目的:改进软件测试的质量,提高测试效率,改进测试过程的有效性
-- 难度:不能从软件产品的质量反应软件测试的效果
-- 措施:转移到软件 测试产出物 的度量,及 测试过程 的度量
软件测试的质量度量表:
工作量偏差:((实际工作量-计划工作量) / 计划工作量)*100% ---------- 进度
测试执行率:(实际执行的测试用例数 / 用例总数)*100% ---------- 测试进度
测试通过率:(执行通过的测试用例数 / 用例总数)*100% ---------- 开发质量
需求(测试用例)覆盖率:(已设计测试用例的需求数 / 需求总数)*100% ---------- 测试设计质量
测试用例命中率:(缺陷总数 / 测试用例数)*100% ---------- 测试用例质量
二次故障率:(reopen 缺陷数 / 缺陷总数)*100% ---------- 开发质量
NG率:(验证不通过的缺陷 / 缺陷总数)*100% ---------- 开发质量
缺陷无效率:(无效的缺陷 / 缺陷总数)*100% ---------- 测试
缺陷修复率:(已解决的缺陷 / 缺陷总数)*100% ---------- 开发
缺陷生存周期:缺陷从提交到关闭的平均时间 ---------- 开发、测试
缺陷修复的平均时长:缺陷从提交到修复的平均时间 ---------- 开发
缺陷关闭的平均时长:缺陷从修复到关闭的平均时间 ---------- 测试
缺陷探测率:(测试这发现的缺陷数 / (测试者发现的缺陷数+客户发现的缺陷数))*100% ---------- 测试质量
软件开发对应的软件测试过程: