zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    js中两种定时器,setTimeout和setInterval的区别
    简单说 JavaScript实现雪花飘落效果
    CSS 浮动 float 属性
    使用jQuery做简单的图片轮播效果
    DIV+CSS中标签dl dt dd常用的用法
    CSS display的几个常用的属性值,inline , block, inline-block
    Confluence代码块(Code Block)宏
    salt总结
    快速搭建rabbitmq单节点并配置使用
    使用python脚本配置zabbix发送报警邮件
  • 原文地址:https://www.cnblogs.com/fsx-zzc/p/12622972.html
Copyright © 2011-2022 走看看