软件测试基础:Bug故事

第一个Bug:

  虫子飞到机器上烧死后导致机器短路;

Grace Hopper:IT界十大最有远见的人才

bug概念:

  • Fault:静态存在于软件的缺陷

    eg:数组A[5] = {1,2,3,4,5}

      测平均值,循环,i = 0;写成i= 1;错失第一个数据;

  • Error:运行过程运行到Fault触发的一个错误的中间状态

    eg:加和由原来的15变成了14,称之为Error

  • Failure:通常指失效,指的是,刚才的Error一直传不到软件的外面使得用户或者测试人员能够观测到失效行为

    eg:最后计算的平均值由3变成了其他值,是失效

PIE Model成立的三个条件:

  1.执行:执行必须经过这个错误的代码;

  2.感染:执行错误代码的时候必须出现一个错误的中间状态;

  3.传播:错误的中间状态必须传播到最后输出,使得我们能够观察到与预测输出不同,即失效。

 

测试未必能执行到fault

执行到fault,不一定触发error

执行到fault,出发了error,但不一定failure

 

 

 基本术语;

  测试用例:Test Input(测试输入)Test Data 测试数据+Test Oracle(测试预言)+Others(测试环境等等,eg:web程序还是软件程序等)

  Testing:测试,为了发现bug。

  Debugging:找到fault 理解fault再修改fault。

V&V(Verification&&Validation)

  • Verification:确认,规格文档是否是用户所需要的
  • Valification:测试文档和最后的实现是否一致

Static Testng VS Dynamic Testing

  • 静态测试:不需要运行测试,不是测试, 通过扫描测试,
  • 动态测试:运行

Black-box Testing VS White-box Testing

黑盒测试:不需要源代码

白盒测试:需要源代码,要分析结构

灰盒测试:不等于 白盒+黑盒测试

是通过其他软件自评或反编译手段获得部分的软件结构信息,进而进行测试

 测试层次:单元测试、模块测试、集成测试、系统测试

单元测试:最小级别、一个函数一个方法

模块测试和单元测试分类模糊

模块测试组合构成集成测试;

不同公司定义不同。

V模型、

测试过程:

 

 Fault之间干扰。

posted on 2021-10-31 22:44  醒星0  阅读(197)  评论(3)    收藏  举报