C++语言的fault/error/failure(软件测试)

定义

  • fault:故障
  • error:错误
  • failure:失败

导言

在软件测试,从上三个英文单词的意思,我们可以看出这故障越来越大!如果你没有看出来,你听我给你捋一捋!
我们写软件,可能其中存在故障,软件有故障,怎么办呢?我们需要在上线时测试软件,在测试软件时,即使运行到故障这串代码,并不一定会出错!额- -:,这是为什么呢?因为在某些特定的输入值的情况下,它的输出值与正确的结果一致,这就能解释故障比错误低一级了,然后又是错误与失败的关系,其实错误与失败很好理清,因为一个程序结果错误了,但是程序并不会失败,只能说这个程序真实的意义改变了!

正文

听了我这么多废话(谬论),下面我们进入正题,今天我们要的程序实现的是:

  1. 不触发fault
  2. 触发fault,不触发error
  3. 触发error,不触发failure

    C++语言程序

    
    #include<iostream>
    
    using namespace std;
    int main() {
    //-1是指没有b等于a数组中的值,否则输出数组的地址
    int a[] = {2};
    int b = 2;
    int pos = 0;
    int size = sizeof(a)/sizeof(int);
    if(size <= 1) {
        if(b == a[0]) {
            pos = 1;
        } else {
            pos = -1;
        }
    } else {
        pos = -1;
        for(int i=1;i<size;++i) {
            if(b==a[i]) {
                pos = i+1;
                break;
            }
        }
    }
    cout<<"数组是:";
    for(int i=0;i<size;++i) {
        cout<<a[i]<<"  ";
    }
    cout<<endl;
    cout<<"a数组第一个与b相等的值的位置是"<<pos<<endl;
    return 0;
    }

    注意:我有2年没碰C/C++了,今天写了这个,我感觉是对的,如果发现有错,只能说声抱歉了,但是理论知识讲到就行了,程序吗…………,你懂得!

我们先说下错误的地方在
这里写图片描述
这儿的for循环应该从0开始,但是它从的1开始,所以这是故障的地方

  • 不触发fault:
    输入:
    a{2},b=2
    输出
    位置是1(正确,并且没有触发fault)
  • 触发fault,但是不触发error
    输入:
    a{2,4,5,8,7,9},b=7
    输出:
    位置是5(正确,触发fault,但结果正确)
  • 触发error,但是不触发failure
    输入:
    a{4,5,7,4,6,8},b=4
    输出:
    位置是4(错误,这儿应该是1,但程序未失败。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值