一、题目要求
最大连续子数组和(最大子段和)
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n
例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20。
-- 引用自《百度百科》
二、源代码地址
源代码
三、程序运行结果
四、判定/条件覆盖
选择的是判定/条件覆盖来设计测试用例。
序号 |
SUM>MAXSUM |
SUM<0 |
路径 |
测试序列 |
序列长度 |
1 |
N和Y交替 |
N和Y交替 |
abeacabeacabeabe |
(-2,11,-4,13,-5,-2) |
6 |
2 |
N |
Y |
abeabeabeabeabe |
(-1,-2,-3,-4,-5) |
5 |
3 |
N和Y交替 |
N和Y交替 |
acacabeacabe |
(20,25,-10,20,-100) |
5 |
4 |
N和Y交替 |
N和Y交替 |
acabe |
(10,-5) |
2 |
五、自动测试分析结果
序号 |
测试序列 |
序列长度 |
理论输出 |
实际输出 |
结果 |
1 |
(-2,11,-4,13,-5,-2) |
6 |
20 |
20 |
成功 |
2 |
(-1,-2,-3,-4,-5) |
5 |
0 |
0 |
成功 |
3 |
(20,25,-10,20,-100) |
5 |
55 |
55 |
成功 |
4 |
(10,-5) |
2 |
10 |
10 |
成功 |
测试程序代码
五、工作记录
项目 |
记录结果 |
日期 |
2020/4/8 |
开始时间 |
13:00 |
结束时间 |
15:30 |
源代码编码行数 |
54 |
测试代码编码行数 |
34 |
错误数量 |
1 |
错误1 |
测试代码生成未成功 |
错误1原因 |
未能正确引用源程序 |
错误1修改时间 |
2分钟 |
六、心得体会
通过此次作业,对于单元测试有了一定的了解,自己查询资料并学会了使用软件的单元测试工具。虽然不是很熟练,也是照猫画虎,跟着别人的步伐,但是希望未来慢慢地能熟练运用,实现一些更复杂的软件工程项目。