2020年软件工程作业2

博客信息|沈阳航空航天大学计算机学院2020软件工程作业
:---😐:---😐:---😐:---:
作业要求|https://edu.cnblogs.com/campus/sau/Computer1701-1705/homework/10583
课程目标|熟悉一个“高质量”软件的开发过程
作业目标|单元测试练习

一、题目

问题:给定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。

二、代码

代码

三、程序运行结果

四、选择测试工具

本次作业利用Visual Studio 2019自带的单元测试工具进行单元测试,代码如下:

#include "pch.h"
#include "CppUnitTest.h"
#include"..\最大连续子数组和\Adda.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{
	TEST_CLASS(UnitTest1)
	{
	public:
		
		TEST_METHOD(TestMethod1)
		{
			Adda a;
			int p1[5] = { 1,2,3,4,5 };
			int p2[5] = { -1,-2,-3,-4,-8 };
			int p3[5] = { -1,11,-4,13,-5 };
			int num = 5;
			Assert::AreEqual(0,a.cc(0,p1));
			Assert::AreEqual(0, a.cc(num, p2));
			Assert::AreEqual(20, a.cc(num, p3));
		}
	};
}

五、测试用例

依据流程图,采用判定/条件覆盖覆盖,得到三种测试用例 ab(0,1 2 3 4 5) ace(5,-1 -2 -3 -4 -8) acd(5,-1 11 -4 13 -5)

六、自动测试

测试成功,时间1毫秒

七、工作记录

项目|记录结果
:---😐:---😐:---😐:---:
日期|2020年04月02日
开始时间|08:23
结束时间|21:03
编码行数|44
错误次数|2
错误1|输入数据全部小于0时,结果不为0
错误1修改时间|3分左右
错误2|运用VS2019单元测试时,发生大量LNK2005错误
错误2修改时间|30分钟左右

八、心得

本次作业使我学会了使用Visual Studio 2019的单元测试功能,又掌握了一个小技巧,也进一步学会使用了Markdown。

posted @ 2020-04-02 21:11  最幸伏的人  阅读(207)  评论(0编辑  收藏  举报