单元测试

1.选择题目

题目(1):最大连续子数组和(最大子段和)

给定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。
-- 引用自《百度百科》

程序已提交至Coding,完整程序请点击这里

2.单元测试

(1)流程图

(2)单元测试

测试方法

语句覆盖:语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次。

判定覆盖:判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。

条件覆盖:条件覆盖要求设计足够多的测试用例,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。

判定/条件覆盖:设计足够多的测试用例,使得判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次。

条件组合覆盖:要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合至少出现一次。

我选择的是条件覆盖,测试数据为(-1,-2,-3,-4,-5)(1,2,3,4,5) (-1,2,-2,4)

测试结果

3.总结

我的上一份作业是用eclipse做的单元测试,这次想尝试用一下VS2017,下面是我测试的过程:

(1)右键解决方案->添加->新建项目,点击本机单元测试项目

(2)在unittest1.cpp中编写测试函数

将要测试的函数复制到这里

编写测试函数

(3)测试

点击测试->运行->所有测试

之后查看结果就可以了

原文地址:https://www.cnblogs.com/lzj1997/p/8659617.html