




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、故障模型(2),学习目标 1.掌握测试输出的数据的技巧 2.掌握测试数据结构的技巧,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法八:输出属性修改后的后果,例:word中工具栏默认项,方法八:输出属性修改后的后果,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法八:输出属性修改后的后果,1.缺陷产生原因 2.如何发现这
2、类问题 3.测试方法小结,缺陷产生原因,程序员在编程的过程中没有设置回复默认值的功能 输出有属性(颜色.) 用户可修改 属性被强制改变,未恢复默认值,方法八:输出属性修改后的后果,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,(1)功能具有可编辑、可修改的属性输出 (2)仔细了解能够产生的输出 (3)特别注意可变技术性的输出 测试人员可如下操作: 强制每个输出产生-编辑属性-再次强制产生输出,方法八:输出属性修改后的后果,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:有输出、用户可以编辑输出属性 (2)测试方法:强制每个输
3、出产生-编辑属性-再次强制产生输出 (3)测试知识储备:全面了解需求规格说明书,了解能够产生的输出,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法九:屏幕刷新显示,例:Bugzilla中:,方法九:屏幕刷新显示,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法九:屏幕刷新显示,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,GUI软件会产生刷新问题,因为GUI允许对窗口进行覆盖、移动、调整大小,必须刷新才能使对象重新显示。 开发人员有时候不能确定
4、什么时候需要刷新,多大范围需要刷新,方法九:屏幕刷新显示,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,(1)增加屏幕上的对象 使用不同类型对象(如文本、图形等) (2)移动屏幕上的对象 从起始位置-增加移动幅度-增加移动次数 (3)删除屏幕上的对象,方法八:屏幕刷新显示,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:一个对象包含在另一个对象中,拖动被包含对象时,可能出现刷新问题 (2)测试方法:增加、删除和移动屏幕上的对象 (3)测试知识储备:全面理解需求规格说明书中的内容,了解程序中对象之间的关系,故障模型,输出属性修
5、改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十:数据结构溢出,例:定义工程师信息时: struct EngineerStruct int EngineerNo; char EngineerName20; float EngineerBaseSalary;Engineer100;,方法十:数据结构溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十:数据结构溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,.所有数据结构的大小都有上限 .开发人员经常对有关数
6、据结构的内容进行编码,忘记结构本身的物理局限,方法十:数据结构溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,(1)确定数据结构的界限,尝试将过多的值输入数据结构。应该特别注意界限为数据类型的边界256、1024、32768等上溢的测试。 (2)对于下溢的测试,可以尝试多删除一个数据,例如当结构为空时,尝试再删除,或者添加一个数据,尝试删除两个数据时的情况,方法十:数据结构溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:程序中存在数组 (2)测试方法:尝试将过多的值输入数据结构,测试上溢;对于下溢的测试,可以尝试多
7、删除一个数据 (3)测试知识储备:全面理解需求规格说明书中的内容,确定数据结构的界限,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十一:数据结构不符合约束,例:即时贴程序“年“取值在1969-2038之间 撤销最多执行20次 粘贴最多执行12次,方法十一:数据结构不符合约束,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十一:数据结构不符合约束,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,.在编程过程中对内部数据结构都有所约束,包括大小、
8、维数、类型、形状、屏幕上的位置等 .我们测试的重点就是用户能够设置的属性,这些属性使用了一组参数来约束。,方法十一:数据结构不符合约束,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,(1)确认候选数据(如输入101个工程师信息),并列出其可修改的属性对每个属性列出有效值的允许范围、约束的条件等。 (2)确定所有可修改属性的功能位置。 (3)对数据进行初始化,改变每个属性以确定是否正确进行了约束。 后果:如果数据约束遭到破坏,可能导致系统崩溃,或者表现为响应时间延迟,错误信息不正确以及使用错误数据产生的无效输出。,方法十一:数据结构不符合约束,1.缺陷产生原因 2.
9、如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:应用程序内部的数据结构存在约束 (2)测试方法:破坏内部数据结构的约束 (3)测试知识储备:全面理解需求规格说明书中的内容,确定内部数据结构的所有约束,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十二:操作数与操作符不符,例:.c语言中的求模运算(%)规定操作数必须是int类型 .除以零的问题,方法十二:操作数与操作符不符,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十二:操作数与操作符不符,1.缺
10、陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,.几乎每个运算符都有它无效的操作数,方法十二:操作数与操作符不符,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,(1)找到程序中包含的数据或输入(即操作数)的计算(即操作符)、数学表达式(即操作符和操作数的组合)及对图形的操作 (2)另外,对多个操作数进行组合也更容易发生错误,方法十二:操作数与操作符不符,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:需要进行数值计算的程序或图形操作的程序 (三角形两边之和大于第三边) (2)测试方法:对于数值计算考虑操作数
11、和操作符之间的限定关系,对于图形计算还要考虑各种输入数据之间的组合关系 (3)测试知识储备:全面掌握被测软件中操作符对操作数的要求。掌握不同的操作符和操作数具有的不同的有效和无效的取值范围,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十三:递归调用自身,例:.不设置递归调用的条件,方法十三:递归调用自身,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十三:递归调用自身,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,产生这类问题的主要原因是开
12、发人员没有编码来保证循环和递归调用的终止,通常是在循环的开始或结束时缺少检查条件。,方法十三:递归调用自身,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,在软件中寻找可以使用递归调用的功能。这时可以制作一个列表,标明软件中可能嵌入递归的功能的列表,然后自己引用自己来检查程序是否能正确处理,方法十三:递归调用自身,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:需要和其它对象进行交互的地方 (2)测试方法:考虑对象的自我交互或复制 (3)测试知识储备:全面掌握被测软件的需求,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构
13、溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十四:计算结果溢出,例:当所有的输入和数据都有效时,计算的最终结果也可以是无效 出生日期:2004-2-31,方法十四:计算结果溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十四:计算结果溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,.所有变量都有值域范围,有时开发人员在执行计算时会忘记检查这些上限,方法十四:计算结果溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,一次又一次地执行计算或使用很大或很小的
14、输入和数据进行计算,重点测试数据类型的初始值或边界值附近的值,方法十四:计算结果溢出,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,测试方法小结,(1)应用场景:应用程序执行能够导出待产生结果并进行内部存储的计算。 (2)测试方法:强制数据产生上溢或下溢(3)测试知识储备:全面掌握被测软件的需求,了解计算变量的上下限。,故障模型,输出属性修改的后果 屏幕刷新显示 数据结构溢出 数据结构不符合约束 操作数与操作符不符 递归调用自身 计算结果溢出 数据共享或关联功能计算出错,方法十五:数据共享或关联功能计算出错,例:一个功能可能会将某数据项设置为特定大小,然而另一个功能却允许该数据项的
15、大小可以超过第一个功能的处理能力。开发人员根本没考虑到该数据项在其它功能处也可以修改,他们只是编码保证在该功能中数据的合法性,而当使用该数据时,没有再编码来检查可以使用的范围;而此时,另一个功能修改了共享数据,当再使用这些数据时就产生了缺陷。,方法十五:数据共享或关联功能计算出错,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,方法十五:数据共享或关联功能计算出错,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,缺陷产生原因,.通常对孤立的功能进行测试时不会发生很多缺陷,而当把单独的功能和同一软件中的其它功能结合时,就可能出现很多软件缺陷。 种缺陷的产生往往是在两个或更多的功能使用了共享数据集,而每个功能允许使用的数据范围不同引起的,方法十五:数据共享或关联功能计算出错,1.缺陷产生原因 2.如何发现这类问题 3.测试方法小结,如何发现这类问题,.能应用同样输入的每个功能。如果这些功能有相互重叠的输入域,就可能存在交互问题。 .有类似的输出产生功能。如果某些功能结合起来产生单个输出,就说明这些部件之间存在关系,应该被一起测试。 .一个功能被包含在另一个功能的计算中。例如要测试鼠标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我国旅游管理办法
- 抽检分离管理办法
- 2024年西藏昂仁县普通外科学(副高)考试题含答案
- 投诉暂行管理办法
- 旅店登记管理办法
- 律师宣传管理办法
- 2024年四川省汶川县急诊医学(副高)考试题含答案
- 招待物资管理办法
- 2024年陕西省澄城县急诊医学(副高)考试题含答案
- 慈善入会管理办法
- 唐山迁安市选聘事业编制卫生专业技术人员笔试真题2024
- 医疗救援队伍应急出动预案
- 大学英语四级考试2024年12月真题(第一套)Part IV Translation
- 眼科医院近视防控措施及推广方案
- 健康管理师高级培训教材
- 血液透析用动静脉内瘘维护指南(2025收藏版)解读课件
- 压疮护理警示教育案例
- Deep Seek赋能职场应用培训课件分享
- 农业行业种植技术操作指南
- 河北省客房服务技师考试题库
- 狼疮性肾炎的护理查房
评论
0/150
提交评论