(1)请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(2)请利用自动测试工具对程序进行测试
(3)请将程序运行结果和自动测试分析结果截图粘贴到文档中
为了求数组最大字段和,须定义变量max,currentSum分别保存最大值和当前和。初值均设为零,对currentSum进行循环加法,当currentSum<=0时,将currentSum值重置为num[i],否则currentSum=currentSum+num[i]。将max与currentSum进行比较,若后者大则max赋值为currentSum,否则不变。最终结果即为最大字段和。
判定/条件覆盖测试程序设计
由图知测试程序需要涵盖以下情况:
数组num为空 currentSum<=0 currentSum>max
数组num不为空 currentSum>0 currentSum>max
测试程序代码
package code;
import static org.junit.Assert.*;
import org.junit.Test;
public class test {
public void sum1() {
assertEquals(0, new maxNU().sum(new int[] {} ));
}
public void sum2() {
assertEquals(20,new maxNU().sum(new int[] {-2,11,-4,13,-5,-2} ));
}
public void sum3() {
assertEquals(0, new maxNU().sum(new int[] {-2,-11,-4,-13,-5,-2} ));
}
public void sum4() {
assertEquals(12, new maxNU().sum(new int[] {1,4,7} ));
}
测试结果