实验一任务三
2.3任务三实验过程
2.3.1代码链接
所选题目的代码链接(题目一):
https://github.com/mxyu0330/text2/blob/main/temp.cpp

图13
2.3.2工作记录
按照下表填写工作记录表
表2.1 PSP0 工作记录表
|
项目 |
记录结果 |
|
日期 |
11月6日 |
|
开始时间 |
13:30 |
|
结束时间 |
17:00 |
|
编码行数 |
29 |
|
错误数量 |
1 |
|
错误1 |
少分号 |
|
错误1修改时间 |
16:24 |
2.3.3测试用例
判定/条件覆盖测试程序设计:
1、当前子段和 nowsum > 0&&当前子段和 nowmax > 最大子段和 maxsum
2、当前子段和 nowsum > 0&&当前子段和 nowmax <= 最大子段和 maxsum
3、当前子段和 nowsum <= 0&&当前子段和nowmax > 最大子段和 maxsum
4、当前子段和 nowsum <= 0&&当前子段和nowmax <= 最大子段和 maxsum
(1)单元测试用例一:-1,2,4,3,2 最大子段和为11
(2)单元测试用例二: -1,2,-1,0,-2最大子段和为2
(3)单元测试用例三: -2,1,0,1,-1 最大子段和为2
(4)单元测试用例四:-2,1,1,2,3 最大子段和为7
此四组测试用例完全符合判定/条件覆盖的要求,因此,单元测试样例达到判定/条件覆盖的目的。
2.3.4测试过程
1、程序设计思路:
运用动态规划的思想来解决最大子段和问题:通过遍历累加这个数组元素,实时更新最大子段和,如果当前累加数为负数,直接舍弃,重置为0,然后接着遍历。时间复杂度:O(n)
2、判定/条件覆盖测试程序流程图:

图14
3、测试结果:

图15
浙公网安备 33010602011771号