- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程
软件工程
第6讲 软件测试
第6讲 软件测试
6.1 软件测试的基本概念
6.2 测试的原则、类型和文档
6.3 黑盒测试方法
6.4 白盒测试方法
6.5 软件测试的基本过程
6.6 软件纠错
6.1 软件测试的基本概念
(1)什么是软件测试?其目的是什么?
(2)什么是成功的测试?什么是失败的测试?
(3)什么是好的软件测试?
(4)穷举测试能够把所有的错误找完吗?
(5)通过测试能够证明软件无错吗?
(6)测试的基本工作有哪些?
(7)什么是测试用例?
(8)测试由谁来完成?
(9)测试与纠错有何关系?
(10)纠错由谁来完成?
(11)测试的信息流之间有何关系?
(1)什么是软件测试?其目的是什么?
测试的定义
软件(程序)测试是为了发现错误而执行程
序的过程。
测试的目的
发现程序的错误。
测试为什么重要
ARIANE火箭
耗资70亿美元,1996年发射37秒
后爆炸
begin
sensor_get(vertical_veloc_sensor);
sensor_get(horizontal_veloc_sensor);
vertical_veloc_bias := integer(vertical_veloc_sensor);
horizontal_veloc_bias :=
integer(horizontal_veloc_sensor);
...
exception
when numeric_error = calculate_vertical_veloc();
when others = use_irs1();
end;
测试为什么重要
发射失败的原因
程序中试图将64位浮点数转换成16位整数时的
溢出错误
如果看其浮点转换程序,并没有任何问题。问
题在于他们复用了Ariane 4的部分软件需求文档
因而软件工程师不知道其Ariane 5的水平加速度
比Ariane 4快5倍因此要求额外3位整数存储,所
以其背后的真正原因是系统需求。
测试为什么重要
爱国者导弹
第一次海湾战争期间,美国爱国者导
弹系统拦截伊拉克飞毛腿导弹失败。
导弹摧毁了一个美军兵营,造成28名
士兵死亡,100人受伤。
起因
导弹拦截软件的取整错误导致计时不正确,
令爱国者忽略了飞毛腿导弹
(2)什么是成功的测试?什么是失败的测试?
什么是成功的测试?
能够找到至今尚未发现的错误。
什么是失败的测试?
没有找到至今尚未发现的错误。
(3)什么是好的软件测试?
用最少的代价能够找到至今尚未发现的更多的错误。
测试工作反映了经济学的观点。
(4)穷举测试能够把所有的错误找完吗?
例1 对于程序内部路径的测 A
试
如图中所示从A到B的中间有一 ≤20
个20次的循环,循环中有5条路
径,那么从A到B的独立路径数
约为1014 20 19 1
(即5 +5 +… +5 )
例2 对于程序功能的测试
一个程序需要3个整型数的输
B
入。假设计算机字长是16位,
则每个整数可能取值有216个,
那么3个输入整数的各种可能值
的情况约为216 16 16
×2 ×2 =
248
原创力文档


文档评论(0)