软工第二次作业

作业信息 沈阳航空航天大学计算机学院2024软件工程作业
课程目标 熟悉一个“高质量”软件的开发过程
作业目标 单元测试练习

1、请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例。

我选择使用条件覆盖标准来设计一个测试用例。

条件覆盖要求每个条件都至少被测试一次,并且测试用例应该覆盖所有可能的条件组合。代码中,有一个条件需要被覆盖,即 pre = max(pre + x, x) 中的比较条件。

根据条件覆盖标准,我们需要设计测试用例来满足以下要求:

(1)测试用例至少包含两个输入数据,以覆盖不同的情况。

(2)一个输入数据使得 pre + x 大于 x,另一个输入数据使得 pre + x 小于等于 x。

测试用例1:

输入:n = 5

nums = [1, -2, 3, -4, 5]

输出:最大连续子数组和为:5。

在第一次迭代时,pre = max(0 + 1, 1) = 1,maxAns = max(1, 1) = 1。

在第二次迭代时,pre = max(1 + (-2), -2) = -1,maxAns = max(1, -1) = 1。

在第三次迭代时,pre = max(-1 + 3, 3) = 3,maxAns = max(1, 3) = 3。

在第四次迭代时,pre = max(3 + (-4), -4) = -1,maxAns = max(3, -1) = 3。

在第五次迭代时,pre = max(-1 + 5, 5) = 5,maxAns = max(3, 5) = 5。

因此,最大连续子数组和为 5。

测试用例2:

输入:n = 4

nums = [2, 4, -3, 5]

输出:最大连续子数组和为:8

在第一次迭代时,pre = max(0 + 2, 2) = 2,maxAns = max(2, 2) = 2。

在第二次迭代时,pre = max(2 + 4, 4) = 6,maxAns = max(2, 6) = 6。

在第三次迭代时,pre = max(6 + (-3), -3) = 3,maxAns = max(6, 3) = 6。

在第四次迭代时,pre = max(3 + 5, 5) = 8,maxAns = max(6, 8) = 8。

因此,最大连续子数组和为 8。

测试用例3:

输入:n = 6

nums = [-1, -2, -3, -4, -5, -6]

输出:最大连续子数组和为:-1

在第一次迭代时,pre = max(0 + (-1), -1) = -1,maxAns = max(-1, -1) = -1。

在后续的迭代中,每次 pre + x 都小于 x,所以 pre 始终等于当前元素 x。

因此,最大连续子数组和为 -1。

测试用例4:

输入:n = 3

nums = [0, 0, 0]

输出:最大连续子数组和为:0。

这些测试用例涵盖了不同的情况,包括正数、负数和零的情况。它们满足条件覆盖标准,测试了代码在不同条件下的行为,并确保每个条件至少被测试了一次。通过运行这些测试用例,可以验证代码的正确性和健壮性。

2、请利用自动测试工具对程序进行测试。

使用Google test进行测试。

序号 样例
测试用例1 TEST(MaxSubarrayTest, BasicTest0) {

    vector< int >nums = { 1, -2, 3, -4, 5 };

    EXPECT_EQ(maxAns(5,nums), 5);

}
测试用例2 TEST(MaxSubarrayTest, BasicTest1) {

   vector < int > nums = { 2, 4, -3, 5 };

    EXPECT_EQ(maxAns(4,nums), 8);
测试用例3 TEST(MaxSubarrayTest, BasicTest2) {

    vector nums = { -1, -2, -3, -4, -5, -6 };

    EXPECT_EQ(maxAns(6, nums), -1);
}
测试用例4 TEST(MaxSubarrayTest, BasicTest3) {

    vector nums = { 0, 0, 0 };

    EXPECT_EQ(maxAns(3, nums), 0);

}

3、请将程序运行结果和自动测试分析结果截图粘贴到文档中。

Github链接:Gaoqy536/homework2.0 (github.com)

项目
记录结果
日期 2024年4月10日
开始时间 10:00
结束时间
12:00
编码行数
43
错误数量 0

posted on 2024-04-10 14:44  Destiny9521  阅读(52)  评论(0)    收藏  举报

导航