版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1软件功能测试的定义功能测试可以在单元测试中实施.也可以在集成测试、系统测试中进行.软件功能是最基本的.需要在各个层次保证功能执行的正确性.因此功能测试就是对产品的各功能进行验证.根据测试用例.逐项测试.检查产品是否达到用户要求的功能.功能测试(functionaltesting).也称为行为测试(behavioraltesting).即根据产品特性、操作描述和用户方案.测试一个产品的特性和可操作行为以确定它们满足设计需求.本地化软件的功能测试.用于验证应用程序或网站对目标用户能否正确工作.使用适当的平台、浏览器和测试脚本.以保证目标用户的体验足够好.就像应用程序是专门为该市场开发的一样.下一页返回5.1软件功能测试的定义
功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试.即对一个系统的所有特性和功能都进行测试以确保符合需求和规范.功能测试也叫黑盒测试.只需考虑需要测试的各个功能.不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发.按照需求编写测试用例.对输入数据在预期结果和实际结果之间进行评测.进而提出使产品更加符合用户使用要求的建议.上一页下一页返回5.1软件功能测试的定义
黑盒测试注重测试软件的功能性需求.也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件.黑盒测试并不是白盒测试的替代品.而是用于辅助白盒测试发现其他类型的错误.黑盒测试方法有:等价类划分法、边界值分析法、决策表法、因果图法、场景法和错误推测法.上一页返回5.2黑盒测试方法———等价类划分法5.2.1等价类划分法等价类划分法是把所有可能的输入数据.即程序的输入域划分成若干部分(子集).然后从每个子集中选取少量具有代表性的数据作为测试用例.由于实现穷举测试的不可能性.只有从大量的可能数据中选取一部分作为测试用例.其效果就是经过类别划分后.每一类的代表性数据在测试中的作用都等价于这一类数据中的其他值.实现的手段就是在设计测试用例时.在需求说明的基础上划分等价类.列出等价表.从而确定测试用例.下一页返回5.2黑盒测试方法———等价类划分法一般等价类分为有效等价类和无效等价类.有效等价类是对规格说明而言.有意义、合理的输入数据所组成的集合.检验程序是否实现了规格说明预先规定的功能和性能.无效等价类是对规格说明而言.无意义的、不合理的输入数据所组成的集合.检验被测对象的功能和性能的实现是否有不符合规格说明要求的地方.首先从程序的规格说明书中找出各个输入条件.再为每个输入条件划分两个或多个等价类.形成若干互不相交的子集.划分等价类的步骤如下:(1)考虑输入数据的类型(合法型和非法型).(2)考虑数据范围(合法型中的合法区间和非法区间).上一页下一页返回5.2黑盒测试方法———等价类划分法(3)画出示意图.区分等价类.(4)为每个等价类编号.(5)考虑输出.进行补充.5.2.2等价类的划分原则(1)按照区间划分———在输入条件规定了取值范围或值的个数的情况下.可以确定一个有效等价类和两个无效等价类.(2)按照数值划分———在规定了一组输入数据(假设包括n个输入值).并且程序要对每个输入值分别进行处理的情况下.可确定n个有效等价类(每个值确定一个有效等价类)和一个无效等价类(所有不允许的输入值的集合).上一页下一页返回5.2黑盒测试方法———等价类划分法(3)按照数值集合划分———在输入条件规定了输入值的集合或规定了“必须如何”的条件下.可以确定一个有效等价类和一个无效等价类(该集合有效值之外).(4)按照限制条件或规则划分———在规定了输入数据必须遵守的规则或限制条件的情况下.可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).(5)细分等价类———在确知已划分的等价类中各元素在程序中的处理方式不同的情况下.则应再将该等价类进一步划分为更小的等价类.并建立等价类表.上一页下一页返回5.2黑盒测试方法———等价类划分法用等价类划分法设计测试用例的步骤如下:(1)确定等价类.(2)建立等价类表.列出所有划分出的等价类.(3)从划分出的等价类中按以下的3个原则设计测试用例:①为每个等价类规定一个唯一的编号.②设计一个新的测试用例.使其尽可能多地覆盖尚未被覆盖的有效等价类.重复这一步.直到所有的有效等价类都被覆盖为止.③设计一个新的测试用例.使其仅覆盖一个尚未被覆盖的无效等价类.重复这一步.直到所有无效等价类都被覆盖为止.针对是否对无效数据进行测试.可以将等价类测试分为两种:标准等价类测试(也称一般等价类测试)、健壮等价类测试.上一页下一页返回5.2黑盒测试方法———等价类划分法(1)标准(一般)等价类测试:标准(一般)等价类测试不考虑无效数据值.测试用例使用每个等价类中的一个值.通常标准等价类测试用例的数量和最大等价类中元素的数目相等.(2)健壮等价类测试:健壮等价类测试考虑了无效等价类.对于有效输入.测试用例从每个有效等价类中取一个值.对于无效输入.一个测试用例有一个无效值.其他值均取有效值.一般情况下会存在一些问题.如规格说明往往没有定义无效测试用例的期望输出.因此需要定义这些测试用例的期望输出.对强类型语言没有必要考虑无效的输入.上一页返回5.3黑盒测试方法———边界值分析法5.3.1边界值分析法边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法作为对等价类划分法的补充.在这种情况下.其测试用例来自等价类的边界.为什么使用边界值分析法?无数的测试实践表明.大量的故障往往发生在输入定义域或输出值域的边界.而不是在其内部.因此.针对各种边界情况设计测试用例.通常会取得很好的测试效果.例如.一个循环条件为“≤”时.却错写成“<”.计数器发生少计数一次的错误.下一页返回5.3黑盒测试方法———边界值分析法基于可靠性理论中称为“单故障”的假设.两个或两个以上故障同时出现而导致软件失效的情况很少.也就是说软件失效基本上是由单故障引起的.怎样用边界值分析法设计测试用例?首先确定边界情况.通常输入或输出等价类的边界就是应该着重测试的边界情况.选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据.而不是选取等价类中的典型值或任意值.上一页下一页返回5.3黑盒测试方法———边界值分析法5.3.2边界值分析法的原则(1)如果输入条件规定了值的范围.则应取刚达到这个范围边界的值.以及刚刚超越这个范围边界的值作为测试输入数据.例如.如果程序的规格说明中规定:“重量在10千克至50千克范围内的邮件.其邮费计算公式为……”.作为测试用例.应取10及50.还应取10.01、49.99、999及50�.01(2)如果输入条件规定了值的个数.则用最大个数.最小个数.比最小个数少1、比最大个数多1的数作为测试数上一页下一页返回5.3黑盒测试方法———边界值分析法比如.一个输入文件应包括1~255个记录.则测试用例可取1和255.还应取0及256等.(3)将规则(1)和(2)应用于输出条件.即设计测试用例使输出值达到边界值及其左、右的值.例如.某程序的规格说明要求计算出“每月保险金扣除额为0~1165.25元”.其测试用例可取0.00及1165.24、还可取0.01及1165.26等.再如一程序属于情报检索系统.要求每次“最少显示1条.最多显示4条情报摘要”.这时应考虑的测试用例包括1和4.还应包括0和5等.上一页下一页返回5.3黑盒测试方法———边界值分析法(4)如果程序的规格说明给出的输入域或输出域是有序集合.则应选取集合的第一个元素和最后一个元素作为测试用例.(5)如果程序中使用了一个内部数据结构.则应当选择这个内部数据结构的边界上的值作为测试用例.(6)分析规格说明.找出其他可能的边界条件.上一页返回5.4黑盒测试方法———决策表法决策表是分析和表达多逻辑条件下执行不同操作情况的工具.它能够将复杂的问题按照各种可能的情况全部列举出来.简明并避免遗漏.因此.利用决策表能够设计出完整的测试用例集合.决策表法是最为严格、最具逻辑性的测试方法.决策表通常由以下4部分组成:条件桩———列出问题的所有条件.条件项———针对条件桩给出的条件列出所有可能的取值.动作桩———列出问题规定的可能采取的操作.动作项———指出在条件项的各组取值情况下应采取的动作.适合使用决策表设计测试用例的情况主要有以下几种:(1)规格说明以决策表的形式给出.或较容易转换为决策表.(2)条件的排列顺序不会也不应影响执行的操作.下一页返回5.4黑盒测试方法———决策表法(3)规则的排列顺序不会也不应影响执行的操作.(4)当某一规则的条件已经满足.并确定要执行的操作后.不必检验别的规则.如果某一规则的条件要执行多个操作任务.这些操作的执行顺序无关紧要.构造决策表的步骤如下:(1)确定规则的个数.有n个条件的决策表有2n个规则(每个条件取真、假值).(2)列出所有的条件桩和动作桩.(3)填入条件项.上一页下一页返回5.4黑盒测试方法———决策表法(4)填入动作项.得到初始决策表.(5)简化决策表.合并相似规则.决策表最突出的优点是.能够将复杂的问题按照各种可能的情况全部列举出来.简明并避免遗漏.利用决策表能够设计出完整的测试用例集合.运用决策表设计测试用例可以将条件理解为输入.将动作理解为输出.上一页返回5.5黑盒测试方法———因果图法等价类划法和边界值分析法都着重考虑输入条件.但没有考虑输入条件的各种组合、输入条件之间的相互制约关系.这样虽然各种输入条件可能出错的情况已经测试到了.但多个输入条件组合起来可能出错的情况却被忽视了.可以从程序规格说明书的描述中.找出因(输入条件)和果(输出结果或者程序状态的改变).然后通过因果图转换为判定表.最后为判定表中的每一列设计一个测试用例.这就是用因果图法设计测试用例的思想.因果图法是一种利用图解法分析输入的各种组合情况.从而设计测试用例的方法.它适合检查程序输入条件的各种组合情况.下一页返回5.5黑盒测试方法———因果图法
图5-1、图5-2所示是因果图中出现的几种基本符号:通常在因果图中用ci表示原因.用ei表示结果.各结点表示状态.可取值“0”或“1”.“0”表示某状态不出现.“1”表示某状态出现.在实际问题中当输入状态相互之间还存在某些依赖关系时.称为“约束”.如图5-3所示.(1)约束(异):a和b中最多有一个可能为1.即a和b不能同时为1.如图5-3(a)所示.(2)约束(或):a、b、c中至少有一个必须是1.即a、b、c不能同时为0.如图5-3(b)所示.上一页下一页返回5.5黑盒测试方法———因果图法
(3)约束(唯一):a和b必须有一个且仅有一个为1.如图5-3(c)所示.(4)约束(要求):a是1时.b必须是1.如图5-3(d)所示.(5)约束(强制):若结果a是1.则结果b强制为0.如图5-3(e)所示.用因果图法设计测试用例的步骤如下:(1)分析程序规格说明书描述的语义内容.找出“原因”和“结果”.将其表示成连接各个原因与各个结果的“因果图”.上一页下一页返回5.5黑盒测试方法———因果图法
(2)由于语法或环境限制.有些原因与原因之间或与结果之间的组合情况不能出现.用记号标明约束或限制条件.(3)将因果图转换成决策表.(4)根据决策表中的每一列设计测试用例.上一页返回5.6黑盒测试方法———场景法现在的软件几乎都是用事件触发来控制流程的.如GUI软件、游戏软件等.事件触发时的情景形成了场景.而同一事件的不同触发顺序和处理结果就形成了事件流.这种在软件设计方面的思想引入软件测试中.可以生动地描绘出事件触发时的情景.有利于设计测试用例.同时使测试用例更容易理解和执行.这就是场景法.场景法会涉及基本流和备选流两个概念.(1)基本流:在测试一个软件的时候.在场景法中.测试流程是软件功能按照正确的事件流实现的一条正确流程.把其称为该软件的基本流.(2)备选流:出现故障或缺陷的过程.就用备选流加以标注.这样.备选流就可以是从基本流来的.或由备选流中引出的.下一页返回5.6黑盒测试方法———场景法图5-4中经过用例的每条路径都用基本流和备选流来表示.直黑线表示基本流.是经过用例的最简单的路径.备选流用不同的色彩表示.一个备选流可能从基本流开始.在某个特定条件下执行.然后重新加入基本流中(如备选流1和3).也可能起源于另一个备选流(如备选流2).或者终止用例而不再重新加入到某个流(如备选流2和4):场景1———基本流场景2———基本流、备选流1.场景3———基本流、备选流1、备选流2.场景4———基本流、备选流3.场景5———基本流、备选流3、备选流1.上一页下一页返回5.6黑盒测试方法———场景法场景6———基本流、备选流3、备选流1、备选流2.场景7———基本流、备选流4.场景8———基本流、备选流3、备选流4.用场景法设计测试用例的步骤如下:(1)根据说明.描述出程序的基本流及各项备选流.(2)根据基本流和各项备选流生成不同的场景.(3)对每一个场景生成相应的测试用例.(4)对生成的所有测试用例重新复审.去掉多余的测试用例.测试用例确定后.对每一个测试用例确定测试数据值.上一页返回5.7黑盒测试方法———错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误.从而有针对性地设计测试用例的方法.其基本思想是列举出程序中所有可能有的错误和容易发生错误的特殊情况.根据它们选择测试用例.例如.输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行的情况.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.再来看一个例子:对于成绩报告的程序.采用错误推测法还可补充设计一些测试用例:①程序是否把空格作为回答.②在回答记录中混有标准答案记录.③除了标题记录外.还有一些的记录最后一个字符既不是2.也不是3.④有两个学生的学号相同.⑤试题数是负数.下一页返回5.7黑盒测试方法———错误推测法另一个例子:测试一个对线性表(比如数组)进行排序的程序.可推测列出以下几项需要特别测试的情况:①输入的线性表为空表.②表中只含有一个元素.③输入表中的所有元素已排好序.④输入表已按逆序排好.⑤输入表中的部分或全部元素相同.上一页返回5.8白盒测试白盒测试是一种典型的测试方法.是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的测试方法.它基于一个应用代码的内部逻辑知识.测试覆盖全部代码、分支、路径和条件.它利用查看代码功能和实现方式得到的信息来确定哪些需要测试、哪些不需要测试、如何展开测试.逻辑覆盖是以程序内部的逻辑结构为基础设计测试用例的技术.逻辑覆盖通过对程序逻辑结构的遍历实现程序的覆盖.它是一系列测试过程的总称.从覆盖源程序的各个方面考虑.大致可以分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖.接下来以图5-5为例详细介绍.下一页返回5.8白盒测试
1.语句覆盖语句覆盖是一种最起码的测试要求.它要求设计的用例使程序中每条语句都至少被执行一次.因此对于图5-5所示的例子来说.在语句覆盖中.只需要选择输入数据为A=2.B=0.X=3.就可以达到语句覆盖.从本例可看出.语句覆盖所覆盖的路径其实是不完全的.如果第一个条件语句中的AND错误地编写成OR.上面的测试用例是不能发现这个错误的.又如第三个条件语句中X>1误写成X>0.这个测试用例也不能暴露它.此外.沿着路径abd执行时.X的值应该保持不变.如果这一方面有错误.上述测试数据也不能发现它们.上一页下一页返回5.8白盒测试
2.判定覆盖(分支覆盖)判定覆盖又称为分支覆盖.它要求执行足够的测试用例.使程序中的每一个分支至少都通过一次.在针对判断语句设定案例的时候.要设定“真”和“假”两种案例.判定覆盖与语句覆盖的不同是增加了“假”的情况.对于本例来说.需要设计两个例子.使它们能通过路径ace和abd.或者通过路径acd和abe.就可达到判定覆盖标准.例如想要通过路径为acd和abe.可以选择输入数据为:(1)A=3.B=0.X=1(沿路径acd执行).(2)A=2.B=1.X=3(沿路径abe执行).上一页下一页返回5.8白盒测试
除了双分支语句之外.像C语言中的case语句中还存在多分支语句.因此必须覆盖所有的语句.但是在刚刚的例子中.没有坚持到abd路径执行时X值是否有变化.因此.判定覆盖虽然比语句覆盖强.但是对程序逻辑的覆盖程度仍然不够全面.3.条件覆盖条件覆盖的含义是指:选择足够的测试用例.运行这些测试案例后.要使每个判定中每个条件的可能取值至少满足一次.但未必能覆盖全部分支.判定覆盖往往包含若干个条件.上一页下一页返回5.8白盒测试
例如在图5-5所示的程序中.判定(A>1)AND(B=0)包含了两个条件:A>1以及B=0.所以可引进一个更强的覆盖标准———条件覆盖.图5-5所示的程序有4个条件:A>1.B=0.A=2.X>1.为了达到条件覆盖标准.需要执行足够的测试用例.使得在a点有A>1、A≤1、B=0、B≠0等各种结果出现.以及在b点有A=2、A≠2、X>1、X≤1等各种结果出现.上一页下一页返回5.8白盒测试
现在只需设计以下两个测试用例就可满足这一标准:(1)A=2.B=0.X=4(沿路径ace执行)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乒乓球比赛方案
- ESP8266智能家居插座在高中生物实验室的应用与教学设计教学研究课题报告
- 2026年无人机物流配送报告及未来五至十年快递效率报告
- 湖北2025年湖北建始县自然资源和规划局所属事业单位选聘4人笔试历年参考题库附带答案详解
- 宁波浙江宁波慈溪市机关后勤服务中心(机关公务用车服务中心)招聘笔试历年参考题库附带答案详解
- 南京2025年中共南京市委党校(南京市行政学院南京雨花台干部学院)招聘高层次人才5人笔试历年参考题库附带答案详解
- 2026年及未来5年中国智能制造装备行业市场深度分析及发展前景预测报告
- 2026年及未来5年中国扫地机制造行业市场调研分析及投资战略咨询报告
- 2026天津市和平区妇产科医院招聘派遣制2人笔试备考题库及答案解析
- 2026年及未来5年中国电视植入广告行业发展监测及投资战略咨询报告
- 赤石特大桥施工安全风险评估报告
- 九宫数独200题(附答案全)
- QBT 2770-2006 羽毛球拍行业标准
- 部编版八年级上册语文《期末考试卷》及答案
- 售后服务流程管理手册
- 2020-2021学年新概念英语第二册-Lesson14-同步习题(含答案)
- 地下车库建筑结构设计土木工程毕业设计
- GB/T 2261.4-2003个人基本信息分类与代码第4部分:从业状况(个人身份)代码
- PDM结构设计操作指南v1
- 投资学-课件(全)
- 猕猴桃优质栽培关键技术课件
评论
0/150
提交评论