防不胜防的软件错误——例1963年,美国,飞往火星的

防不胜防的软件错误——例1963年,美国,飞往火星的

ID:5409957

大小:404.00 KB

页数:54页

时间:2017-11-11

防不胜防的软件错误——例1963年,美国,飞往火星的_第1页
防不胜防的软件错误——例1963年,美国,飞往火星的_第2页
防不胜防的软件错误——例1963年,美国,飞往火星的_第3页
防不胜防的软件错误——例1963年,美国,飞往火星的_第4页
防不胜防的软件错误——例1963年,美国,飞往火星的_第5页
资源描述:

《防不胜防的软件错误——例1963年,美国,飞往火星的》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、防不胜防的软件错误——例:1963年,美国,飞往火星的火箭爆炸,损失$10million.原因:FORTRAN循环DO5I=1,3误写为DO5I=1.3第六章实现测试(Testing)软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工件量约占总工作量40%以上.(对于人命关天的情况,测试相当于其它部分总成本的3—5倍)。§1.基本概念1、定义:测试是为了发现程序中的错误而执行程序的过程。注意:①只能尽可能查错,不能证明程序中没有错;②测试员与程序员不应是同一个人。2、黑盒和白盒测试

2、黑盒测试(black-box,orclosed-boxtesting):功能测试(程序接口的测试,不关心内部结构,I->O,需求规格说明书)Makesurethateverykindofinputissubmitted,andtheoutputobservedmatchestheoutputexpected.——Functionaltesting白盒测试(white-box,oropen-box,clear-boxtesting):逻辑测试(结构测试,内部,每条可能路径)Usethestructureofth

3、eprogramtotest.——Structuraltesting§1.基本概念若程序执行需10-3秒,则对于所有合法输入的测试大约需用一万年,而且还应测试输入非法数据的情况。主要问题:穷尽测试(completetest)通常是不可能的。例:(Black-box)程序要求输入3个整形数据。若字长16位,则各种可能输入的排列组合共有(种)例:(White-box)§1.基本概念循环20次上图所示的程序中共有5201014条可能的执行通路,显然,每条通路都执行一遍是不现实的。3、测试步骤:(1)模块(单元)Co

4、mponenttesting——programdesign&codingbugs(2)子系统Subsystemtesting——connectionsbetweenmodules(3)系统Systemtesting——requirements&systemdesign(4)验收Acceptancetesting——customerjoinsin(5)平行运行Parallelrunning——comparethenewsystemwiththeoldone.集成Integrationtesting§1.基本概念测

5、试阶段的信息流:测试评价调试可靠性模型软件配置测试配置测试结果可靠性预测错误正确错误率数据预期结果§2.单元测试(白盒)一、主要测试以下五个方面:1、模块接口:内部检查:传输参数的数目、属性、单位、次序是否匹配;全程变量的定义是否一致;只做输入的变元有无被修改,…….外部检查:打开、结束、关闭文件的操作;文件和属性;IO错误处理;输出拼写,……2、局部数据结构:数据说明(declaration);初始化与缺省值的设置;变量名拼写;数据类型的相容性;上下溢出及地址异常,……§2.单元测试§2.单元测试3、

6、重要的执行通路:由于穷尽测试不可能,故通常针对最常见的错误设计测试方案。较常见的错误有:计算次序问题不同类型混合运算(例:比较类型不同的量)初值设置错误精度问题(例:精度不够导致两变量不可能相等,而程序中等待相等条件的出现)表达式错误循环终止条件错误(例:次数差1,或陷入死循环)4、出错处理通路:预见出现错误的条件,设置处理。较常见的问题有:输出的错误信息难以理解,不能确定错误位置描述的错误与实际错误不符处理之前系统已经干预处理不正确§2.单元测试5、边界条件——单元测试中最后,也可能是最重要的任务,因

7、为软件常在其边界失效。1、代码审查(codeinspection)从头到尾(Walk-through):例如LucentTechnologies的测试策略,是由三人一组(包括author,reader,和recorder),逐行检查源代码。预演(Rehearsal):由人扮演computer,模拟执行情况。§2.单元测试优点:一次审查可发现多个错误,不必改一个测一个。二、单元测试的主要手段:2、制做测试软件:Stub(存根)和Driver(驱动)软件Driver(驱动):“主程序”(调用模块)Stub(存根

8、):“虚拟子程序”(被调用模块)软件的编写,属额外开支。模块高内聚可简化这一过程。§3.集成测试(IntegrationTesting)1、非渐增式测试(Big-bangtesting)TestA,B,C,DTestATestBTestCTestD2、渐增式测试(Incrementaltesting)TestA,B,C,DTestABCDTestA,BTestA,B,C§3.集成测试两

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。