软件工程第二次作业

作业信息 沈阳航空航天大学计算机学院2024软件工程作业
课程目标 熟悉一个“高质量”软件的开发过程
作业目标 单元测试练习

请在作业最后部分填写如下表格记录本次工作详细信息
项目 记录结果
日期 2024.4.6
开始时间 13:30
结束时间 15:00
编码行数 55
错误数量 0

(1) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例。

选择判定覆盖:设计用例,使得程序中的每一个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。
采用分治算法,最大子段和会有以下三种情况:
1.a[1:n/2]与a[1:n]的最大子段和相同.即最大字段在前半部分;

2.a[n/2+1, n]与a[1:n]的最大子段和相同,即最大子段在后半部分;

3.a[1:n]的最大子段和为越过中点n/2,这种情况下a[n/2]和a[n/2+1]在最优子序列中,在[i,n/2]找到最大值S1,在[n/2+1,j]中找到最大值S1,所求最优值为S1+S2;

根据此特性设计测试用例必须满足覆盖所有的判定条件,测试用例如下:
1.[0,-1,-2,-3,-4,-5]子段和的最大值为0

2.[1,2,3,4,5,6]子段和的最大值为序列和

3.[6,11,2,-9,-5,-1]最大子段和在左子列中

4.[-4,-7,-1,8,1,9]最大子段和在右子列中

5.[-2,11,-4,13,-5,-2] 最大子段和横跨在左右段

(2) 请利用自动测试工具对程序进行测试
(3) 请将程序运行结果和自动测试分析结果截图粘贴到文档中

程序运行结果:

选择VS2019里面的本机单元测试项目进行自动测试
自动测试结果如下:


Giuhub地址:https://github.com/xiyuchuh/zuoye/blob/main/code-2
作业总结: 本次作业中,我亲身体会了对代码进行单元测试的过程,引入自动化测试、静态代码分析工具可以提高软件的质量,确保软件的稳定性和性能。

posted @ 2024-04-10 14:38  xychuh  阅读(15)  评论(0)    收藏  举报