zoukankan      html  css  js  c++  java
  • 程序测试

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

    2.具体要求

      (1) 请写出可运行的完整代码提交至GitHub或者Coding.net系统中,并将代码地址附到博客内,题目(1)可以参考这篇博文

      (2) 请从语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖五个覆盖标准中(条件组合覆盖难度较大,鼓励尝试,但请谨慎选择),任选一个标准设计测试用例

      (3) 请利用自动测试工具对程序进行测试

      (4) 请将程序运行结果和自动测试分析结果截图附到博客中

    3.解决问题

      (1) 代码及代码地址

    package ag;
    
    import java.util.Scanner;
    
    public class MaxSum
    {
    	public static void main(String[] args)
    	{
    		@SuppressWarnings("resource")
    		Scanner sc=new Scanner(System.in);
    		int[] su=new int[1000];
    		System.out.println("请输入数组元素个数:");
    		int n=sc.nextInt();
    		System.out.println("请输入数组元素:");
    		for(int i=0;i<n;i++)
    		{
    			su[i]=sc.nextInt();
    		}
    		int maxSum;
    		maxSum=Maxnum(n,su);
    		System.out.println("最大子段和:"+maxSum);
    	}
    	public static int Maxnum(int n,int[] su)
    	{
    		int maxSum = su[0];//记录最大子数组的和
    		for(int i=0;i<n-1;i++)
    		{
    			int sum=0;
    			for (int j = i+1; j>=0; j--)//寻找以su[i+1]为终点的最大子数组
    			{
    				sum += su[j];
    				if (sum>maxSum)
    				{
    					maxSum = sum;
    				}
    			}
    		}
    		return maxSum;
    	}
    }
    

      (2) 程序流程图

      (3) 设计条件覆盖用例


    为使得每个条件的可能取值一次,测试用例可设为{-2,11,-4,13,-5,-2},期待值为20。

      (4) 程序运行结果截图

      (5) 单元测试代码。

    package ag;
    import static org.junit.Assert.*;
    import org.junit.Test;
    public class MaxSumTest 
    {	
    		@Test
    		public void test() 
    		{
    			int[] su= {-2,11,-4,13,-5,-2};
    			assertEquals(20,new MaxSum().Maxnum(6,su));
    		}
    }
    
    

      (6) 自动测试分析结果截图

  • 相关阅读:
    一道编程面试题
    AtCoder Grand Contest 016 B
    AtCoder Regular Contest 076 D
    Codeforces Round #419 (Div. 2) B. Karen and Coffee
    2017 计蒜之道 复赛 Windows画图+百度地图导航
    Codeforces Round #418 (Div. 2) B. An express train to reveries
    棠梨煎雪
    Bits And Pieces
    Let Them Slide
    TeaTree
  • 原文地址:https://www.cnblogs.com/AoGui/p/8667029.html
Copyright © 2011-2022 走看看