目录
1.软件测试的重要性
没有经过测试的软件,其质量是得不到保证的,小到影响人们的日常生活,严重的会使人们的财产受到损失,致命的甚至会危及到人们的生命安全
2.软件测试的定义
根据侧重点不同,有三种不同的观点:
a.软件测试就是为了发现错误而执行程序的过程,目的就是为了发现错误。
b.使用人工或者工具测试某个系统的过程,其目的是检验其是否满足需求的规定或者是弄清预期结果与实际结果之间的差别
c.软件测试是一种重要的软件质量保证活动,包含“分析”与“运行”。
3.测试与调试的区别
调试是开发过程中发现错误并修复错误的过程;
测试主要是为了发现错误,不包括修复;
调试必须是由开发完成,而测试则不一定.
4.软件测试的原则
1.所有的测试都应基于用户需求
2.设计测试用例的时候,要包含合理的输入条件与不合理的输入条件
3.穷举测试是不可能的
4.缺陷发现的越早,解决的代价就越小
5.测试的杀虫剂怪事
6.注意缺陷的群集现象
7.避免测试自己的程序
8.测试必须要有逾期结果
9.注意保留测试设计与说明文档,并注意其可重用性
10.测试能证明软件有错,不能证明软件中没有错
5.软件的生命周期
5.1瀑布模型
需求分析
设计
编码
测试
运行与维护命周期
5.2v模型
客户需求 验收测试
需求分析 系统测试
概要设计 集成测试
详细设计 单元测试
程序编码
5.3w模型
开发: 用户需求-需求分析-概要设计-详细设计-编码-集成-实施-交付 测试: 验收测试设计-SRS评审&系统测试计划与设计-概要设计评审&集成测试计划与设计-详细设计评审&单元测试计划与设计-单元测试-集成测试-系统测试-验收测试
6.测试阶段划分
6.1单元测试UT
针对软件设计的最小单位模块所进行的测试 测试策略: 1.孤立的测试策略-针对每个单元模块单独进行的测试,可能需要开发驱动模块与桩模块 驱动模块:负责接收输入与输出结果 桩模块:模拟被调用的模块 2.自顶向下的测试策略:节省驱动模块的开发,需要开发桩模块 3.自底向上的测试策略:节省桩模块的开发,需要开发驱动模块
6.2集成测试IT
在单元测试的基础上,按设计要求进行组装在一起所进行的集成测试 主要关注模块与模块,接口与接口之间的数据传递关系 测试策略: 1.大爆炸式集成 2.自顶向下集成 3.自底向上集成
6.3系统测试ST
在集成测试的基础上,将集成好的软件系统作为整个计算机系统的一个元素,在实际使用环境下进行的一系列测试,主要目的是与需求作比较,发现与需求定义不符合或者与之矛盾的地方
6.4 UT、IT、ST的区别
测试方法的不同: 单元测试属于白盒测试 集成测试属于灰盒测试 系统测试属于黑盒测试 考察范围不同: 单元测试主要测试的是模块之内的数据结构、逻辑控制‘异常处理 集成测试主要测试的是模块与模块,接口与接口之间的数据传递关系,以及模块组