zoukankan      html  css  js  c++  java
  • [ST2017] Hw2: Fault, Error, Failure and test case for projects

    3014218071 王漢超

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

    • 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 int findLast (int[] x, int y) {
    /* Pro.1
    * 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 (int i=x.length-1; i > 0; i--) { if (x[i] == y) { return i; } } return -1; } // test: x=[2, 3, 5]; y = 2 // Expected = 0

    A1:

    The fault: When x != null, x[0] will not be checked, even if only x[0] equals to y;

    x = [2, 3, 5]; y = 2; -> return -1 

    Test case 1: x = []; y = 2; -> throw NullPointerException, not execute the fault.

    Test case 2: x = [0, 1, 2]; y = 2; -> i = 2, return 2, not result in an error state.

    Test case 3: x = [0, 1, 3]; y = 2; -> i = 1, return -1, not a failure.

    public static int lastZero (int[] x) {
    /* Pro.2
    * 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 (int i = 0; i < x.length; i++) {
    if (x[i] == 0) { return i; } }
    return -1; } // test: x=[0, 1, 0]
    // Expect: return 2

    A2:

    The fault: When x != null, the index of the FIRST 0 in x will be returned but not the LAST 0.

    x = [0, 1, 0 ]; -> return 0 

    Test case 1: x = []; -> throw NullPointerException, not execute the fault.

    Test case 2: x = [1, 2, 3]; -> i = 3, return -1, not result in an error state.

    Test case 3: x = [1, 0, 1]; -> i = 1, return 1, not a failure.

  • 相关阅读:
    Infopath Notify 弹出提示信息
    window.showModalDialog 返回值
    【转】获得正文内容中的所有img标签的图片路径
    Json Datable Convert
    Sharepoint 列表 附件 小功能
    Surgey 权限更改
    SQL 触发器用于IP记录转换
    Caml语句 查询分配给当前用户及当前组
    jquery 1.3.2 auto referenced when new web application in VSTS2010(DEV10)
    TFS diff/merge configuration
  • 原文地址:https://www.cnblogs.com/cragoncanth/p/6483213.html
Copyright © 2011-2022 走看看