- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于缺陷模式的软件测试 简介 软件缺陷模式与测试是2000年后在美国诞生的一种新型软件测试技术 主要面向软件中的非功能性缺陷,并以缺陷检测效率高、定位准确、自动化程度高、易用等特点而受到广泛关注 国际上目前主流软件测试技术之一,是可信软件系统中必须要做的一步测试,是美国政府指定,众多大企业都普遍使用的测试技术。 基本概念 软件缺陷:与需求不一致的统称为缺陷 软件缺陷分类:功能性缺陷和非功能性缺陷 非功能性软件缺陷模式: 能给出确切语法和语义定义,并在实践中经常发生或后果比较严重的缺陷的集合。 非功能性软件缺陷测试的必要性 从实践来看:国际上大量的测试工具的应用效果表明,大多数商用软件和开源软件其故障率可达1-2个/KLOC,安全漏洞密度可达3-4个/KLOC,其他类型的缺陷密度更大。 非功能性缺陷也会造成系统的死机等安全问题 非功能性软件缺陷大多是由开发者疏忽造成的,且众多与路径相关,这种缺陷是不可避免的。 相关工具 相关工具 作用及意义 基于缺陷模式的软件测试 基于缺陷模式的软件测试概述 基于缺陷模式的软件测试指标分析 缺陷模式 基于缺陷模式的软件测试系统(DTS) 基于缺陷模式的软件测试概述 缺陷模式必须满足下列几个条件: 该模式下的缺陷是符合实际的。 基于该模式的缺陷数目是可以容忍的。 该模式下的缺陷是可以测试的。 基于缺陷模式的软件测试概述 基于模式的软件测试技术具有如下特点: 针对性强:如果说某种模式的缺陷是经常发生的,并且在被测软件中是存在的,则面向缺陷的测试可以检测出此类缺陷。 基于缺陷模式的软件测试技术往往能发现其他测试技术难以发现的故障,如内存泄漏缺陷,空指针引用缺陷。 工具自动化程度高以及测试效率高。 缺陷定位准确:对测试所发现的缺陷能够准确定位。 易学、易使用:对一般的IT专业专科以上的毕业生,该测试方法一般经过数天的培训即可掌握其使用方法。 基于缺陷模式的软件测试 基于缺陷模式的软件测试概述 基于缺陷模式的软件测试指标分析 缺陷模式 基于缺陷模式的软件测试系统(DTS) 基于缺陷模式的软件测试指标分析 设P是待测程序,将缺陷模式M分成类M={M1,M2,…Mn},每类分成种Mi={Mi1,Mi2,…,MiL},从P中计算出和M相匹配的检查点的集合IP={IP1,IP2,…,IPm},可以定义如下技术指标: 基于缺陷模式的软件测试指标分析 漏报率(ER):设P是程序,M是缺陷模式,A是算法,IP(M,A,P)是IP总的数目,考虑到测试算法实现过程中的不同假设,会导致IP(M,A,P)不同。漏报率定义为: 基于缺陷模式的软件测试指标分析 理论上IP(M,P)是确定的,但在实践中很难得到; IP通常需要人工确定该IP是否真的是缺陷,考虑程序的复杂性以及测试代价等因素,IP经确认后分3中情况: IPY(P,A,M),IP确认为缺陷的数目 IPN(P,A,M),确认为非缺陷的数目. IPU(P,A,M),不能确定是否缺陷的数目 基于缺陷模式的软件测试指标分析 准确率(CR): 误报率(DR): 基于缺陷模式的软件测试指标分析 缺陷检测率(DDR): 自动缺陷检测率(ADR): 用IPAY(P,A,M)表示不需人工确认,工具可以自动缺陷的检测个数。 基于缺陷模式的软件测试指标分析 计算复杂性: 在理论上,基于缺陷的软件测试技术可以100%的检测所定义的缺陷模式,但由于缺陷的检测可以模型化程序的遍历问题,对于大型程序,全部遍历虽然可以提高精度,但需要花费大量的时间。因此,该技术有一个性价比的问题,在时间遍历过程中,往往都有一定的限制,如在一个函数内、一个类内、一个文件内等。 基于缺陷模式的软件测试 基于缺陷模式的软件测试概述 基于缺陷模式的软件测试指标分析 缺陷模式 基于缺陷模式的软件测试系统(DTS) 缺陷模式 缺陷模式概述 故障模式 安全漏洞模式 疑问代码模式 规则模式 缺陷模式概述 缺陷发生机理:疏忽、二义性、不理解、遗漏 分类:故障、安全漏洞、疑问代码、规则 语法与语义定义:给出基于语言的缺陷定义 缺陷新模式研究:论文、工具、实践、推理 缺陷模式数据库:核心技术之一,不断增补 嵌入式软件缺陷模式研究:适合嵌入式特点 缺陷模式概述 缺陷模式是和语言本身相关的,不同的语言有着不同的缺陷模式。我们以C++语言和Java语言为背景来描述其缺陷模式,将软件的缺陷模式分为四个层次,即故障模式、漏洞模式、疑问代码模式和规则模式。 软件缺陷模式 故障模式 此类缺陷是故障,一经产生,会导致系统出错。 存储器泄露模式 资源泄漏模式 指针使用错误模式 数组越界模式 非法计算模式 使用未初始化变量模式 死循环结构模式 死锁模式 安全漏洞模式 安全漏洞模式
文档评论(0)