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.

  • 相关阅读:
    织梦dedecms网站数据库出错如何修复
    如何实现织梦dedecms会员登陆后就不显示广告
    搜索框里显示字段鼠标点击后就隐藏的方法
    织梦dedecms首页如何调用联动类别代码
    织梦CMS友情链接调用方法技巧大全
    DedeCMS 标题seo优化给列表页加上第x页
    DedeCMS采集教程:过滤替换的技巧
    织梦dedecms网站数据库出错如何修复
    压力测试-查看索引
    时间同步服务部署
  • 原文地址:https://www.cnblogs.com/ltpnimeia/p/5259074.html
Copyright © 2011-2022 走看看