阅读以下关于网络应用系统可靠性分析方面的技术说明,根据要求回答问题1至问题4。【说明】 可靠性是一个网络应用系统能正常工作的能力,一般用平均故障间隔时间(MTBF)来度量。某网络应用软件研发公司正在开发一个嵌入式实时应用软件——宽带路由器的NanOs程序,在编写软件维护与测试说明书时,涉及到如何定量地描述软件可靠性的问题。 该项目负责人谢工程师认为软件可靠性指的是在将要使用的指定环境下,软件能以用户可接受的方式正确运行任务所表现出来的能力。从定量角度看,似乎应当是该软件在约定的环境条件下和在给定的时间区间内,按照软件规格说明的要求,成功地运行程序所规定功能的概率。但是,他感到要具体地做定量描述有些困难。 为此,谢工程师查阅到了本部门某个软件需求规格说明书中有关的一条说明,即错误(BUG)可采用蒙特卡罗(Monte Carlo)随机植入技术进行测试。采用错误随机植入模型估算出被测程序模块中存在的错误数具有以下几个优点: (1)工作方式相当直观,能在一定程度上反映出软件的质量。 (2)虽然在技术上不完善,但至少产生了与软件质量相关的定量结果。 (3)在最坏的情况下,起码可用来衡量“测试工作的有效性”,在某种程度上作为测试是否能结束的一项标志。 谢工程师首先想到了曾经学到过采用蒙特卡罗随机统计技术确定不规则形状封闭图形面积的方法,即采用一个大的矩形把待测的封闭图形完全包围在该大矩形的内部,由计算机大量生成在此矩形内均匀分布的“点”,然后计数在大矩形内总的“点”的个数和在封闭图形内的“点”的个数,可近似地得到以下计算表达式:
问答题
请用蒙特卡罗错误随机植入模型估算出被测程序模块中将会遗留下多少个未被发现的隐藏错误。请简要列出计算式子及计算过程。
【正确答案】正确答案:设软件固有错误数为N,人为植入错误数为NS,测试中发现的固有错误数为M,测试中发现的人为植入错误数为MS,
.jpg)
【答案解析】解析:这是一道要求读者掌握定量分析网络应用软件错误可靠性指标的计算题。本题的解答思路如下。 1)根据题干中给出的信息可将错误随机植入模型定义成为估算某软件所含有固有错误的具体数目N,可在此软件中人为随机植入NS个错误数,然后进行比较软件的测试,如果通过测试发现了M个固有错误,其中发现的人为随机植入错误数有MS个。 2)由题干关键信息“测试过程中未引入新的错误”,可以进一步假设人为随机植入NS个错误数后故障的出现概率等同于植入错误数之前故障的出现概率,即将程序模块单位长度故障率认为是一个常数。
.jpg)
问答题
在进行上述分析后,谢工程师感到有些困惑,于是与本研发部门郭工程师进行了讨论。郭工程师告诉他可以借用硬件的MTBF(平均无故障时间)或者MTTF(失效的平均等待时间)作为软件可靠性的主要指标。谢工程师通过查阅相关资料得知,平均无故障时间(MTBF)与单位长度的剩余故障个数εr成反比,即[*],其中K的典型值取为200。 同样谢工程师将这个思想应用于NanOs嵌入式网络应用系统测试过程;通过测试一段时间后,在 NanOs程序中发现795个固有错误,且及时改正了测试中发现的错误。请估算出宽带路由器的NanOs程序的平均无故障时间。若要求把此平均无故障时间再提高4倍,则还需排除多少个错误?请简要列出计算式子及计算过程。
【正确答案】正确答案:
.jpg)
【答案解析】
问答题
信息部门的吴总工程师向谢工程师建议了另一种测试方案作为“错误随机植入”测试方法的补充。即由A和B两组测试人员同时相互独立地测试同一份宽带路由器的NanOs程序某个模块的两个拷贝。假设经过了两周测试后,A组发现的错误总数为350个,B组发现的错误总数为320个,其中两个组发现的相同错误数目为132个。请估算在测试前此程序原有多少个错误?并以100字以内的文字简要说明使用这种估算方法所需假设的必要前提。请简要列出计算式子及训—算过程。
【正确答案】正确答案:
.jpg)
【答案解析】
问答题
假设该宽带路由器应用于某小型局域网,NanOs程序去年全年处理业务约250万个单位数据,其中5%的业务处理中每个业务需对宽带路由器嵌入式微处理器提交7次请求;其中80%的业务处理中每个业务需对该嵌入式微处理器提交5次请求;其余15%的业务处理中每个业务需对该嵌入式微处理器提交3次请求。根据以往统计结果,每年的业务增量为12%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行。每年业务量集中在8个月,每个月20个工作日,每个工作日9小时。请按测试强度80~20原理估算该宽带路由器的嵌入式微处理器处理请求的能力。请简要列出计算过程。
【正确答案】正确答案:①每年总的请求数M1=(250×5%×7+250×80%×5+250×15%×3)×2万次/年=(87.5+1000+112.5)万次/年=1200万次/年 ②每天请求数M2=1200万次/年/(8×20天)=1200/160万次/天=7.5万次/天 ③每秒请求数M3=(75000次/天×80%)/(9×3600×20%秒)=9.259次/秒 ④该宽带路由器的嵌入式微处理器处理请求的能力应达到10次/秒
【答案解析】解析:这是一道要求读者根据实际应用环境计算嵌入式微处理器处理请求能力的综合计算题,本题的解答思路如下。 1)宽带路由器的嵌入式微处理器处理请求的80~20原理,是指每个工作日中80%的业务在20%的时间内完成。 2)每年总的请求数M1=(250×5%×7+250×80%×5+250×15%×3)×2万次/年 =(87.5+1000+112.5)万次/年 =1200万次/年 注意,由于试题已指出“每年的业务增量为12%,考虑到今后3年业务发展的需要,测试需按现有业务量的两倍进行”,其中“12%”是个无关信息量,计算每年总的请求数时需乘以2(两倍)。 3)根据“每年业务量集中在8个月,每个月20个工作日”可计算出每天请求数M2: M2=1200万次/年/(8×20天)=1200/160万次/天=7.5万次/天 4)根据80~20原理和试题中“每个工作日9小时”可计算出每秒请求数M3: M3=(75000次/天×80%)/(9×3600×20%秒)=9.259次/秒 5)通过以上分析,可以得出该宽带路由器的嵌入式微处理器处理请求的能力应达到10次/秒。 6)顺便指出,本题涉及的内容属于负载压力测试中的疲劳强度测试。负载压力测试是嵌入式系统的性能测试的一项重要工作,它是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。它有助于确认被测系统是否能够支持性能需求,以及预期的负载增长等。负载压力测试不只是关注不同负载场景下的响应时间等指标,它也要通过测试来发现在不同负载场景下会出现的诸如速度变慢等问题的原因。