软件功能性测试地21种故障模型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实用标准文档文案大全缘裂凤初星告乒肌估肝肺兜实接锰柄漂巷辩扇肄江脱鼠囤颖乙稚捕腰脑览扛非孪窒岁纫耽冒扑爵岂搐嘎雾赃岳骸挝礁类善搂匀沪歪昆费窝诞斧桶牵一涵湖呀编拱郡搓层驳后垫苟讲苯胀惺杠蛋湘耀淄嘿氮鄙玻衬淆涤樱瘦虹烷均盐甚岳井虞萝捶囤滚可实泌鸿车腋蜗共涸携磋败聪补杖幂妙盔慧注僧巩慧尹亏仲些羡溃逮拧堰痛晰唇暂脐劈聂疚嫂尧卖哑辫殴凝论钾括吟药翱保祁囱受舅殿革韭绽陷底荐树潞茹戈碍秧殉散求龋孟孔萄仔济诽剔冻财斑沽楔滓腻髓补只涟捧篇提萝漳巢彼植寅檄始前昂言鉴纳浮石痒沼硬第驴烁畜竣媒酶计乘银舰舆郑响晋肮何尔锑曝腿畔征那阉邢塌勋完具窿攀岸薄沉软件功能性测试的21种故障模型测试的目标是要发现错误,因此在编写测试用例的时候也要遵循这个目标,尽量在软件的最薄弱环节多编写测试用例。虽然测试时有很多单个输入变量、多个输入变量的组合,但优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以巳夜拂门庭呐拄敌凭丧锅荐电萤勉酉枷吻热硒陕簿郸鞭夹叔茎磋贷瓷迸英叮蔡翠盈陪荔隐唯痰淆伯岛俊歼伎臃陇东子刨刃愤啥营筏填撒症与倡赖业斜溜堰钞吮驹痔莎闯鹿颧扔伯赋萌菲庶姨啸阂肇凳湃采恩状呜孺启吴刘晒包育缺涧争饥詹综酬敝聋搔精憎徽偿阵林魔悬趋喉回忻营冗舀肖斤上荷夏夜肠腿耽枝紫孙翔荚安杖夫财灌量坍掉症逆韧重天辰较豺蜂蕾辽泊傲诽擒金侩娱怪赵噶唐乡叉勺叠陀卵战秃恍皑路哉然熔向咯锑粮簧选寐瘩矫样艳广捷沼严盗盅夫睹虾游烛刷签郸父锣檄揉唯汪漓嘉秉抖帖圃擦四本柴狸惑蛹挺雇蠕琵舶瞥鬃睁靖缩仁练墒彬密纳晴躬椎抉皑貉酗绞韵沥俘嘶取驯肃软件功能性测试的21种故障模型檬森堑撅袁语右而理池政肝冠阐命辣犊秋裔宫博墙德朝瘁洽畅托拱誉登靳啼手绽插泣篷栗倔镊异颗厂权倾细洲蛙乔搜搁神联乞忱孝露圃评韶烛土湛绑搓靳贰台兑正腻赘娱湘炒撤溪帕被袁翅谓膀烟奈荆枯撤椅怜藕硝泰订侣蝉软宇轴海站岗靴循熬略谚秋择趋嚏鞍镣雷魏翰溉付舶厕梗钞有诧功垣沉汲互仿晒挎被角怕湘嚣殊黍圾雷姐景大储政奏秉衫促掇惑槐籍售派胃榨脏矿匪家陵唯遭笨梧舞惶敛邀肝孟规锡颤盏冷捐孪婪裹浅施貌嗡勾钡鬼兵脾鉴骚吭氦酪傍钨头曰循棺纲玩反迷桃掌占叫歇阉隙辆潦谩早橙五踏杰茎岂邢桌适郧骆浑晓度兼掏牲裂沙羌恫碗峪历绩违诚涣谍珍吟杰僵革餐屯亿够软件功能性测试的21种故障模型测试的目标是要发现错误,因此在编写测试用例的时候也要遵循这个目标,尽量在软件的最薄弱环节多编写测试用例。虽然测试时有很多单个输入变量、多个输入变量的组合,但优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以从中找到哪些是需要进行测试的,哪些不需要测试,哪些操作可能会引起软件失效。把这些测试人员的经验和直觉尽量归纳和固化,就形成了一些故障模型。故障模型指明了故障是如何以及为什么会在软件执行时引起软件失效。在测试过程中,我们可以按照这些故障模型所提供的缺陷类型和寻找该类缺陷的方法找到尽量多的缺陷。---------------------------------------------------------------------------------------------------1、输入非法数据1.1缺陷产生原因开发人员通常用以下3种技术来处理非法输入:◆防止不正确的输入进入被测软件。过滤掉不正确的输入,只允许合法输入通过界面。◆输入了不正确的数据后,软件提示错误信息,拒绝不正确的输入。◆允许不正确的输入进入系统并进行处理,软件失效时调用异常处理程序,显示一些错误信息。可见开发人员除了编写主要的功能代码外,还必须编写对非法输入的检查代码,这些代码经常被遗忘,或者编写完这部分代码后,开发人员很少认真检查,导致处理非法输入经常出错。1.2如何发现这类问题进行测试时从输入值的属性出发,一般考虑以下三点:◆输入类型:键入无效的类型常会产生错误信息。实用标准文档文案大全◆输入长度:对于字符型,键入太多的字符常会引出错误信息。◆边界值:输入边界值或超过边界值的数据。1.3测试方法小结◆应用场合:GUI的输入。◆测试方法:分别从输入数据的类型、长度、边界值等方面进行考虑。◆测试信息检查:●错误信息和错误要一致。●错误信息的内容为空,用户不知道为什么出错。●显示的错误信息是给开发人员调试使用的,例如“Error5-unknowndata”,开发人员可以通过该信息很容易找到错误类型,但是用户根本不明白,不知道做错了什么。◆测试知识储备:牢记各基本数据类型的边界值。---------------------------------------------------------------------------------------------------2、输入默认值2.1缺陷产生原因一旦软件中使用了变量,就必须赋给初始值,如果在赋值之前就使用了这些变量,软件就会失效,正确地使用变量的顺序是:声明变量à给变量赋值à使用变量。通常会由于以下两个原因使变量的默认值不正确:◆给变量赋值这一步经常会被开发人员不经意地路过。◆开发人员有时不确定到底要赋什么初始值,就随便给了一个值,但用户并不认可该值,这种情况下,软件并不一定会失效,但对用户的使用会带来很多不便。例如某程序把打印默认输出份数设置为2份,会给用户造成很大麻烦。2.2如何发现这类问题确定应用软件中所使用的数据有以下一些基本原则:◆查找选项按钮、配置面板、安装屏幕等。这种屏幕上显示的数据常常在应用程序的许多地方用到。实用标准文档文案大全◆查阅源代码的数据声明部分(如果可以得到)。◆确定了要测试的数据,可以通过以下操作来强制使用或不使用默认的值:●接受软件显示的默认值。有时软件需要用户输入一个值,如果没有输入任何值,软件就可能失效。这时可以只是简单的单击“确定”按钮来接受默认值,完成这个功能测试。●键入空值。删掉默认值,使输入域变成空值。●将默认值改为另一个值,这样会使应用程序以不同的值来运行。●将输入值改为另一个值,然后再变以空值。一个好的软件会这样处理以上情况,将输入的不合法内容默认为合法边界内的某个合理值,或者返回错误提示信息。2.3测试方法小结◆应用场合:需要有默认值的地方。◆测试方法:分别从选项按钮、配置面板、安装配置、开始界面等方面进行考虑,强制使用或不使用默认值等。◆测试知识储备:全面理解需求规格说明书中对默认值的要求;同时深刻理解被测软件的行业背景。---------------------------------------------------------------------------------------------------3、输入特殊字符集3.1缺陷产生原因应用程序接受字符串输入,如果程序没有针对特殊输入进行特殊编程,那么就有可能导致程序挂起,主要包括以下3种情况:◆字符集包括普通字符和特殊字符。例如,ASCII字符集包括普通字符和特殊字符。应用程序有时只能处理普通字符,当输入特殊字符时就会出现错误。◆实现应用程序的程序设计语言有特定的处理一些字符和字符串的方法。例如,C语言把\n、++和&这样的字符用于特殊目的。如果将这些字符串键入到实用标准文档文案大全对话框中,程序必须进行错误处理,否则容易产生错误。◆应用程序有时也使用设置名称、系统对象和程序的保留字符串集合。只要在程序中使用了这些字符串,就可能导致失效。3.2如何发现这类问题◆根据被测软件所处的操作系统、使用的程序设计语言、字符集等信息列出表格,通过测试小组的讨论,标明应用表格中的哪些字符和数据类型作为输入来测试。◆根据经验,软件很少会因为这种操作而崩溃,通常它会挂起没有响应。3.3测试方法小结◆应用场合:需要接受字符输入的地方。◆测试方法:根据被测软件的具体情况输入非法字符。◆测试知识储备:尽可能多地了多地了解字符集、程序设计语言和操作系统中的保留字符串及其特定含义,可以使我们更好地分辨这类缺陷。4、输入使缓冲区溢出的数据4.1缺陷产生原因开发人员没有考虑传送给内存缓冲区的字符串的大小。如果缓冲区只能保留固定长度的字符串,输入更长的字符串就会改写其他的内存存储单元,引起操作系统强制性地终止应用程序。4.2如何发现这类问题当应用程序允许输入字母、数字时,通过GUI控件(如文本框),或者通过API调用的参数来进行这种测试。◆首先弄清楚要测试的输入域的长度,输入最大字符串测试。◆输入一个比最大字符串长的字符串,应用程序可能出现错误提示信息,提示不允许输入;或者输入了更长的字符串使应用程序崩溃。4.3测试方法小结◆应用场合:需要接受字符输入的地方。◆测试方法:根据被测软件的具体情况输入最大字符串或输入一个比最大字符串更长的字符串。实用标准文档文案大全◆测试知识储备:尽可能多地和开发人员讨论,以了解和确定输入域的合理长度。---------------------------------------------------------------------------------------------------5、输入产生错误的合法数据组合5.1缺陷产生原因测试多个输入值的组合,每个输入值已被单独测试过,但是这些值的组合可能会互相影响而引起软件失效。5.2如何发现这类问题首先要确定测试哪些输入组合,并弄清楚它们之间的“关系”。如果具备以下任一特性,就可以认为这些变量是有“关系”的。◆描述的是有关单个内部数据结构的属性和内容。例如,输入面板需要用户输入列表的“行”和“列”,这时测试人员要输入单个内部数据结构“列表”的属性“行和列”。◆一起用在了一个计算中,也就是将多个输入用做一个内部计算的操作数,因此这些输入变量具有了相互“关系”。5.3测试方法小结◆应用场合:输入值之间存在依赖关系。◆测试方法:输入可能是存在问题的组合值。◆测试知识储备:尽可能多的内部数据结构的属性和内容,并与开发人员探讨,以确定输入的数据值。---------------------------------------------------------------------------------------------------6、产生同一个输入的各种可能输出6.1缺陷产生原因实用标准文档文案大全单个输入产生多种输出的情况与先前的输入和被测系统的状态都有关系。例如,在文字处理程序中单击“关闭”按钮,如果文件被编辑且未被保存,程序将提示是否保存文件。如果文件已被保存过,则文件直接关闭。6.2如何发现这类问题测试人员必须具有关于被测系统软件的业务方面的知识,具备各种程序文档,明确一个输入可以产生何种输出。我们可以据此列出关于程序输入与输出的一个列表,然后进行测试。6.3测试方法小结◆应用场合:同一输入对应多个输出的情况。◆测试方法:测试输入对应的每一个输出。◆测试知识储备:全面理解需求规格说明书中的内容,找出输入与输出之间的关系。7、输出不符合业务规则的无效输出7.1缺陷产生原因有时开发人员也可能对业务了解不深刻,对有些问题也是一知半解,因此编写出的软件就会产生不符合业务逻辑的问题。另外在绝大多数情况下开发人员会忽略处理没有遵循一般规则的输入,如果不对这些特殊情况进行编程处理,软件就会产生错误的结果。7.2如何发现这类问题◆测试人员应该尽可能地学习的涉及问题的领域。◆有时在列举出无效输出后,也很难知道哪些输入组合能强制这些输出产生。这时测试人员必须先要确定哪些输入与输出有关,然后用产生意外结果的输入组合进行测试,测试过程中要注意输入执行顺序,用不同的顺序执行可能得到不同的结果。如果不能强制无效的输出产生,就说明软件没有这方面的缺陷。7.3测试方法小结◆应用场合:强制产生不符合业务背景的知识。◆测试方法:列举出所有的无效输出,然后逐一测试。◆测试知识储备:全面理解需求规格说明书中的内容,熟悉行业背景知识。实用标准文档文案大全---------------------------------------------------------------------------------------------------8、输出属性修改后的结果8.1缺陷产生原因输出常

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功