• 软件测试基础(英文版)P16第三题


    Below are four faulty programs. Each includes a test case that results in failure. Answer the following questions (in the next slide) about each program.

    Questions
    Identify the fault.
    If possible, identify a test case that does not execute the fault. (Reachability)
    If possible, identify a test case that executes the fault, but does not result in an error state.
    If possible identify a test case that results in an error, but not a failure.

    public intfindLast(int[] x, inty) {
    //Effects: If x==null throw
    NullPointerException
    // else return the index of the last element
    // in x that equals y.
    // If no such element exists, return -1
    for (inti=x.length-1; i> 0; i--)
    {
    if (x[i] == y)
    {
    return i;
    }
    }
    return -1;
    }
    // test: x=[2, 3, 5]; y = 2
    // Expected = 0

    (a)Fault: i > 0, 导致x[0]无法被遍历,正确应该为i >= 0。

    (b)Test: x = null; y = 2

    (c)Test: x = [2,3,5]; y = 5.   Excepted = 2

    (d)Test: x = [2,3,5]; y = 2.   Excepted = -1

    public static intlastZero(int[] x) {
    //Effects: if x==null throw
    NullPointerException
    // else return the index of the LAST 0 in x.
    // Return -1 if 0 does not occur in x
    for (inti= 0; i< x.length; i++)
    {
    if (x[i] == 0)
    {
    return i;
    }
    } return -1;
    }
    // test: x=[0, 1, 0]
    // Expected = 2

    (a)Fault: 遍历顺序错误,正确结果应该为从后往前遍历,即 for(int i = x.length - 1; i >= 0; i --)

    (b)Test: x = null

    (c)Test: x = [2,1,0]   Excepted = 2

    (d)Test: x = [0,1,0]   Excepted = 2, but result = 0

  • 相关阅读:
    如何在ASP.NET中使用div弹出窗口
    How to avoid error "LNK2001 unresolved external" by using DEFINE_GUID
    一个JavaScript实现的幻灯片程序分析
    Systems Thinking in Project Management
    CSS
    How To Clear Floats Without Structural Markup
    Public Symbols and Private Symbols
    DOM and CSS positioning
    JavaScript对象模型执行模型
    JavaScript 操作图片
  • 原文地址:https://www.cnblogs.com/eric7/p/5274126.html
Copyright © 2020-2023  润新知