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.

  • 相关阅读:
    正则表达式工具RegexBuddy使用教程(原创自Zjmainstay)
    基于nodejs实现js后端化处理
    深入正则表达式应用
    如何利用火狐控制台下载网页图片
    Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
    PHP cURL应用实现模拟登录与采集使用方法详解
    程序猿教你怎样记密码
    我眼里的正则表达式(入门)
    博客园文章markdown实现
    jQuery实现菜单点击隐藏(上下左右)
  • 原文地址:https://www.cnblogs.com/ltpnimeia/p/5259074.html
Copyright © 2011-2022 走看看