博客信息 | 沈阳航空航天大学计算机学院2020软件工程作业 |
---|---|
作业要求 | click on me |
课程目标 | 熟悉一个“高质量”软件的开发过程 |
作业目标 | 单元测试练习 |
一、题目
最大连续子数组和(最大子段和)
问题: 给定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。
二、源代码
三、程序运行结果
![](https://img2020.cnblogs.com/blog/1973246/202004/1973246-20200401192310193-830024083.png)
四、条件组合覆盖测试用例
![](https://img2020.cnblogs.com/blog/1973246/202004/1973246-20200401181809852-1064963653.png)
满足以下覆盖情况:
①a[i]>0 ②a[i]<0 ③record=1,sun<temp ④record=1,sun≥temp ⑤record!=1
选择用例:
(-2,11,-4,13,-5,-2 ) ①②③④⑤
五、自动测试
利用VS2015自带的测试工具进行单元测试,测试代码上传至github
测试编号 | 测试描述 | 输入数据 | 期望输出数据 | 实际输出数据 | 是否通过 |
---|---|---|---|---|---|
01 | 正常测试 | -2,11,-4,13,-5,-2 | 20 | 20 | 通过 |
02 | 全为正数 | 2,11,4,13,5,2 | 37 | 37 | 通过 |
03 | 全为负数 | -2,-11,-4,-13,-5,-2 | 0 | 0 | 通过 |
测试截图如下: |
![](https://img2020.cnblogs.com/blog/1973246/202004/1973246-20200401165829346-1851478637.png)
六、工作记录
PSP0 工作记录表
项目 | 记录结果 |
---|---|
日期 | 2020.4.1 |
开始时间 | 2:00 |
结束时间 | 18:40 |
源代码编码行数 | 33 |
测试代码编码行数 | 66 |
错误数量 | 1 |
错误 | 少写了符号 |
修改时间 | 3minutes |
七、心得体会
通过这次的训练,让自己对覆盖测试有了更深的理解,也在自己的摸索中学会了使用VS2015自带的测试工具,还有就是在编程的时候不能粗心大意,可能很小的问题就会浪费自己很长时间。最后通过这几次的训练也让我逐渐对软件工程有了更多的了解和认识,以后会继续加油。
my homepage
ps: markdown基本语法
图片居中