一、软件测试基础 00:00
1. 软件测试的基本概念 01:49
1)软件测试定义的发展 02:06
l 证真阶段:早期定义(上世纪)认为软件测试是为了证明软件没有错误,即 "证明软件是真的"
l 证伪阶段:发展为证明软件虽然存在错误但可以正常运行,核心目的是发现软件中的错误
l 质量阶段:最新定义强调测试最终目的是保证软件质量,发现错误只是手段而非最终目标
2)软件测试的目的 04:01
l 核心目的:保证软件质量,而不仅是发现错误
l 具体目标:
o 符合法律法规和技术标准
o 降低产品风险和应用风险
o 满足需求规格说明书要求
l 注意点:符合应用需求不是唯一目的,还需考虑法规符合性、商务要求等外部因素
3)软件测试的对象 05:17
l 基本对象:软件本身,包含程序、数据和文档三部分l 环境因素:
o 需要运行环境和测试环境支持(硬件/软件/网络/数据环境)
o 环境会影响测试结果但不是测试对象本身
l 实施要点:
o 明确测试对象边界(程序/数据/文档)
o 认识环境对测试结果的影响
4)验证和确认 07:30
l 验证(Verification):
o 判断是否按需求规格正确构造软件
o 依据:需求规格说明书
o 关注"是否正确地做事"
l 确认(Validation):
o 检验软件是否满足用户真实需求
o 依据:用户原始需求
o 关注"是否做了正确的事"
l 关键差异:需求规格书可能未完整反映用户真实需求,导致通过验证但未通过确认
l 现实表现:软件频繁更新的主要原因就是确认不足
5)软误、缺陷、故障和失效 10:08
l 软件错误、缺陷、故障与失效的定义 10:14
o 软件错误:生命周期中不希望出现的人为错误(如程序员编码错误)
o 软件缺陷:软件中存在的不可接受偏差(由错误导致)
o 软件故障:运行时出现的不可接受内部状态
o 软件失效:运行时表现出的不可接受外部行为
l 软件错误导致软件缺陷的例子 10:49
o 典型示例:程序员将判断语句if(a==b)误写为if(a=b),导致:
n 错误:人为编码错误(少写一个等号)
n 缺陷:程序逻辑偏差(判断变赋值)
n 可能引发故障:程序执行错误分支
n 最终失效:系统产生错误输出或崩溃
l 软件缺陷与软件故障的关系 11:50
o 触发关系:缺陷可能导致故障,但不必然导致
o 示例说明 :if(a=b)缺陷在特定条件下(a不等于b时)才会引发故障
l 软件 析和设计阶段引入缺陷的比例 12:44
o 需求阶段 :>40%(最大比例)
o 设计阶段 :>30%
o 编码阶段 :<30%
o 关键结论:非编码阶段引入的缺陷占比超过70%
l 缺陷发现与修复代价的关系 13:14
o 时间代价:缺陷从产生到发现的时间间隔越短,修复代价越小
o 增长规律:跨阶段未发现的缺陷修复代价呈指数级增长
o 典型案例:需求阶段错误延续到测试阶段才被发现,需重做需求/设计/编码
l 测试要尽早进行的原则 13:53
o 基本原则:缺陷早发现早排除
o 实施方式:
n 测试贯穿软件工程全生命周期
n 需求/设计阶段进行静态测试(文档审查等)
n 避免仅编码后测试的传统做法
o 行业现状:许多企业仍停留在编码后黑盒测试阶段,不符合最佳实践
6)软件质量的定义 14:55
l 核心概念:在规定条件下使用时,软件产品满足明确或隐含要求的能力。强调 "规定条件"是前提,如操作系统环境等。
l 与测试的关系:软件质量包含软件测试,测试只是保证质量的措施之一,还可采用其他手段。测试概

533

被折叠的 条评论
为什么被折叠?



