watcher001 2008-4-7 22:25
一道软件测试笔试题目,看看有没有人会解答
【5-12】对一个长度为100,000条指令的程序进行测试,记录下来的数据如下:
测试开始, 发现错误个数为0;
经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时;
又经过160小时的测试, 累计改正300个错误, 此时, MTTF = 2小时;
(1) 估计程序中固有的错误总数;
(2) 为使MTTF达到10小时, 必须测试和调试这个程序多长时间?
(3) 给出MTTF与测试时间t之间的函数关系。
杀手太冷 2008-4-8 08:14
MTTF(mean time to failure,平均失效前时间),定义为随机变量、出错时间等的"期望值"
现在的公司呀,最喜欢很牵强的面试呀~~NIU!!
mythxhg 2008-4-8 10:51
1)
MTTF = IT / ( k * (Et - Ec(t)) )
所以
0.4 = IT / ( k * (Et - 100) )
2 = IT/ ( k * (Et - 300) )
所以可以求出Et =350
2)
由1)可以知道
k = IT / 2(Et - Ect) = 100000 / 2(350 - 300) = 100000 / 100 = 1000;
所以
MTTF = 10 = 100000 / 1000(Et - Ec) = 100/(Et - Ec) = 100/(350 - Ec)
所以Ec = 340
再者由Ec/IT = (Et / IT)*(1 - e~kt)
经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时
所以100 = 350 * (1 - e~k160),
可以知道k 约= 0.01
所以当MTTF= 10时
340 / IT = (350 / IT)*(1-e~0.01t)
所以t 约= 356h
3)求MTTF = f(t),
这个我就不解了,利用上面求得的常数代入公式里就可以得到一个MTTF = f(t)的函数了.
关键是那几条公式,对里面的含义不明白的话可以查一查资料
水印无痕 2008-4-15 15:31
两条数据就能得到一个模型么?
真是胡扯
这样的题目纯粹只是考数学
出题的出发点就不对
还不如问:如果我需要得到一个mttf的估算函数需要收集哪几个数据
mythxhg 2008-4-16 14:22
回复 8# 的帖子
这就是读死书的结果了,
数学模型不能从小的地方看,数学模型是从实际的种种中抽象出来的,使用他可以帮助你得到接近真实的模型,不可能会出现完全等同于实际情况的模型,
2条数据得不到一个模型,你可以拿多写数据平均出更加接近的模型,题目考的是你的一种方法,而非要你去收集数据,这个题目是测试人员需要具备的基础知识之一,
需要收集什么数据只要从公式上就可以直接看到了,考要收集什么数据不是更加无聊么?考一下你对公式的运用起码还能考出你对公式的理解程度,
难道不是吗
eclosin 2008-5-4 11:06
回复 9# 的帖子
做了多年的测试,还真没在那个地方看到过这个公式,学习一下先。
貌似1楼的那个100,000行代码的公司未经测试的代码已经超过 4 Sigma的水平了,赞一个先! :lol
[[i] 本帖最后由 eclosin 于 2008-5-4 11:08 编辑 [/i]]