软件工程第二次作业
(1)请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(2)请利用自动测试工具对程序进行测试
(3)请将程序运行结果和自动测试分析结果截图粘贴到文档中
1.我选用判定/条件覆盖。
用例格式:[输入(dp[i-1], a[i], ans),输出(dp[i] , ans)]
应满足以下覆盖情况:
条件:dp[i-1]+a[i]>a[i], dp[i-1]+a[i]<=a[i], ans>dp[i], ans<=dp[i]
选择用例:[(1,0,1),(1,2)] (abde)
[(-1,1,2),(1,2)] (acde)
[(1,0,0),(1,1)] (abdf)
[(-1,1,0),(1,1)] (acdf)

2.我用的是Visual Studio自动测试工具,下面为测试结果。

测试用例1:输入(-2,11,-4,13,-5,-2)时,输出20。因为dp[]数组维护的是当前与当前值加上以前的中最大的,dp[0]=0,dp[1]=-1,dp[2]=11,dp[3]=7,dp[4]=20,一次类推,然后找出dp中最大的,就是本用例的最大区间和,为20。

图1
测试用例2:输入(-1,-3,3,5,-4,3,2,-2,3,6),输出16.原理同上。

图2
浙公网安备 33010602011771号