软件工程第二次作业
(1)选择判定/条件覆盖标准。
判定/条件覆盖要求每个判定中的条件都取到true和false,并且每个条件的真假取值至少覆盖一次。在给定的代码中,有两个条件:
if (max_so_far < max_ending_here)
if (max_ending_here < 0)
设计测试用例时,需要确保这两个条件都取到true和false,并且对于这两个条件的覆盖要尽可能全面。
考虑到给定的测试用例,数组 a[] = {-2, 11, -4, 13, -5, -2},其中包含了正数、负数和零,可以设计以下测试用例:
测试用例1: 所有元素都是负数,此时最大子段和为0。
输入: int a[] = {-2, -11, -4, -13, -5, -2};
预期输出: 0
测试用例2: 所有元素都是正数,此时最大子段和应为数组的总和。
输入: int a[] = {2, 11, 4, 13, 5, 2};
预期输出: 37
测试用例3: 包含正数、负数和零的情况,最大子段和不为0。
输入: int a[] = {-2, 11, -4, 13, -5, -2};
预期输出: 20
(2)使用的自动测试工具为Google Test,测试全部通过。
(3)Github地址:https://github.com/yuanylk/-2
本次总结:学会了用Google Test 进行单元测试。
浙公网安备 33010602011771号