- 0
- 0
- 约3.41千字
- 约 66页
- 2018-02-13 发布于天津
- 举报
软件测试技术概论;为什么要对软件进行测试(生命损失的事故);2003年,软件问题造成美国东北部及加拿大停电,导致5000万人受影响,3人丧生。
2000年美国海军飞机坠落,导致4人丧生(控制软件问题);
1997年韩国空难,导致225人丧生(雷达控制软件问题);
1995年美国航空公司一架客机在哥伦比亚利机场降落时撞向一座山,调查认为是源于导航软件的问题。该事件导致159人丧生。;2004年,媒体报道过北美银行由于一个新安装的软件的缺陷,使得数以万计的客户受到影响,该缺陷的修复花费了整整两个星期的时间,造成数亿元损失;
2003年10月,美国的一个主要零售企业被政府重罚,原因是其网站软件的缺陷使得客户相互间可以查看他人在该网站的订单;
2003年4月,美国一个专门为学生提供贷款的公司由于软件出错,错误计算80万名学生贷款利率,导致了800万美元的利率损失;; §6.1 基本概念; 软件产品最大的成本:
检测软件错误、修正软件错误。
在整个软件开发中
测试工作量(30~40%, ≥50% )
人命关天的软件(是其他活动的3~5倍)
如:飞机控制
核反应堆;软件测试的认识的发展;质量控制技术;6.1.1 测试的目的与地位
G.J.Myers在经典著作《软件测试之艺术》 (The Art of Software Testing)中认为:
程序测试是为了发现错误而执行程序的过程”。
1.测试是为了寻找错误而运行程序的过程。
2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。
3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。; E.W.Dijkstra 指出:
“程序测试能证明错误的存在,但不能证明错误不存在.”
测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.
;测试与开发前期工作的关系;开发前期出现错误的扩展;软件生存期各阶段间需保持的正确性;(3)pareto原则:测试发现的错误中80%很可能起源于20%的模块中。(孤立疑点模块重点测试)
(4)穷举测试是不可能的。
(5)应由独立的第三方来构造测试。(测试队伍)
(6)测试用例:输入数据 + 预期的结果
(7)合理的输入 + 不合理的输入
(8)程序修改后要回归测试
(9)长期保留测试用例,直至系统废弃。; 6.1.3 可测试性;错误(fault)、误差(error)和故障(failure);错误(fault)、误差(error)和故障(failure); 测试 (test) 调试 (debug); 6.1.4 测试用例设计
软件测试员最重要的一项工作
;不满足条件1、条件2和条件3: 给出“边的取值超出允许范围”的信息。
满足条件1、条件2和条件3: 输出下列四种情况之一:
(1)不满足条件4、条件5和条件6中的一个,则程序输出为“非三角形”
(2)三条边相等,则程序输出为“等边三角形”
(3)恰好有两条边相等,则程序输出为“等腰三角形”。
(4)三条边都不相等,则程序输出为“一般三角形”。
结论:三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
讨论:对输入与输入关系复杂的程序,怎样才能达到完全测试?;题目:输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算……
分析:
输入条件的关键之处有:
整数
三个数
非零数
正数
输出条件的关键之处有:
应满足两边之长大于第三边
等腰
等边
分两步:
列出等价类
列出覆盖等价类的测试用例;;覆盖有效等价类测试用例;覆盖无效等价类测试用例;6.1.5 软件测试信息流;测试设计中需要考虑的22种测试类型;6.1.6 测试的方法与技术;静态测试:基本特征是在对软件进行
分析、检查和审阅,不实
际运行被测试的软件。
静态测试约可找出30~70%的逻辑设计错误.
对需求规格说明书、软件设计说明书、源程序做检查和审阅,包括:
是否符合标准和规范;
通过结构分析、流图分析、符号执行指出软件
缺陷; ;动态黑盒测试 —闭着眼睛测试软件;动态白盒测试 —带上X光眼镜测试软件;§6.2 两种类型的测试
6.2.1 黑盒测试 (用户规格说明书、外部特征)
功能测试、数据驱动测试、基于规格说明书的测试 ;比较
;6.2.3 穷举测试
例:输入 三条边长 黑盒测试
可采用的测试用例数
(设字长16位)
执行时间: 设测试一次需1ms
共需一万年.; 白盒测试
例:含4个分支,循环次数
≤20,从
原创力文档

文档评论(0)