zoukankan      html  css  js  c++  java
  • 软件工程第二次作业

    博客信息 沈阳航空航天大学计算机学院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:{-5,-1,-13,-7,-18,-25},路径:ac
    测试用例2:{1,3,5,7,9},路径:abd
    测试用例3:{-7,1,-3,12,-5},路径:abe

    五、测试部分代码

    使用Eclipse中自带的JUnit5进行单元测试,编写的测试代码如下:

    class MainTest {
    	@Test
    	void testMaxsum1() {
    		int n=6;
    		int num[]={-5,-1,-13,-7,-18,-25};
            assertEquals(0,Main.maxsum(n,num));
    	}
    	@Test
    	void testMaxsum2() {
    		int n=5;
    		int num[]={1,3,5,7,9};
            assertEquals(25,Main.maxsum(n,num));
    	}
    	@Test
    	void testMaxsum3() {
    		int n=5;
    		int num[]={-7,1,-3,-5,12};
            assertEquals(12,Main.maxsum(n,num));
    	}
    }
    

    六、自动测试结果

    七、工作记录表

    项目 记录结果
    日期 2020.04.03
    开始时间 14:20
    结束时间 20:10
    解题代码行数 40行
    测试代码行数 24行
    错误数量 1次
    错误1 求和变量初始化的位置错误
    错误1修改时间 10min

    八、总结

    因为最近通过实训学习了JAVA语言编程,所以选择了JAVA来完成本次单元测试任务。由于对编程环境和测试方法掌握不牢,任务的持续时间较长,今后会更努力学习,希望下次任务可以熟练快速地完成。

  • 相关阅读:
    lucene 3.0.2 search 各种各样的Query类型
    lucene 3.0.2 中文分词
    java 文件读写
    java 从args[]中赋值和程序直接赋值不一样?
    java 中文转换成Unicode编码和Unicode编码转换成中文
    Java栈与堆一篇好文
    lucene 3.0.2 操作进阶
    Lucene实战(第2版)》
    java工程包的命名(-dev.jar,-javadoc.jar,jar)
    POJ 3304 Segments (线段和直线相交 + 思维)
  • 原文地址:https://www.cnblogs.com/lylincode/p/12627810.html
Copyright © 2011-2022 走看看