(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题.

上传人:精****库 文档编号:136579922 上传时间:2020-06-29 格式:DOC 页数:33 大小:740.69KB
返回 下载 相关 举报
(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题._第1页
第1页 / 共33页
(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题._第2页
第2页 / 共33页
(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题._第3页
第3页 / 共33页
(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题._第4页
第4页 / 共33页
(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题._第5页
第5页 / 共33页
点击查看更多>>
资源描述

《(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题.》由会员分享,可在线阅读,更多相关《(安全生产)解题方法与技巧精解应对软件测试维护安全类型的问题.(33页珍藏版)》请在金锄头文库上搜索。

1、 第 8讲 计算机数值表示与非数值表示第7讲 如何应对软件测试、维护、安全类型的问题 本讲导读 定量化的说明。 随着软件产业的推进和测试技术的发展,测试驱动开发越来越受到开发人员的重视,测试技术也渗透到软件开发的每一个角落。同时,虽然硬件技术已经获得了巨大的发展,但应用需求的快速增长也大大超出了人们的想象,如何更好地评价系统的各项性能指标对充分发挥系统的性能越来越来起到更为重要的作用。同时,测试驱动开发的思想也使得人们对测试技术更为重视,尤其是测试的基本方法。而对于系统安全,则是反复强调的重点,基本的安全设备,安全的体系结构等等属于考察的重点。 本讲内容 7.1 案例一软件可靠性测试7.1.1

2、 问题某企业信息部门的李工程师正在为其下属单位开发一个应用软件,在编写软件需求规格说明书时,涉及到如何定量地描述软件可靠性的问题。 李工认为软件可靠性指的是在将要使用的指定环境下,软件能以用户可接受的方式正确运行任务所表现出来的能力。从定量角度看,似乎应当是该软件在约定的环境条件下和在给定的时间区间内,按照软件规格说明的要求,成功地运行程序所规定功能的概率。但是,他感到要具体地做定量描述有些困难。为此,李工查阅到了本部门某个软件需求规格说明书中有关的一段内容:“(1)在集成与系统测试期间,由非开发组人员参与测试,每10k行可执行代码可能检测到的错误(BUG)不能大于6个; (2)在提交使用的系

3、统中,每10k行可执行代码可能保留着的错误数不能大于8个; (3)在第一年工作期间,系统在99.9%的工作日期间内,应能保持100%的正常工作状态。” 在上述说明后,还有一条注解是:错误(BUG)可采用蒙特卡罗(MonteCarlo)随机植入技术进行测试。 问题1李工程师首先想到了曾经学到过采用蒙特卡罗随机统计技术确定不规则形状封闭图形面积的方法,即是采用一个大的矩形把待测的封闭图形完全包围在该大矩形的内部,由计算机大量生成在此矩形内均匀分布的“点”,然后,计数清点一下在大矩形内总的“点”的个数和在封闭图形内的“点”的个数,应当近似地有:封闭图形的面积=对于某些使用于重要场合的软件,或者运行时

4、发生故障会产生相当严重后果的软件,必须要求有更高的可靠性,即在软件开发的所有相关环节采取相应的严格管理和措施,保证其能稳定可靠地运行,避免失效可能会引起的严重损失。 如果把这个思想应用于系统测试过程,先在某个程序中随机地人为植入10个错误(BUG),然后,由一个测试组进行测试,结果一共发现有120个错误,其中有6个是人为植入的错误。 请你估算一下这时该程序中将会遗留下多少个未被发现的隐藏错误。同时也请你用100字以内的文字,简要地以提纲方式列举出采用这种错误随机植入方式来估算系统中遗留错误所固有的局限性。 问题2 在进行上述分析后,李工程师感到有些困惑,于是与本企业维护系统的一位系统管理员进行

5、了讨论,系统管理员告诉他可以借用硬件的MTTF(失效的平均等待时间,MeanTimeToFailure)或者MTBF(失效的平均间隔时间)作为软件可靠性的主要指标。 这时,李工程师查到了本企业中的一个典型例子:某软件在提交使用后,在第1周内有5次软件故障(查出了有关的BUG),在第2周至第4周内共有23次出错(也排除了错误根源),在2个月以后该软件一直能正常使用运行(大家反映不错),一直到6年半后的一天突然停工,即工作不正常。 请你用100字以内文字分析该软件最后一次工作不正常的可能原因,并说明MTBF是在什么意义下反映了软件的可靠性。 问题3信息部门的吴总工程师向李工程师建议了另一类测试方案

6、作为“错误随机植入”测试方法的补充。即由甲和乙两组测试人员同时相互独立地测试同一份程序的两个拷贝,测试了两周后,甲组发现的错误总数为330个,乙组发现的错误总数为320个,其中两个组发现的相同错误数目为300个。请你大体上估算一下在测试前此程序原有多少个错误?并也请你以100字以内文字,简要说明使用这类估算方法的必要前提。7.1.2 背景知识与解题分析 根据可靠性的概念,要在软件需求规格说明书中定量地、确切地表述出软件可靠性是最困难的。软件可靠性需求应根据不同的软件使用的环境条件与不同的应用场合提出不同的要求,笼统地说:“软件应有99.9%的可靠性”是没有多大意义的。因为各类软件在运用时,出现

7、失效所造成的影响和损失各不相同,在需求分析时应对所开发的软件在投入运行后不发生故障的概率,按实际的运用环境条件提出适度的不同要求。 问题1在一个待测试的程序中人为地随机植入10个错误。测试后发现了120个错误,其中有6个是植入的错误。要求估算在该程序中还遗留有多少个“未被发现的错误”,指出以这类随机植入错误方案估算程序中错误所固有的局限性。有关随机植入错误方法,请参考试题4的分析。随机植入错误方法有几个明显的优点; (1)工作方式相当直观,能在一定程序上反映出软件的质量; (2)虽然在技术上不完善,但至少产生了与软件质量相关的定量的结果; (3)在最坏的情况下,起码可用来衡量“测试工作的有效性

8、”,在某种程序上作为测试是否能结束的一项标志,因为如果连这类播种入的错误都不能发现,一定不会是很成功的测试。 现在本题要求回答此类方案的局限性,大体上可从下面两方面分析。按照公式计算,这实际上就是一个比较简单的比例问题。MTBF反映了软件错误出现的频度,是“用户的可预测性”与“软件中存在错误数”的一个复杂的函数。 (1)要想使随机植入的错误有助于正确地推出固有的错误数时,如何有效地选择和植入这类错误相对很困难,因为所有错误不会平等地以同样的可能性出现,错误还有着连带性与相关性,比如一个错误往往会隐藏着某些其他的错误。(2)检测错误与修改好错误不是一件轻而易举的任务,一方面,随机植入的错误本身会

9、增加检测发现错误和修改错误的工作量,另一方面,在检测错误时,错误一般不会等同地被发现,在修复错误时经常会引出新的错误。从而很难用如此简单的公式获得很理想的估计值。随机植入错误测试方案的估算公式及其局限性: 程序中错误的总数:(10120)/6=200个。 遗留未被发现的错误数=200-120-(10-6)=80-4=76个。 (1)所有错误不会平等地出现; (2)错误有着连带相关性(一个错误可能隐藏另一错误); (3)在检测错误时,错误不会等同地被发现:(4)在修复错误时经常会引起新的错误。 问题2 问题2要求分析软件正常工作了6年半后突然停工的可能原因,以及用失效的平均间隔时间MTBF反映软件可靠性的含义是什么? 要分析一个软件稳定正常地运行了6年半后突然有一天停工,即工作不正常的原因时,从题目的上下文来看,主要应当从软件本身的质量和软件生存期的有关活动加以分析。 (1)在软件运行过程中用户的可预测性:最大的可能性应是用户突然启用了软件的一个应当提供的新功能,而软件的该项功能实现有错误,在以前的6年半中从未使用过该功能。类似地,用户新使用的正好是软件考虑不周的与时间有关的某个功能(包括类似于两千年问题等),与计数溢出有关的功能,与队列、堆栈、存储器容量或缓冲区大小有关的功能等。所有这些都可归入用户使用的可

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号