软件工程第二次作业

软件工程作业
课程目标 熟悉一个“高质量”软件的开发过程
作业目标 单元测试练习

本次工作详细信息
项目 记录结果
日期 2024.4.7
开始时间 17:30
结束时间 20:00
结束时间 2024.4.7
编码行数 46
错误数量 0

(1) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
(2) 请利用自动测试工具对程序进行测试
(3) 请将程序运行结果和自动测试分析结果截图粘贴到文档中

1.选择判定覆盖:设计用例,使得程序中的每一个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。
代码所用到算法属于在线更新,从左向右求和,进行更新迭代。设置临时结果,若临时求和结果加上当前所加数字比当前所加数字大,则二者相加;反之则更新临时结果从当前数字开始,若结果比之前的最大求和结果大,则更新最大求和结果max。
因此会出现一下七种情况:
1).数组仅存在一个值,且为负数
2).数组仅存在一个值,且为正数
3).数组数字全为正数
4).数组数字全为负数
5).数组数字全为0
6).数组中的数字正负数均有
7).数组中的子数组重复出现多组
根据此特性设计测试用例必须满足覆盖所有的判定条件,测试用例如下:
1).【-9】数组仅存在一个值,且为负数
2).【9】数组仅存在一个值,且为正数
3).【1,2,3,4,5,6】数组数字全为正数
4).【-3,-4,-5,-2】数组数字全为负数
5).【0,0,0,0,0,0,0】数组数字全为0
6).【-2,1,6,4,-1,-9】数组中的数字正负数均有
7).【-1,2,-1,2,-1,2】数组中的子数组重复出现多组
8).【】空数组
2.使用了Visual Studio 2022自带的google test进行测试。

测试样例 预期结果
9 9
-9 -9
1,2,3,4,5,6 21
-3,-4,-5,-2 -2
0,0,0,0,0,0,0 0
-2,1,6,4,-1,-9 11
-1,2,-1,2,-1,2 4
空数组 0

测试结果如下图所示。

测试结果均正确无误,符合预期结果。

posted @ 2024-04-07 21:44  wangjy9092  阅读(14)  评论(0)    收藏  举报