• 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。

    二、题目要求

      (1) 请从上述两个题目中根据个人实力任选一题,要求写出可运行的完整代码提交至GitHub系统中,并将代码地址附到博客内
      (2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例
      (3) 请利用自动测试工具对程序进行测试
      (4) 请将程序运行结果和自动测试分析结果截图附到博客中

    三、程序代码

    在这里哦 -

    四、运行结果

    五、覆盖测试用例

    选择判定覆盖测试,测试情况:应执行路径:abdace或acdabe,本次测试选择路径acd^abe:acd:(-1,-3,-5,-7,-9),abe:(1,2,-3,4,5)

    六、编写测试代码

    #include "stdafx.h"
    #include "CppUnitTest.h"
    #include"../MAXsub/max.h"
    using namespace Microsoft::VisualStudio::CppUnitTestFramework;
    
    namespace UnitTest1
    {		
    	TEST_CLASS(UnitTest1)
    	{
    	public:
    		
    		TEST_METHOD(TestMethod1)
    		{
    			int n = 5, a[100] = { -1,-3,-5,-7,-9 };
    			Assert::AreEqual(0, maxSub(5, a));
    
    		}
    
    	};
    }
    

    测试结果:

    七、工作记录

    项目
    记录结果
    日期
    2020.4.8
    开始时间
    13:30
    结束时间
    18:40
    源代码编码行数
    29
    测试代码编码行数
    20
    错误数量
    3
    错误1
    运行失败,有未命名变量
    修改时间
    1分钟
    错误2
    算法错误,结果不对
    修改时间
    48分钟
    错误3
    测试无法引用源代码中函数
    修改时间
    25分钟

    八、心得体会

      通过本次作业,初步了解了覆盖测试,在查找资料和反复调试,初步了解了vs中对c++的单元测试。同时也更加了解写博客时的Markdown对图片表格的处理,每次作业中都会有所收获。

  • 相关阅读:
    6月29日训练 题解
    python笔记
    零样本和少样本学习
    基于图的 Affinity Propagation 聚类计算公式详解和代码示例
    pandas.read_csv() 处理 CSV 文件的 6 个有用参数
    100+数据科学面试问题和答案总结 基础知识和数据分析
    基于趋势和季节性的时间序列预测
    Github Copilot 值得购买吗?使用GitHub Copilot进行快速EDA的示例
    ArgMiner:一个用于对论点挖掘数据集进行处理、增强、训练和推理的 PyTorch 的包
    一个简单但是能上分的特征标准化方法
  • 原文地址:https://www.cnblogs.com/cuiyufan1999/p/12663035.html
Copyright © 2020-2023  润新知