软工第二次作业
| 作业信息 | 沈阳航空航天大学计算机学院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 EXPECT_EQ(maxAns(6, nums), -1); } |
| 测试用例4 | TEST(MaxSubarrayTest, BasicTest3) { vector 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) 收藏 举报
浙公网安备 33010602011771号