《软件测试》PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测试的根本目的就是发现尽可能多的缺陷。
测试:测试由测试员完成。
调试:调试由程序员完成。
测试的目标
以最小的工作量和成本,尽可能多地发现软件系 统中潜在的各种错误和缺陷,以确保软件系统的正确 性和可靠性。
1963年美国飞往火星的火箭爆炸,原因是 FORTRAN程序:DO 5 I=1,3
误写为:DO 5 I=1. 3 损失1000万美元。 1967年苏联“联盟一号”宇宙飞船返回时因忽略
8.2 软件测试方法
软件测试方法分为两类:静态分析、动态测试
一、静态分析方法 指以人工的、非形式化的方法对程序进行分析和
测试,并不运行程序。
桌前检查(Desk Checking)由程序员检查自己的程序, 对源代码进行分析、检验。
代码会审(Code Reading Review)由程序员和测试员 组成评审小组,按照“常见的错误清单”,进行会 议讨论检查。
第八章
8.1软件测试的基本概念
一、软件测试的目的和重要性
因为开发工作的前期不可避免地会引入错误,测试 的目的是为了发现和改正错误,这对于某些涉及 人的生命安全或重要的军事、经济目标的项目显 得尤其重要。
软件测试是软件开发过程中保证软件质量、提高软 件可靠性的最主要的手段之一,是在软件产品交 互用户使用之前,对分析、设计、编码等开发工 作的最后检查和复审,及时发现并校正错误。
5、避免测试的随意性,制定详细、完善的测试计划 (包括测试范围、测试方式、测试成本、测试工 作量、测试时间等)、严格执行测试计划。
6、全面检查每一个测试结果。 7、妥善保管测试过程中的一切文档,为软件维护提
供方便。测试计划、测试用例、测试结果、出错 统计等都是软件测试的重要文档。
另外,Davis 也提出了一组测试原则,在设计有效地测试 用例时必须理解。
四个特性之间会有影响,如可仿效性有可能导致经 济性和修改性较低。因此,通常情况下,应对上述 四个特性进行一定的权衡折衷。
4、充分注意测试中的群集现象。
群集现象是指,在测试过程中,发现错误比较集中 的程序段,往往可能残留的错误数较多。
因此必须注意这种群集现象,对错误群集的程序段 进行重点测试,以提高测试投资的效率。
例:程序P有两个整型输入量 X、Y,输出量为Z,
在32位机上运行。所有的测试数据组(Xi,Yi)的 数目为: 2 32 2 32= 2 64 1毫秒执行1次,共需5
亿年。
X
P
Z
Y
3、软件测试难度大 根据上述分析,既然不能进行 “穷举”测试, 又要查出尽可能多的错误,软件测试工作的难 度大。只有选择 — “高效的测试用例”
什么是“高效的测试用例”? 如何选择“高效的测试用例”?
这就是本章讨论的主要问题!!!
三、软件测试的基本原则 1、应尽早地和不断地进行软件测试。 2、尽量不由程序设计者进行测试,采用独立测试。 开发者总以为程序正确
开发者对程序功能、接口十分熟悉,使用不会出 错
开发者对程序的珍爱心理
3、关键是注重测试用例的选择。 输入数据的组成(输入数据、预期的输出结果) 既有合理输入数据,也有不合理的输入数据。
⑴ 所有的测试都应根据用户的需求来进行。 ⑵ 应该在测试工作真正开始前的较长时间内就进行测试计
划(测试规划)。一般而言,测试计划可以在需求分析 完成后开始,详细的测试用例定义可以在设计模型被确 定后立即开始。因此,所有测试可以在任何代码被编写 前进行计划和设计。 ⑶ Pareto 原则应用于软件测试。Pareto 原则意味着测试发 现的错误80%的很可能集中在20%的程序模块中。 ⑷ 测试应从“小规模”开始,逐步转向“大规模”。即从 模块测试开始再进行系统测试。 ⑸ 穷举测试是不可能的,因此,在测试中不可能覆盖路径
{ 验收测试
安装测试
预测试
测试
软件测试文档
1、测试计划 2、测试规范 3、测试用例 4、缺陷报告
3、软件测试文档
模块测试报告
至少选择一个典型模块进行测试。 A、综合测试策略(静态分析、白盒法为主,辅以
黑盒法) B、测试情况(根据覆盖标准列出) C、测试用例(保留) D、查错记录(数量、位置)、分析结果。 组装测试报告 A、组装次序、测试方法(以黑盒法为主) B、测试情况 C、测试用例(保留) D、查错记录(数量、位置)、分析结果。 功能测试与系统测试与上类似。
B
Y>0
Y
C
X:=Y
Y
X<0 D
E
N
调用子程序 ① 调用图
无论Y 为何值,都
不能够调用子程序。
即执行ABC后,是 不可能执行路径 CDE的。
② 数据流分析图
1
R=0.5
2
Hale Waihona Puke Baidu
W=1/S
3 Y=A**W
4 Y=E*W
5 Z=X+Y
用例既能检查应完成的任务,也能够检查不应该完 成的任务。
长期保存测试用例。 测试用例的质量可以由以下四个特性来描述:
有效性:能否发现软件缺陷或至少可能发现软件缺 陷;
可仿效性:可仿效的测试用例可以测试多项内容, 从而减少测试用例数量;
经济性:测试用例的执行分析和排错是否经济; 修改性:每次软件修改后对测试用例的维护成本。
一个小数点,在进入大气层时打不开降落伞而 烧毁。
二、软件测试的特点
1、软件测试的开销大
按照Boehm的统计,软件测试的开销大约占总成 本的30%-50%。例如:APPOLLO登月计划, 80%的经费用于软件测试。
2、不能进行“穷举”测试
只有将所有可能的情况都测试到,才有可能检查 出所有的错误。但这是不可能的:
的每一个组合,然而,充分覆盖程序逻辑,确保覆盖程 序设计中使用的所有条件是有可能的。 ⑹ 为达到最佳的测试效果,提倡由第三方来进行测试。
四、软件测试的过程
软件测试的过程图
测试的基本步骤
概要设计审查 详细设计审查
代码审查
模块测试 (单元测试)
整体测试 (组装测试)
功能测试
{ 系统测试
(有效性测试) (确认测试)
步行检查(Walkthroughs)最常用的静态分析方法。 与代码会审类似,也要进行代码评审,但评审过程 主要采取人工执行程序的方式,故也称为“走查”。
步行检查时,还常使用以下分析方法: ① 调用图 从语义的角度考察程序的控制路线。 ② 数据流分析图 检查分析变量的定义和引用情况。
A READY
N
相关文档
最新文档