软件工程第六次作业
第一题
对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF= 10h;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误) ,MTTF= 15h。
要求:
(1)根据上述数据确定MTTF与测试时间之间的函数关系,画出MTTF与测试时间τ的关系曲线。在画这条曲线时做了什么假设?
(2)为做到MTTF= 100h,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中?
解题
已知It = 10000
- t = 24 * 30h
- MTTF = 10000/k(ET - 15) = 10
- t= 24 * 60h
- MTTF = 10000/k(ET - 25) = 15
解得:
K = 100/3
ET = 45
- 已知MTTF,t的俩组数据
- 可设MTTF = at + b
- 10 = 24 * 30 a + b
- 15 = 24 * 60 a + b
- a = 1/144
- b = 5
- MTTF = 1/144 + 5
100 = t/144 + 5
t = 13680h = 19(month)
MTTF = 10000/(100/3)[45-Ec(t)] = 100
Ec(t) = 42(个)
还有54-42=3个错误存在
第二题
如对一个长度为100000条指令的程序进行集成测试期间记录下下面的数据:
(a)7月1日:集成测试开始,没有发现错误。
(b) 8月2日:总共改正100个错误,此时MTTF=0.4h
©9月1日:总共改正300个错误,
此时,MTTF=2h根据_上列数据完成下列各题。
(1)估计程序中的错误总数。
(2)为使MTTF达到10h,必须测试和调试这个程序多长时间?
(3)画出MTTF和测试时间τ之间的函数关系曲线。
解题
(1)
t = 24 * 31h
MTTF = 10000/K(ET - 100) = 0.4h
t = 24 * 62h
MTTF = 10000/K(ET - 300) = 2h
解得:
K = 1000
ET = 350
(2)
10 = 1/465t - 186/155
t = 5208(h)
(3)
MTTF = at + b
- 0.4 = (24*31)a + b
- 2 = (24 * 62)a + b
解得:
a = 1/465
b = 186/155
MTTF = 1/465t - 186/155
第三题
在测试-一个长度为24000条指令的程序时,第一个月由甲,乙两名测试员各自独立测试这个程序。经一个月测试后,甲发现并改正20个错误,使MTTF达到10h。与此同时,乙发现24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。问:
(1)刚开始测试时程序中总共有多少个潜藏的错误?
(2)为使MTTF达到60h,必须再改正多少个错误?还需用多长测试时间?
(3)画出MTTF与集成测试时间τ之间的函数关系曲线。
解题
t = 24 * 30
假设甲乙二人标记错误的方法一样
2a/ET = b/24
解得:
ET = 80
MTTF = 24000/K(80-20) = 10
解得:
K = 40
MTTF = 24000/(40[80-Ec(t)])
解得:
Ec(t) = 70
MTTF = 1/x = 1/M/T = T/M = 60
T/70 = 60
解得:
T = 4200(h)
4200 - 24*30 = 3480
MTTF. =at + b
- 60 = 4200a + b
- 10 = (24*30)a + b
a = 5/348
b = 360/29
MTTF = 5/387 * t + 300/29