zoukankan      html  css  js  c++  java
  • 软件测试学习日志————round 1 some questions of two small programs

    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:

    1. Identify the fault.

    2. If possible, identify a test case that does not execute the fault. (Reachability)

    3. If possible, identify a test case that executes the fault, but does not result in an error state.

    4. If possible identify a test case that results in an error, but not a failure.

    programs:

    1.

    public int findLast (int[] x, int y) {
     //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

    answers:

    1. The variable i should bigger than 0 or equals 0.

      In this program i>0 is not right. It cannt get x[0].

    2. test: x=[]; y=2

    3. test: x=[3,1,5]; y=2

    4. test: x=[2,3,5]; y=2

    2.

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

    answers:

    1. The variable i should from x.length-1 to 0.

      This program is scanning a wrong order which is from 0 to x.length-1. It's wrong.

      This program means that once there is a 0 from the beginning of x, it will return 

      the position of i.

    2. test: x=[];

    3. test: x=[1,2,0]

    4. test: x=[0,1,0]

    after the question: This is an exercise to remind us of the RIP rules, which are Reachability, Infection and Propagation.

      It's important to software testing.

  • 相关阅读:
    Maven打jar包(有依赖)
    java使用ffmpeg进行多个视频合并
    ffmpeg视频精准剪切
    windows下java调用海康sdk,Unable to load library 'HCNetSDK'
    java使用JNA框架调用dll动态库
    排序和反转
    118. 杨辉三角
    1394. 找出数组中的幸运数
    1491. 去掉最低工资和最高工资后的工资平均值
    1332. 删除回文子序列
  • 原文地址:https://www.cnblogs.com/ltpnimeia/p/5259074.html
Copyright © 2011-2022 走看看