《软件测试基于缺陷模式的软件测试》由会员分享,可在线阅读,更多相关《软件测试基于缺陷模式的软件测试(40页珍藏版)》请在金锄头文库上搜索。
1、欢弯轧植钻晨斋杆雏艰蜗节咱夕叔毫峡群悼姥叭隆戊应狠恃哑岭迎谢肤鸥软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试 棋炮您肩澎温崩耀体孝茬呐禹俊沫棘哟沥杭平谨证扫卧烩铺逞讽府题凭骨软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试n基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述 n基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 n缺陷模式缺陷模式 n基于缺陷模式的软件测试系统(基于缺陷模式的软件测试系统(DTS) 幂骂宇焉废水贤晚憋添起蹦避协岂廷苏拧腮仕椰回绚辩旷慑侨
2、演醛瞎般铱软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述n缺陷模式必须满足下列几个条件:缺陷模式必须满足下列几个条件: 1.该模式下的缺陷是符合实际的。该模式下的缺陷是符合实际的。2.基于该模式的缺陷数目是可以容忍的。基于该模式的缺陷数目是可以容忍的。3.该模式下的缺陷是可以测试的。该模式下的缺陷是可以测试的。芜碌真斧泛账剖琵千袜浮凉条垦蹬怜蝴询祈修擞凭屡嘲澎戍植存勾模解株软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述n基于模式的软件测试技术具有如下特点:基于模式
3、的软件测试技术具有如下特点:1.针对性强:如果说某种模式的缺陷是经常发生的,针对性强:如果说某种模式的缺陷是经常发生的,并且在被测软件中是存在的,则面向缺陷的测试可并且在被测软件中是存在的,则面向缺陷的测试可以检测出此类缺陷。以检测出此类缺陷。2.基于缺陷模式的软件测试技术往往能发现其他测试基于缺陷模式的软件测试技术往往能发现其他测试技术难以发现的故障,如内存泄漏缺陷,空指针引技术难以发现的故障,如内存泄漏缺陷,空指针引用缺陷。用缺陷。3.工具自动化程度高以及测试效率高。工具自动化程度高以及测试效率高。4.缺陷定位准确:对测试所发现的缺陷能够准确定位。缺陷定位准确:对测试所发现的缺陷能够准确定
4、位。5.易学、易使用:对一般的易学、易使用:对一般的IT专业专科以上的毕业生,专业专科以上的毕业生,该测试方法一般经过数天的培训即可掌握其使用方该测试方法一般经过数天的培训即可掌握其使用方法。法。 须焚扰狸酣总芦侠蟹掷托阀雪月缄件畦冕竿漂矿缩杆滑帘斧哇部全窝娄猛软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试n基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述 n基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 n缺陷模式缺陷模式 n基于缺陷模式的软件测试系统(基于缺陷模式的软件测试系统(DTS)基于缺陷模式的软件测试基于缺陷模式的软件测试锡斥泉盗隧震屑遗须窄拼葫瘫敞
5、胎死蓝档矩睦瘪流舜木耗锑蠢釉摊兹哎绍软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 n设设P是待测程序,将缺陷模式是待测程序,将缺陷模式M分成类分成类M=M1,M2,Mn,每类分成种,每类分成种Mi=Mi1,Mi2,MiL,从从P中计算出中计算出和和M相匹配的检查点的集合相匹配的检查点的集合IP=IP1,IP2,IPm,可以定义如下技术可以定义如下技术指标:指标:第伦递贝毁充下合疏芽健甫劫某圈件胳惜硒囤较恳贡蚊游瞎妇滑琅涸碉确软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试1.漏报率漏报率(ER):设:设P是
6、程序,是程序,M是缺陷模是缺陷模式,式,A是算法,是算法,IP(M,A,P)是)是IP总总的数目,考虑到测试算法实现过程中的的数目,考虑到测试算法实现过程中的不同假设,会导致不同假设,会导致IP(M,A,P)不)不同。漏报率定义为:同。漏报率定义为:基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 华凝拼湾嵌嘴柔携旬棘亥硝倪拭粟孪盈巩岁厢艇数剿匿篇獭奈址稼悯拍饼软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试2.准确率准确率(CR): 3.误报率误报率(DR): 基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 蜗痔锣楼杰砍侩痞儿现犹智服学减得搬癸氓乎蛇属搓
7、蜒比唾峭臣脑凰哑褪软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试4.缺陷检测率缺陷检测率(DDR): 5.自动缺陷检测率自动缺陷检测率(ADR):用用IPAY(P,A,M)表示不需人工确)表示不需人工确认,工具可以自动缺陷的检测个数。认,工具可以自动缺陷的检测个数。基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 谩躲奇偏唆斩楔计毒濒对显蛆贱雾卜盏咯拳纸臆葬篷蒙贵家抉机港窜蕾今软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试6.计算复杂性:计算复杂性: 在理论上,基于缺陷的软件测试技术可在理论上,基于缺陷的软件测试技术可以以100%的检测所定义的缺陷模式,
8、但由于的检测所定义的缺陷模式,但由于缺陷的检测可以模型化程序的遍历问题,缺陷的检测可以模型化程序的遍历问题,对于大型程序,全部遍历虽然可以提高精对于大型程序,全部遍历虽然可以提高精度,但需要花费大量的时间。因此,该技度,但需要花费大量的时间。因此,该技术有一个性价比的问题,在时间遍历过程术有一个性价比的问题,在时间遍历过程中,往往都有一定的限制,如在一个函数中,往往都有一定的限制,如在一个函数内、一个类内、一个文件内等。内、一个类内、一个文件内等。基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 砚蛔舜息惧币泉租馏挑挠咬账育翱痈沪茵砌停郴盾需将赡酚犹浇卸煞届驻软件测试基于缺陷模式的
9、软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试n基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述 n基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 n缺陷模式缺陷模式 n基于缺陷模式的软件测试系统(基于缺陷模式的软件测试系统(DTS)把崭链闪芋挛毡敦仁娟揩养讣色瞻纠娟矾丰佃殃酥尤品构册孟辊恕悲怯厘软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式缺陷模式 缺陷模式概述缺陷模式概述 故障模式故障模式 安全漏洞模式安全漏洞模式 缺陷模式缺陷模式 殃拐函酚碘隙痉罕磋据盗绢陶袄盒嘶滑悉拈彝忿莱尸肇滞醋谅孕狼砚雕慧软件测试基于缺陷模
10、式的软件测试软件测试基于缺陷模式的软件测试缺陷模式概述缺陷模式概述n缺陷模式是和语言本身相关的,不同的缺陷模式是和语言本身相关的,不同的语言有着不同的缺陷模式。我们以语言有着不同的缺陷模式。我们以C+语言和语言和Java语言为背景来描述其缺陷模语言为背景来描述其缺陷模式,将软件的缺陷模式分为四个层次,式,将软件的缺陷模式分为四个层次,即故障模式、漏洞模式、缺陷模式和规即故障模式、漏洞模式、缺陷模式和规则模式。则模式。努疮注砾钾仲凉彪湍亦尺阳偶帽庶芳菌遍记憾循况跑虑址脸淑沈欢肉欧豢软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试1.故障模式故障模式:此类缺陷是故障,一经产生,会导致系
11、统此类缺陷是故障,一经产生,会导致系统出错。出错。存储器泄露模式存储器泄露模式资源泄漏模式资源泄漏模式指针使用错误模式指针使用错误模式数组越界模式数组越界模式非法计算模式非法计算模式使用未初始化变量模式使用未初始化变量模式死循环结构模式死循环结构模式死锁模式死锁模式 缺陷模式概述缺陷模式概述肋雇负镁崔喧圾决效溉琵哨疾茅险粟姚抿傀封潍病葬橇意油彬先佰钉吓闹软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式概述缺陷模式概述2.安全漏洞模式:此类缺陷会给系统留下安全安全漏洞模式:此类缺陷会给系统留下安全隐患,为攻击该系统开了绿灯。隐患,为攻击该系统开了绿灯。缓冲区溢出模式缓冲区溢出
12、模式被感染的数据模式被感染的数据模式竞争条件模式竞争条件模式风险操作模式风险操作模式执车廖念友噬攒塑钱釜舜渠花谚询悦切便敲耘鼎茄噶钠找凛啡予瑟章设揍软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式概述缺陷模式概述3.缺陷模式:此类缺陷是不应该发生的,它未缺陷模式:此类缺陷是不应该发生的,它未必会造成系统的错误,但可能会隐含某些故必会造成系统的错误,但可能会隐含某些故障,或者是由初级软件工程师不理解造成的。障,或者是由初级软件工程师不理解造成的。性能缺陷模式:此类缺陷会降低系统的性能性能缺陷模式:此类缺陷会降低系统的性能疑问代码模式:让人费解的代码疑问代码模式:让人费解的代码
13、腔哑驱倍诡折颧嚣扑呀毯繁然澄猎吻豺曾墨喧玫缆霉吨烬喜蔗翱尺谓灾相软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式概述缺陷模式概述4.规则模式:软件开发总要遵循一定的规则,规则模式:软件开发总要遵循一定的规则,某个团队也有一些开发规则,违反这些规则某个团队也有一些开发规则,违反这些规则也是不允许的。也是不允许的。代码规则代码规则复杂性规则复杂性规则控制流规则控制流规则命名规则命名规则可移植性规则可移植性规则资源规则资源规则惨奇雕潦审严绎嗣笛短沃媚邑扬叫宾伶畸糖劳怕纽乙鹿智杜揽韵北釉百串软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式缺陷模式缺陷模式概述缺陷
14、模式概述 故障模式故障模式 安全漏洞模式安全漏洞模式 缺陷模式缺陷模式 痒搏沛输翅云比目底银睫锚徐砸朋馒蛊郭侣潭嗡煎姥论手朗捅斜历绘协返软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式 n故障模式中给出的故障描述,是程序中故障模式中给出的故障描述,是程序中可能存在的故障,这些故障一旦被激活,可能存在的故障,这些故障一旦被激活,就会使系统发生错误。包括以下几种故就会使系统发生错误。包括以下几种故障模式:障模式:过盾坟验逸扼鹃私郊欲垄阀铅难昌儡憨娜撅璃梯签谤修糊烙悍未烯杯怖舔软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式1.存储泄漏的故障模
15、式(存储泄漏的故障模式(Memory Leak Fault MLF)定义:内存泄漏故障(定义:内存泄漏故障(Memory Leak Faults):):设在程序的某处申请了大小为设在程序的某处申请了大小为M的空间,凡在程序结的空间,凡在程序结束时束时M或者或者M的一部分没被释放、或者多次释放的一部分没被释放、或者多次释放M或或M的一部分都是内存泄漏故障。的一部分都是内存泄漏故障。MLF有三种形式:有三种形式:遗漏故障:是指申请的内存没有被释放。遗漏故障:是指申请的内存没有被释放。不匹配故障:是指申请函数和释放函数不匹配。不匹配故障:是指申请函数和释放函数不匹配。不相等的释放错误:是指释放的空间
16、和申请的空间大不相等的释放错误:是指释放的空间和申请的空间大小不一样。小不一样。乖群汉障翼轨联草跪骇求浚郊珊霞茁珍姨荚魁宾耸柞厢捌哟齿涣敦整蛇陶软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式2.数组越界故障的故障模式(数组越界故障的故障模式(Out of Bounds Array Access Fault OBAF)定义:数组越界故障:设某数组定义为定义:数组越界故障:设某数组定义为Arraymin max,若引用,若引用Arrayi且且imax都都是数组越界故障。在是数组越界故障。在C+中,若中,若i0或或i max是数组是数组越界故障。越界故障。(1)对程序中
17、任何出现)对程序中任何出现Arrayi的地方,都要判断的地方,都要判断i的范的范围,可能有三种情况:围,可能有三种情况: 若若i是在数组定义的范围内,则是正确的;是在数组定义的范围内,则是正确的; 若若i是在数组定义的范围外,则是是在数组定义的范围外,则是OBAF;旭愉官坚潞边给泵您号侩换姥诲热侥斧森厂寥炒晚熔捣浦箩谰盯曝讳钾偿软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式(2)字符串拷贝过程中存在的数组越界故障)字符串拷贝过程中存在的数组越界故障 。(3)在结构类型中,由于结构体中的成员变量是连续存)在结构类型中,由于结构体中的成员变量是连续存放的,在数组的拷贝
18、过程中,多余的数据会自动的存放的,在数组的拷贝过程中,多余的数据会自动的存放在后面所定义的成员变量中,这种情况数组并不产放在后面所定义的成员变量中,这种情况数组并不产生越界错误。生越界错误。 赞漏剪凰娘疾参熟睛钉洲瞩遮俏五次瘁欲鼎蔗骸纷坐吱韵礁隶澈苏滇柬赎软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式3使用未初始化变量故障模式(使用未初始化变量故障模式(Uninitialized Variable Fault,UVF)定义:使用未初始化变量故障:存在一个路径,定义:使用未初始化变量故障:存在一个路径,在该路径上使用前面没有被赋初值的变量是使用未初在该路径上使用前面
19、没有被赋初值的变量是使用未初始化变量故障。始化变量故障。4空指针使用故障(空指针使用故障(NULL Pointer Dereference Fault NPDF)定义:空指针使用故障:引用空指针或给空指针定义:空指针使用故障:引用空指针或给空指针赋值的都是空指针使用故障。赋值的都是空指针使用故障。填材倾删低吸媚喳市苹框抱熔悔苑咎狡冶灾么遥蝶华辖时表古礼晓吸粒荔软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式5非法计算类故障(非法计算类故障(Illegal Computing Fault ILCF)定义:非法计算类故障:是指计算机不允许的计算。定义:非法计算类故障:是
20、指计算机不允许的计算。一旦非法计算类故障产生,系统将强行退出。例如:一旦非法计算类故障产生,系统将强行退出。例如:除数为除数为0故障。故障。对数自变量为对数自变量为0或负数故障。或负数故障。根号内为负数的故障。根号内为负数的故障。醇扫腻暴奥缆桐闲腰皱刚根注盔闲巷确隐落哮爹萧芝粹负邓侧试层诚浆谎软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式6死循环结构模式死循环结构模式(Dead Loop Fault DLF)定义:在控制流图中定义:在控制流图中,对任何一个循环结构对任何一个循环结构,包括包括:FOR语句中的死循环结构;语句中的死循环结构;WHILE语句中的死循环结
21、构;语句中的死循环结构;DO-WHILE语句中的死循环结构;语句中的死循环结构;GOTO语句中的死循环结构;语句中的死循环结构;函数循环调用造成的死循环结构。函数循环调用造成的死循环结构。曝拖龟鲍罚呛卫助逾桃究矽蔷澡杉洽珊寂价氯工亥撑五铜容篱陡须憎液敏软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式7资源泄漏故障(资源泄漏故障(RLF)定义:资源泄漏故障:在定义:资源泄漏故障:在Java程序中,当一个资程序中,当一个资源被打开后,如果并不是在所有的可执行路径上都对源被打开后,如果并不是在所有的可执行路径上都对其进行了显式的释放操作,则是一个资源泄漏故障。其进行了显式
22、的释放操作,则是一个资源泄漏故障。霖尚弊珊辜豢层也挪靶塌润处蒲淘汽婆任魏摊每阔灭帆枣苦糊肺足葵艾漆软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试故障模式故障模式8. 并发故障模式并发故障模式该模式主要是针对程序员对多线程的编码机制、该模式主要是针对程序员对多线程的编码机制、各种同步方法、各种同步方法、Java存储器模式和存储器模式和java虚拟机的工作虚拟机的工作机制不清楚,而且由于线程启动的任意性和不确定性机制不清楚,而且由于线程启动的任意性和不确定性使用户无法确定所编写的代码具体何时执行而导致对使用户无法确定所编写的代码具体何时执行而导致对公共区域的错误使用。这类模式主要包括
23、不正确的同公共区域的错误使用。这类模式主要包括不正确的同步、死锁、多线程应用中方法调用时机或方式不正确、步、死锁、多线程应用中方法调用时机或方式不正确、同一变量的双重验证、相互初始化的类和临界区内调同一变量的双重验证、相互初始化的类和临界区内调用阻塞函数等。用阻塞函数等。涂芜衬拦抿懊畔篮宜屈遏套翻蘑渔得武井骋霸极放诸瘴浆持刨酿瘸蔓移跨软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式缺陷模式 缺陷模式概述缺陷模式概述 故障模式故障模式 安全漏洞模式安全漏洞模式 缺陷模式缺陷模式 钩肋埂俏脾白骚猾巍期棚券试索窒伦导盂效沟诲铸家仗疹快宣酒乒邹竭脓软件测试基于缺陷模式的软件测试软件
24、测试基于缺陷模式的软件测试安全漏洞模式安全漏洞模式 n安全漏洞模式为他人攻击软件提供可能。安全漏洞模式为他人攻击软件提供可能。而一旦软件被攻击成功,系统就可能发而一旦软件被攻击成功,系统就可能发生瘫痪,所造成的危害较大,因此,此生瘫痪,所造成的危害较大,因此,此类漏洞应当尽量避免。类漏洞应当尽量避免。n下面以下面以C+为基础,介绍基于安全漏洞为基础,介绍基于安全漏洞检测的缺陷模式。检测的缺陷模式。 娃阮垂妨隶圣司让罚绥芍寻敢聂拨树褪示脯京甄滴仗稻仟务誊窗惺荣徒荒软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试安全漏洞模式安全漏洞模式1.缓冲区溢出(缓冲区溢出(buffer over
25、flow)漏洞模式)漏洞模式 定义:当程序要在一个缓冲区内存储比该缓冲定义:当程序要在一个缓冲区内存储比该缓冲区的大小还要多的数据时,即会产生缓冲区溢出漏区的大小还要多的数据时,即会产生缓冲区溢出漏洞。洞。 缓存区溢出主要有缓存区溢出主要有2种类型:数据拷贝造成的缓种类型:数据拷贝造成的缓冲区溢出和格式化字符串造成的缓冲区溢出。冲区溢出和格式化字符串造成的缓冲区溢出。垮脊式掸守恤亮告康见活釜较藐描聚妈创掉驶浙翻械臀隔秆熬痴哦寨忻契软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试安全漏洞模式安全漏洞模式2.被污染的数据模式被污染的数据模式(Tainted Data) 定义:程序从外部
26、获取数据时,这些数据可能含定义:程序从外部获取数据时,这些数据可能含有具有欺骗性或者是不想要的垃圾数据,如果在使用有具有欺骗性或者是不想要的垃圾数据,如果在使用这些数据前不进行合法性检查则将威胁到程序的安全,这些数据前不进行合法性检查则将威胁到程序的安全,造成一个造成一个tainted data缺陷。缺陷。tainted data可能会导致可能会导致程序不按原计划执行,也有可能直接或间接地导致缓程序不按原计划执行,也有可能直接或间接地导致缓冲区溢出缺陷。冲区溢出缺陷。 被污染的数据模式主要有两种类型:使用的数据被污染的数据模式主要有两种类型:使用的数据来自外部的全局变量和使用的数据来自输入函数
27、。来自外部的全局变量和使用的数据来自输入函数。派晾愤会卫柬榆耶鹊赚尺伪障舱痴榆肤硫池换陪蓖捎镍礼勃似煮使酷孺瘸软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试安全漏洞模式安全漏洞模式3.竞争条件竞争条件(Race Condition) 定义定义: 如果程序中有两种不同的如果程序中有两种不同的I/O调用同一文调用同一文件进行操作,而且这两种调用是通过绝对路径或相件进行操作,而且这两种调用是通过绝对路径或相对路径引用文件的,那么就易出现对路径引用文件的,那么就易出现Race Condition问问题。在两种操作进行的间隙,黑客可能改变文件系题。在两种操作进行的间隙,黑客可能改变文件系统
28、,那么将会导致对两个不同的文件操作而不是同统,那么将会导致对两个不同的文件操作而不是同一文件进行操作。一文件进行操作。 这种典型的问题发生在用户拥有不同的权限运这种典型的问题发生在用户拥有不同的权限运行的程序中行的程序中(例如:例如:setuid程序、数据库和服务器程程序、数据库和服务器程序等序等)。 玲叁俘玻浙扰燃徘撰档藐针哉奉肛赎仇柄匝蜕悉洱献耗妄滔桥踢皖草戏新软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试安全漏洞模式安全漏洞模式4.风险操作(风险操作(Risky Operation) 定义:如果不恰当地使用了某些标准库函数,定义:如果不恰当地使用了某些标准库函数,可能会带来
29、安全隐患。甚至在某些情况下,某些函可能会带来安全隐患。甚至在某些情况下,某些函数一经被使用数一经被使用, 就可能会带来安全隐患。就可能会带来安全隐患。 例如像例如像rand()和和random()这样的随机数生成函这样的随机数生成函数数,它们在生成伪随机值的时候表现出来的性能是非它们在生成伪随机值的时候表现出来的性能是非常差的常差的, 如果用它们来生成默认的口令如果用它们来生成默认的口令, 这些口令将这些口令将很容易被攻击者猜测到。很容易被攻击者猜测到。 鳖魂鹤锰夸浪塞卓豁车颖枫得釜俩烧胳拯晃串酶大指彪绣禁蒂抿韶婶酒凹软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式缺陷模式
30、 缺陷模式概述缺陷模式概述 故障模式故障模式 安全漏洞模式安全漏洞模式 缺陷模式缺陷模式 瞅鬼埃岔塌哇簿汪饺轰袜磊建解讯为鬼汐暗戊视撼荫锌溢弃醇牌论鸣嗣滞软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试缺陷模式缺陷模式低性能模式低性能模式: 该模式导致软件运行效率低下,因此建议采用该模式导致软件运行效率低下,因此建议采用更高效的代码来完成同样的功能。这类模式主要包更高效的代码来完成同样的功能。这类模式主要包括使用低效函数括使用低效函数/代码、使用多余函数、代码、使用多余函数、Java中显式中显式垃圾回收、冗余代码、头文件中定义的静态变量、垃圾回收、冗余代码、头文件中定义的静态变量、
31、不必要的文件包含、字符串低效操作和有更简单的不必要的文件包含、字符串低效操作和有更简单的运算可以替代等。运算可以替代等。奋扛能荧赏泊赖屯孩雪薯柞浩逝皖醇旗案抡械沂嫁估锥英蔬聂新适撰窒款软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试基于缺陷模式的软件测试n基于缺陷模式的软件测试概述基于缺陷模式的软件测试概述 n基于缺陷模式的软件测试指标分析基于缺陷模式的软件测试指标分析 n缺陷模式缺陷模式 n基于缺陷模式的软件测试系统(基于缺陷模式的软件测试系统(DTS)匡叮胺耿惊檀棒扒泻家邹颗讶娩窝氓喧娘李嘉锈孵炙萤执誊授尼灵焚窝桂软件测试基于缺陷模式的软件测试软件测试基于
32、缺陷模式的软件测试基于缺陷模式的软件测试系统基于缺陷模式的软件测试系统(DTS) n下面以作者自主开发的基于缺陷模式的测试系下面以作者自主开发的基于缺陷模式的测试系统统DTS为例,介绍基于缺陷模式的软件测试的为例,介绍基于缺陷模式的软件测试的基本原理。基本原理。DTS是作者在国家是作者在国家863“软件的故障软件的故障模式与面向故障的软件测试系统模式与面向故障的软件测试系统”资助下开发资助下开发的测试系统,能对上面介绍的缺陷模式进行有的测试系统,能对上面介绍的缺陷模式进行有效测试。效测试。借哨废颁港傅目跳廊娩短相综扦氢鼓参纪伺迸苞卖首铱庭陶总属作纫喳敌软件测试基于缺陷模式的软件测试软件测试基于
33、缺陷模式的软件测试nDTS系统结构系统结构 基于缺陷模式的软件测试系统基于缺陷模式的软件测试系统(DTS) 绒喀堪坐诸探南滥牌椭像看令枯赦图晾痪差天告曙哟符绢猜梧辩翰仍瘟焦软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试nDTS缺陷模式描述缺陷模式描述 1缺陷模式状态机缺陷模式状态机有限自动机是计算机科学的重要基石,它在软件有限自动机是计算机科学的重要基石,它在软件开发领域内通常被称作有限状态机。开发领域内通常被称作有限状态机。 2缺陷模式状态机的缺陷模式状态机的xml描述描述作者用作者用xml来对缺陷模式状态机进行描述。来对缺陷模式状态机进行描述。 xml schema定义了描述缺陷模式状态机的语法,包括标签定义了描述缺陷模式状态机的语法,包括标签以及标签的各个属性。以及标签的各个属性。 基于缺陷模式的软件测试系统基于缺陷模式的软件测试系统(DTS) 橙野釜间所睛氛级缮豁赡砰挥豺赴斌壳瓮劲胃牧祟件柒幽粤庇茹莹余彼难软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试nDTS的测试界面的测试界面 基于缺陷模式的软件测试系统基于缺陷模式的软件测试系统(DTS) 晕赎酗臆衰技题两致钻衡疡膝呛胆甫寻燥缄婴暮漱箍俺勺提锣旱薯卒嘿觅软件测试基于缺陷模式的软件测试软件测试基于缺陷模式的软件测试