博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试第二次作业
阅读量:7100 次
发布时间:2019-06-28

本文共 1766 字,大约阅读时间需要 5 分钟。

知识点内容回顾:

主要介绍了三个概念之间的区别

首先说最根本问题

Fault,什么事falut呢,代码中存在的问题,也就是和运行环境啊什么的没关系,你的代码就是有问题的,换句话说,你的实现是有问题的,但是这个问题不一定会被触发也不一定会导致error,但是无论是否导致了error都是有fault的。

其次是Error,在代码执行的过程中,运行了上面的Faults,就会出现错误,(当然也有可能不出现错误),但是这个状态称之为error,可能会导致failure

 

接下来说Failure,这个就是最终出现了错误的行为,那么就是failures了。

 

一般来说是Fault->Error->Failure这样的感觉

一切的根源是代码中的faults,faults会产生Error最终有可能导致failures。。。

接下来说说本周的作业题

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

1.Fault:for循环的控制条件i > 0这里应该是i>=0,否则将不会访问x[0];

2.一个不执行fault的样例

x = {} y = 3;

这样情况会直接访问无效内存导致程序挂掉

3.执行了fault但是没有返回错误的值

x={1,2,3} y = 2

期望是1,答案也是1

4.导致错误但不会失败的

x={1,2,3},y =0

期望答案是-1,实际答案是-1;

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

1.fault代码是找数组中最后一个0的位置,但是却实现的是查询第一个0的位置

2.不执行fault,因为从循环处就有fault(方向反了)所以不存在不执行fault的用例

3.执行fault但不Error的情况是数组只有一个元素,无论正反遍历都不会有区别(都是只遍历下标为0不存在正反)

比如x={4};

4.执行fault导致error但没有failure的,当x中只有一个或没有0的时候

x = {1,0,2,3}

答案为1期望答案也为1

 

转载于:https://www.cnblogs.com/Durandal/p/5256524.html

你可能感兴趣的文章
docker 一些简略环境搭建及部分链接
查看>>
android studio获取SHA1
查看>>
怎么才能在windows使用git命令
查看>>
Sigar应用
查看>>
从单体架构到微服务的演变之路
查看>>
Valgrind内存泄露检测工具使用初步
查看>>
PDF 补丁丁 0.5.0.2657 发布
查看>>
vue之axios使用
查看>>
VBA批量删除excel表高级版
查看>>
docker & nodejs & mongodb
查看>>
css 清除浮动
查看>>
Python_Selenium学习笔记(2)-浏览器操作方法
查看>>
excel自定义函数添加和使用方法
查看>>
C# 压缩组件介绍与入门
查看>>
结对学习心得感想及创意照
查看>>
sug
查看>>
windows 环境变量
查看>>
input checked取值
查看>>
快速幂取模(当数很大时,相乘long long也会超出的解决办法)
查看>>
EF+Code First+Database First+Model First,EF开发流程
查看>>