PIE模型

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

Error: 软件运行中,运行到fault,触发产生的错误;

Failure: Error传播到软件外部,使用户观测到失效的行为。

要观测到Failure需要三个必要的条件:

1、执行必须通过错误的代码(Execution-执行);

2、在执行错误代码的时候必须触发出一个错误的中间状态(Infection-感染);

3、错误的中间状态必须传播到最后输出,使得观测到输出结果与预期结果不一致(Propagation-传播)。

一个测试执行到包含fault的代码,不一定会产生错误的中间状态error;

产生了错误的中间状态,不一定会有失效failure

时间: 2024-10-14 12:14:12

PIE模型的相关文章

软件测试整理复习(判断题)

1(√) 发现错误多的模块,残留在模块中的错误也多. 2(×) 目前在进行集成测试时普遍采用非渐增式测试方法. 分析:因为非渐增式测试方法先是对每一个子模块进行测试(单元测试阶段),然后将所有模块一次性的全部集成起来进行集成测试 .很难确定出错的真正位置.所在的模块.错误的原因. 3(×) Alpha测试在一个或多个客户场所进行,Beta测试由用户在开发者的场所进行. 分析:验收测试分为正式验收测试.Alpha测试.Beta测试.Alpha测试在开发者的场所进行,Beta测试由用户在一个或多个客

《开发者测试》第一章

1.1 开发者与软件测试 1.1.1 测试和调试 软件开发调试困难的原因: ·失效症状和缺陷原因可能相隔很远,高度耦合的程序结构加重了这种情况: ·失效症状可能在另一缺陷修复后消失或暂时性消失: ·失效症状由不太容易跟踪的人为错误引发: ·失效症状可能是由不同原因耦合引发的. 回溯法: ·从程序出现不正确结果的地方开始,沿着程序的运行路径向上游寻找错误的源头,直到找出程序错误的实际位置: ·例,程序有5000行,测试发现最后结果是错误的,采用回溯法,可以现在第4500行插桩,检查中间结果是否正确

Linux RTC驱动模型分析

RTC简介 RTC(real-time clock)简称实时时钟,主要作用是用来记时,产生闹钟等.RTC因为有备份电池,所以即使计算机关机掉电,也不会影响RTC记时.而RTC和系统时间(主要靠软件模拟)的区别在于,RTC会在掉电后数据不丢失,在下次启动依旧可以重新设置当前时间给计算机.而系统时间主要靠软件模拟产生,在掉电之后会丢失,需要在下次计算机重新启动之后重新模拟产生.RTC时间在每次系统启动的时候会使用,在以后需要的时候会将设置的时间写入到RTC中,别的时候获取时间都通过软件可以获得. R

吴裕雄 数据挖掘与分析案例实战(13)——GBDT模型的应用

# 导入第三方包import pandas as pdimport matplotlib.pyplot as plt # 读入数据default = pd.read_excel(r'F:\\python_Data_analysis_and_mining\\14\\default of credit card clients.xls')print(default.shape)print(default.head())print(default.columns)# 数据集中是否违约的客户比例# 为确

生成模型 VS 判别模型 (含义、区别、对应经典算法)

从概率分布的角度考虑,对于一堆样本数据,每个均有特征Xi对应分类标记yi. 生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布.能够学习到数据生成的机制. 判别模型:学习得到条件概率分布P(y|x),即在特征x出现的情况下标记y出现的概率. 数据要求:生成模型需要的数据量比较大,能够较好地估计概率密度:而判别模型对数据样本量的要求没有那么多. 两者的优缺点如下图,摘自知乎 生成模型:以统计学和Bayes作为理论基础 1.朴素贝叶斯: 通过学习先验概率分

使用Tensorflow搭建回归预测模型之八:模型与外部接口对接

前一篇中,我们讨论了模型的压缩,将标准tensorflow格式的模型文件转换成tflite格式,极大的缩小了模型的大小. 本篇我们将介绍如何使用标准C/C++来调用tflite格式的模型. 接下来依次介绍下: 一.BUILD文件修改: # Description: # TensorFlow Lite A/C of Traffic Assist. package(default_visibility = ["//visibility:public"]) licenses(["n

基于位置信息的聚类算法介绍及模型选择

百度百科 聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异."物以类聚,人以群分",在自然科学和社会科学中,存在着大量的分类问题.聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法.聚类分析起源于分类学,但是聚类不等于分类.聚类与分类的不同在于,聚类所要求划分的类是未知的. 分类和聚类算法一直以来都是数据挖掘,机器学习领域的热门课题,因此产生了众多的

Laravel5.1 模型--ModelFactory

今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用. 1 编写一个ModelFactory ModelFactory的路径在 database/factories/ 下: // 这是系统自带的工厂 $factory->define(App\User::class, function ($faker) { return [ 'name' => $faker->name, 'email' =>

15.1-全栈Java笔记:Java事件模型是什么?事件控制的过程有哪几步??

应用前边两节上一章节的内容,大家可以完成一个简单的界面,但是没有任何的功能,界面完全是静态的,如果要实现具体功能的话,必须要学习事件模型. 事件模型简介及常见事件模型 对于采用了图形用户界面的程序来说,事件控制是非常重要的. 一个源(事件源)产生一个事件并把它(事件对象)送到一个或多个监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接收,监听器将处理这些事件. 一个事件源必须注册监听器以便监听器可以接收关于一个特定事件的通知. 每种类型的事件都有其自己的注册方法,一般形式为: v