软件工程第六章软件测试.ppt
《软件工程第六章软件测试.ppt》由会员分享,可在线阅读,更多相关《软件工程第六章软件测试.ppt(66页珍藏版)》请在第壹文秘上搜索。
1、第第6 6讲讲 软件测试软件测试6.1 6.1 软件测试的基本概念软件测试的基本概念6.2 6.2 测试的原则、类型和文档测试的原则、类型和文档6.3 6.3 黑盒测试方法黑盒测试方法6.4 6.4 白盒测试方法白盒测试方法6.5 6.5 软件测试的基本过程软件测试的基本过程6.6 6.6 软件纠错软件纠错(1 1)什么是软件测试?其目的是什么?)什么是软件测试?其目的是什么?(2 2)什么是成功的测试?什么是失败的测试?)什么是成功的测试?什么是失败的测试?(3 3)什么是好的软件测试?)什么是好的软件测试?(4 4)穷举测试能够把所有的错误找完吗?)穷举测试能够把所有的错误找完吗?(5 5
2、)通过测试能够证明软件无错吗?)通过测试能够证明软件无错吗?(6 6)测试的基本工作有哪些?)测试的基本工作有哪些?(7 7)什么是测试用例?)什么是测试用例?(8 8)测试由谁来完成?)测试由谁来完成?(9 9)测试与纠错有何关系?)测试与纠错有何关系?(1010)纠错由谁来完成?)纠错由谁来完成?(1111)测试的信息流之间有何关系?)测试的信息流之间有何关系?6.1 6.1 软件测试的基本概念软件测试的基本概念 (1 1)什么是软件测试?其目的是什么?)什么是软件测试?其目的是什么?测试的定义测试的定义软件(程序)测试是为了发现错误而执行程软件(程序)测试是为了发现错误而执行程序的过程。
3、序的过程。测试的目的测试的目的发现程序的错误。发现程序的错误。测试为什么重要nARIANE火箭耗资70亿美元,1996年发射37秒后爆炸nbeginsensor_get(vertical_veloc_sensor);sensor_get(horizontal_veloc_sensor); vertical_veloc_bias := integer(vertical_veloc_sensor);horizontal_veloc_bias := integer(horizontal_veloc_sensor); . exceptionwhen numeric_error = calculate_
4、vertical_veloc();when others = use_irs1(); end; v发射失败的原因 程序中试图将6464位浮点数转换成1616位整数时的溢出错误 如果看其浮点转换程序,并没有任何问题。问题在于他们复用了Ariane 4的部分软件需求文档因而软件工程师不知道其Ariane 5的水平加速度比Ariane 4快5倍因此要求额外3位整数存储,所以其背后的真正原因是系统需求。 测试为什么重要测试为什么重要n 爱国者导弹第一次海湾战争期间,美国爱国者导弹系统拦截伊拉克飞毛腿导弹失败。导弹摧毁了一个美军兵营,造成28名士兵死亡,100人受伤。v 起因 导弹拦截软件的取整错误导致
5、计时不正确,令爱国者忽略了飞毛腿导弹 (2 2)什么是成功的测试?什么是失败的测试?)什么是成功的测试?什么是失败的测试?什么是成功的测试?什么是成功的测试?能够找到至今尚未发现的错误。能够找到至今尚未发现的错误。什么是失败的测试?什么是失败的测试?没有找到至今尚未发现的错误。没有找到至今尚未发现的错误。(3 3)什么是好的软件测试?什么是好的软件测试?用最少的代价用最少的代价能够找到至今尚未发现的更多的错误。能够找到至今尚未发现的更多的错误。测试工作反映了经济学的观点测试工作反映了经济学的观点。(4 4)穷举测试能够把所有的错误找完吗?)穷举测试能够把所有的错误找完吗?例例1 1 对于程序内
6、部路径的测对于程序内部路径的测试试如图中所示从如图中所示从A A到到B B的中间有一的中间有一个个2020次的循环,循环中有次的循环,循环中有5 5条路条路径,那么从径,那么从A A到到B B的独立路径数的独立路径数约为约为10101414(即(即5 520205 519195 51 1)例例2 2 对于程序功能的测试对于程序功能的测试一个程序需要一个程序需要3 3个整型数的输入。个整型数的输入。假设计算机字长是假设计算机字长是1616位,则每位,则每个整数可能取值有个整数可能取值有2 21616个,那么个,那么3 3个输入整数的各种可能值的情个输入整数的各种可能值的情况约为况约为2 2161
7、6 2 21616 2 21616 2 24848 3 3 10 101414AB20(5 5)通过测试能够证明软件无错吗?)通过测试能够证明软件无错吗?穷举测试是不可取的。穷举测试是不可取的。通过测试不可能把所有的软件错误找完。通过测试不可能把所有的软件错误找完。因此,通过测试不可能证明软件不存在错误。因此,通过测试不可能证明软件不存在错误。测试只能证明错误存在,而不能证明错误不存在(不彻底性)。测试只能证明错误存在,而不能证明错误不存在(不彻底性)。(6 6)测试的基本工作有哪些测试的基本工作有哪些?制定测试计划制定测试计划建立测试环境建立测试环境设计测试用例设计测试用例执行测试执行测试结
8、果分析结果分析完成测试报告完成测试报告(7 7)什么是测试用例?)什么是测试用例?测试用例测试用例(Test Case)(Test Case)测试数据测试数据+ +期望的结果期望的结果测试用例的重要作用:测试用例是连接测试计测试用例的重要作用:测试用例是连接测试计划与实施测试的桥梁。划与实施测试的桥梁。设计测试用例是搞好软件测试的关键。设计测试用例是搞好软件测试的关键。(8 8)测试由谁来完成?)测试由谁来完成?一般情况下,应该由非程序员或非程序开发机一般情况下,应该由非程序员或非程序开发机构来完成。构来完成。这样做的主要原因主要:这样做的主要原因主要:从心理学的角度考虑;从心理学的角度考虑;



- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第六 软件 测试
