Ch03 软件测试方法 软件测试方法和技术课件.ppt
《Ch03 软件测试方法 软件测试方法和技术课件.ppt》由会员分享,可在线阅读,更多相关《Ch03 软件测试方法 软件测试方法和技术课件.ppt(114页珍藏版)》请在三一办公上搜索。
1、,软件测试方法和技术第3章 软件测试的方法,朱少民 K http:/,第2章 回顾,软件缺陷是软件质量的对立面软件缺陷(Bug)是什么验证和确认软件测试的分类静态测试与动态测试主动测试与被动测试黑盒测试与白盒测试测试级别:单元、集成、系统和验收软件测试计划与用例专业测试人员的责任和要求,第3章 软件测试的方法,3.1 基于直觉和经验的方法3.2 基于输入域的方法3.3 基于组合及其优化的技术3.4 基于逻辑覆盖的方法3.5 基于故障模式的测试方法3.6 基于模型的测试方法3.7 形式化方法,方法论和具体方法,从方法论看,更多体现了一种哲学的思想,例如辩证统一的方法,在测试中有许多对立统一体,如
2、静态测试和动态测试、白盒测试和黑盒测试、自动化测试和手工测试等。软件测试的方法论来源于软件工程的方法论,例如有面向对象的开发方法,就有面向对象的测试方法;有敏捷方法,就有和敏捷方法对应的敏捷测试。,测试领域,Domains under Test,DNF: Disjunctive Normal Form(析取范式) FSM: Finite Status Machine,测试方法 SWEBOK 3.0,6,IDBT,CBT,FBT,UBT,MBT,TBNA,具体方法或技术,7,过去常提“黑盒和白盒”方法,8,等价类划分法边界值分析法判定表方法因果图法正交试验法功能图法错误推测法,语句覆盖判定覆盖条
3、件覆盖判定条件覆盖条件组合覆盖基本路径覆盖,黑盒方法,白盒方法,其它方法 world,9,上下文驱动方法基于需求验证的方法基于场景的测试方法快速测试方法基于经验的方法,3.1 基于直觉和经验的方法,3.1.1 Ad-hoc测试方法和ALAC测试 3.1.2 错误推测法,基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例。,3.1.1 ALAC测试和随机测试,ALAC,是Act-like-a-customer(象客户那样做)的简写,ALAC测试方法是一种基于客户使用产品的知识开发出来的测试方法,它的出发点是著名的Pareto 80/20规律,3.1.2 错误猜测法,错误推
4、测法是测试者根据经验、知识和直觉来发现软件错误,来推测程序中可能存在的各种错误,从而有针对性的进行测试。,发现程序经常出现的错误的方法:单元测试中发现的模块错误;产品的以前版本曾经发现的错误;输入数据为0或字符为空;当软件要求输入时(比如在文本框中),不是没有输入正确的信息,而是根本没有输入任何内容,单单按了Enter键; ,3.2 基于输入域的测试方法,3.2.1 等价类划分法3.2.2 边界值分析法,3.2.1 等价类划分方法,等价类是某个输入域的子集,在该子集中每个输入数据的作用是等效的.将输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例分为有效等价类和无效等价类。在分
5、析需求规格说明的基础上划分等价类,列出等价类表,设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受异常数据的考验。经过正反的测试才能确保软件具有更高的可靠性。,确定等价类的方法,在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类,value,在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类,确定等价类的方法(2),not member of set,member of set,Boolean,Non-Bo
6、olean,确定等价类的方式 (3),在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。,有什么具体案例?,等价类测试用例-Example,等价类1: Integer等价类2: Decimal fraction等价类3: Negative等价类4: Invalid input,根据等价类创建测试用例的步骤,建立等价类表,列出所有划分出的等价类:为每个等价类规定一个唯一的编号;设计一个新的测试用例,使其尽可能多地覆盖
7、尚未覆盖的有效等价类重复c),最后使得所有有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。重复e)使所有无效等价类均被覆盖。,3.2.2 边界值分析方法,很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以更有效地发现缺陷。BVA Boundary Value Analysis设计方法:确定边界情况(输入或输出等价类的边界)选取正好等于、刚刚大于或小于边界值作为测试数据,确定边界值的方法,如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。如果输入条件规定了值的个数,则用最大个数、最小个
8、数、比最小个数少一、比最大个数多一的数作为测试数据。,确定边界值的方法(2),如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。,Test cases for ABS(x) :class x = 0, arbitrary value x = 100classes x = 0, on boundary :x = 0classes x = 0, below and above:x = -1, x = 1,正常值(有效类): X1 = 123123边界值: X2
9、= 12345边界值: X3 = 1234567边界值: X4 = 1边界值: X5 = 0无效类的值: X6 = -123123无效类的值: X7 = asdasd其它?,BVA 示例2,测试 限制性用户输入:6位正整数,无效值: X8 = 000123,X9 = asd123 X10 = Empty,BVA 示例3,Test cases :任意的正常值: 随机选择几个选项 边界值: 选择所有选项 边界值: 一个都不选边界值: 选择一个选项,二进制,0 和 1, byte 由8 bits 构成, 字由4 bytes构成, ,ASCII Table,字符编辑域,DefaultEmptyBlan
10、kNullZeroNone,一些特殊的边界值,数值字符位置数量速度位置体积,First/last, First-1/Last+1Min/Max,Min-1/max+1Star/Finish, Start-1/Finish+1Empty/FullLess than empty/ more than fullSlower/FasterLargest/SmallestOver/Under, just Over/Just UnderShortest/Longest ,有什么具体案例?,3.3 基于组合技术和组合优化的方法,3.3.1 判定表/决策表方法3.3.2 因果图3.3.3 两两组合方法3.3.
11、4 正交实验法,3.3.1 判定表方法,在实际应用中,许多输入是由多个因素构成,而不是单一因素,这时就需要多因素组合分析。对于多因素,有时可以直接对输入条件进行组合设计,不需要进行因果分析,即直接采用判定表方法。判定表由“条件和活动”两部分组成,即列出一个测试活动执行所需的条件组合,所有可能的条件组合定义了一系列的选择,而测试活动需要考虑每一个选择。,判定表元素,条件桩,列出问题的所有条件动作桩:列出可能针对问题所采取的操作条件项:针对所列条件的具体赋值动作项:列出在条件项(各种取值)组合情况下应该采取的动作。规则:任何一个条件组合的特定取值及其相应要执行的操作。,判定表方法步骤,列出条件桩列
12、出动作桩填入条件项及其组合填入动作项,制定初始判定表;简化、合并相似规则或者相同动作,条件桩,动作桩,规则,判定表 示例1,判定表示例2,3.3.2 因果图法,多种输入条件的组合,产生多种结果设计测试用例。设计方法:分析软件规格说明文档描述的哪些是原因(输入条件),哪些是结果(输出条件),给每个原因和结果赋予一个标示符。找出原因与结果,原因与原因之间的对应关系,划出因果图在因果图上标上哪些不可能发生的因果关系,表明约束或限制条件根据因果图,创建判定表,将复杂的逻辑关系和多种条件组合很具体明确的表示出来把判定表的每一行作为依据设计测试用例。,恒等-关系:果 j 取决于因 i。因出现,则果也出现。
13、非-关系:只有当因 i 不存在时,果 j 才出现。,因果图的基本符合,或-关系:如果因 i1 或因 i2 或因 in 存在时,结果 j 才出现。与-关系:只有当因 i1 与因 i2 与因 in 同时存在时,结果 j 才出现。,因果图法示例(1),有效等价类:输入条件有效类 .abs(N) N 0, N 0maxint k maxint, k maxint测试用例:maxintNresult maxintNresult55105510000 5410error100-11 56105510011 000,给定maxint 和 N ,如果结果 = maxint ,则按以下公式计算;否则提示出错:,
14、result =,Causes k maxint 1100Inputs k maxint 0011N 01010N 00101Effects k1100Outputserror0011,因果图法示例(2),Case Matrix:,因果图法示例(3),3.3.3 两两组合(Pairwise)方法,http:/www.pairwise.org/tools.asp,大部分缺陷是在两个变量取值冲突的测试时被发现的 不仅仅是在所有的组合情况下才会发现所有的测试缺陷 这个是“Pairwise Testing”基本原理,不要测试所有的组合,测试所有的“Pairwise ”即可,Pairwise测试工具,h
15、ttp:/www.pairwise.org/tools.asp,3.3.4 正交实验法,确定影响功能的因子与状态选择一个合适的正交表利用正交表构造测试数据集,参考http:/www.math.hkbu.edu.hk/UniformDesignhttp:/,为什么使用正交试验法?,打印范围分:全部、当前幻灯片、给定范围打印内容分:幻灯片、讲义、备注页、大纲视图打印颜色/灰度分: 彩色、灰度、黑白打印效果分:幻灯片加框和幻灯片不加框。,在许多应用系统的测试工作中,不会象判断三角形那样简单,输入条件的因素很多,而且每个因素也不能简单用“是”和“否”来回答。比如,微软Powerpoint程序的打印测试
16、,也需要考虑4个因素,每个因素也有多个选项,测试组合会变得很多,如果按照传统的测试方法,会导致很大的测试工作量,正交实验设计方法,依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(条件组合),从而合理地安排实验(测试)的一种科学实验设计方法,实例,员工号(ID)。员工姓名(Name)。员工邮件地址(Mail Address),信息系统中,员工信息查询功能是常见的。例如,设有3个独立的查询条件,以获得特定员工的个人信息,小结,黑盒方法,静态,动态,其它,错误推测法,3.4 基于逻辑覆盖的方法,3.4.1 语句覆盖3.4.2 判定覆盖3.4.3 条件覆盖3.4.4 判
17、定条件覆盖3.4.5 条件组合覆盖3.4.6 基本路径测试法,逻辑覆盖 vs. 路径覆盖,逻辑覆盖:以程序或系统的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等基本路径测试:在程序或业务控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。,代码:语句覆盖,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次如果是顺序结构,就是让测试从头执行到尾如果有分支、条件和循环,需要利用下面的方法,执行足够的测试覆盖全部语句,程序源代码1.dim a, b as integerdim c as doubl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ch03 软件测试方法 软件测试方法和技术课件 软件 测试 方法 技术 课件

链接地址:https://www.31ppt.com/p-1827795.html