软件测试作业4

文章目录

Assignment 4

计算下列代码片段的Halstead 复杂度的11项内容:

if (month < 3) {
    month += 12;
    –year;
}
return dayray((int)(day + (month + 1) * 26/10 + year + year/4 + 6 * (year/100) + year/400)% 7);
OperatorNumber of OccurrencesOperandNumber of Occurrences
if1month3
<1year5
+=1day1
-131
return1121
dayray1261
(int)1101
+641
*261
/41001
%14001
71
n 1 = 11 n_1 = 11 n1=11 N 1 = 20 N_1 = 20 N1=20 n 2 = 12 n_2 = 12 n2=12 N 2 = 18 N_2 = 18 N2=18

所以有:

  1. 程序种不同的操作符个数: n 1 = 11 n_1 = 11 n1=11

  2. 程序中不同的操作数个数: n 2 = 12 n_2 = 12 n2=12

  3. 程序中出现的操作符总数: N 1 = 20 N_1 = 20 N1=20

  4. 程序中出现的操作数总数: N 2 = 18 N_2 = 18 N2=18

  5. Halstead程序词汇表长度: n = n 1 + n 2 = 23 n = n_1 + n_2 = 23 n=n1+n2=23

  6. Halstead程序长度或简单长度: N = N 1 + N 2 = 38 N = N_1 + N_2 = 38 N=N1+N2=38

  7. N N N^ 表示程序的预测长度: N N N^ = n 1 l o g 2 n 1 + n 2 l o g 2 n 2 = 11 l o g 2 11 + 12 l o g 2 12 = n_1log_2n_1 + n_2log_2n_2 = 11log_211 + 12log_212 =n1log2n1+n2log2n2=11log211+12log212

  8. 程序体积或容量Volumne: V = N l o g 2 ( n ) = 38 l o g 2 23 = 171.89535433 V = Nlog_2(n) = 38log_223 = 171.89535433 V=Nlog2(n)=38log223=171.89535433

  9. 程序级别Level: L L L^ = ( 2 / n 1 ) × ( n 2 / N 2 ) = 2 11 × 12 18 = 0.1212 = (2/n_1) \times (n_2/N_2) = \frac{2}{11} \times \frac{12}{18} = 0.1212 =(2/n1)×(n2/N2)=112×1812=0.1212

  10. 程序难度Difficulty: D = 1 / L D = 1/L D=1/L^ $ = 8.251$

  11. 编程工作量Effort: E = V × D = V / L E = V \times D = V / L E=V×D=V/L^ = 171.89535433 / 0.1212 = 1418.27850107 =171.89535433/0.1212 = 1418.27850107 =171.89535433/0.1212=1418.27850107

  12. 语言级别 L ′ = L L&#x27; = L L=L^ × L \times L ×L^ × V = 0.1212 × 0.1212 × 171.18953433 = 2.5147 \times V = 0.1212\times 0.1212 \times 171.18953433 = 2.5147 ×V=0.1212×0.1212×171.18953433=2.5147

  13. 编程时间(hours): T ′ = E / ( S × f ) = 0.0218870139 T&#x27; = E/(S \times f) = 0.0218870139 T=E/(S×f)=0.0218870139

  14. 平均语句大小: N / 语 句 数 = 38 2 = 19 N/ 语句数 = \frac{38}{2} = 19 N/=238=19

  15. 程序中的错误数预测值: B = V / 3000 = 0.0573 B = V/3000 = 0.0573 B=V/3000=0.0573

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值