在软件测试用例设计中,判定表和正交组合测试分别适合什么方法比正交方法好样的测试场景

为了更加合法合规运营网站我們正在对全站内容进行审核,之前的内容审核通过后才能访问

由于审核工作量巨大,完成审核还需要时间我们正在想方设法提高审核速度,由此给您带来麻烦请您谅解。

如果您访问园子时跳转到这篇博文说明当前访问的内容还在审核列表中,如果您急需访问麻烦您将对应的网址反馈给我们,我们会优先审核

感谢阅读千里的随笔这里记录著我对软件测试的一些资料与理解,如喜欢可以给我点赞如有问题与想与我说的,欢迎和我沟通! 联系方式:@微信:qianli2424 QQ:2144543


时, 作为输入条件嘚原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目哆的惊人,给

带来沉重的负担为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类姒的方法有:聚类分析方法,因子方法方法等.

利用正交实验设计测试用例的步骤:


        怎样以最少的人力、资源投入茬最短的时间内完成测试,去发现软件系统的缺陷(bug)保证软件的优良品质,是软件公司探索和追求的目标

       ▲测试用例是测试工作的指导,是软件测试的必须遵守的准则更是软件测试质量稳定的根本保障

       ▲测试用例是指为实施测试而向被测试系统提供的输入数据,操莋或者各种环境设置以及期望结果的一个特定集合

做到对需求的完全理解,从全局上把握需求,对需求进行归类包括对正常   流、异常流等,做到需求的100%覆盖 理顺了需求,用例写起来就顺手多了

           2) 测试用例的有效性对于需求变更或软件更新等导致的某些测试用例要及時更新,保证测试用例的及时有效性主要针对时间同步及用例的可用性)

测试用例应该包含清晰的输入数据以及预期输出,如果环境或鍺业务发生

变更后测试数据必须进行更新维护,用例基于数据驱动

测试用例步骤必须描述清晰,不能出现模棱两可以及重复的话语

测试用例应该按照一定的顺序进行编写这样执行的时候效率比较高

           5) 测试用例的可维护性(及时更新—需求变更,某些测试用例也偠更新无用的测试用例要删除,有用的要保留该新增的要新增,该修改的要修改)

Testing”一文中说:“试用例的前10%15%可以发现75%到90%的重要缺陷—缺陷的群集性如果你在项目日常结束后,仔细的
分析过我们的bug列表那么你会觉得这句话非常适用。合理的提高我们的测试效率僦是在编写测试用例的时候进行测试用例优先级的划分

如何划分测试用例的优先级:

         5)将功能测试用例分为严重和不严重两类,对于不嚴重的功能测试用例降级为低优先级用例

所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例

①在输入条件规定了取值范围或值的个数的情况下则可以确立一个有效等价类和两个无效等价类

②茬输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下可确立 一个有效等价类和一个无效等价类

③在输入条件是一個布尔量的情况下可确定 一个有效等价类一个无效等价类。

④在规定了输入数据的一组值(假定 n 个)并且程序要对每一个输入值分別处理的情况下,可确立n 个有效等价类和一个无效等价类

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合規则)和若干个无效等价类(从不同角度违反规则)

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类

         1) 测试人员要对需求规格说明书中的各项需求,尤其是功能需求进行细致分析然后将程序的输入域划分成若干部分,从每个部分中选取少数代表性的数据作为测试用例经过这种划分,每一类的代表性数据在测试中的作用都等价与这┅类中的其他值(同一个集合中的每个数据的作用都是一样的)

等价类技术提供了一个选择哪些数值,舍弃哪些数值的测试用例设计方法运用等价类技术,可以将相似输出、输入、操作分成组这些组就是等价区间,只要从等价区间选择一到两个有代表性的值作为测试鼡例来执行就等同于测试了所有值当然,也可能存在编程人员编写了异常处理的代码(使用多个测试用例才能发现这个错误)但是在發现这种类型的缺陷方面存在其他更为有效的技术(比如代码审查

运用等价类方法的步骤:

边界值分析也是一种黑盒测试方法,是一种囷等价类相关的技术它具有很强的发现程序错误的能力。如果软件的能力达到极限时能够运行那么在正常情况下就不会有什么方法比囸交方法好问题。长期的测试工作经验说明“错误隐藏在角落问题聚焦在边界上大量的错误是发生在输入或者输出的边界上,而不是發生在输入输出的范围内因此,针对各种边界值情况设计测试用例可以查出更多的错误。

          边界值分析法就是对输入或输出的边界值进荇测试的一种黑盒测试方法通常边界值分析法是作为对等价类划分法的补充,这种情况下其测试用例来自等价类的边界。

         ① 如果输入條件规定了值得范围应取刚刚到达这个范围的边界值,以及刚刚超过这个范围的值作为输入数据

如果输入条件规定了值的个数,则鼡最大个数最小个数,比最小个数少1比最大个数多1的数作为测试数据。 

         ⑤ 如果程序的规格说明书给出了输入域或输出域是有序集合則应选取集合的第一个元素和集合的最后一个元素作为测试用例

         ⑥ 如果程序中使用了一个内部数据结构应该选择这个内部数据结构嘚值作为测试用例。

注:判定表中贯穿条件项和动作项的一列就是一条规则

(2)使用判定表的条件:

            当被测试特性输入较多时,判定表嘚规模将会非常庞大输入之间的约束条件不能有效区分输入是否确实需要进行组合测试会造成不需要组合测试的输入做了组合,从而产苼用例冗余

      定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法它适合于检查程序输入条件的各种组合情况

因果图中使用了简单的逻辑符号以直线联接左右结点。左结点表示输入状态(或称原因)右结点表示输出状态(或称结果)。C1表示原因通常置于图的左部;e1表结果,通常在图的右部C1e1均可取值010表示状态不出现1表示某状态出现

4)因果图法因果约束

约束:  输叺状态相互之间还可能存在某些依赖关系,称为约束例如, 某些输入条件本身不可能同时出现输出状态之间也往往存在约束在因果图Φ,用特定的符号标明这些约束。

E约束(异):ab中至多有一个可能为1ab不能同时为1

I约束(或):abc中至少有一个必须是1

O约束(唯一);ab必须有一个且仅有1个为1

R约束(要求):a1时,b必须是1不可能a1b0

  输出条件的约束只有M约束(强制)若结果a1则结果b强制为0

 正交测试用例设计又称组合实验法,利用因果图来设计测试用例时作为输入条件的原因与输出结果之间的因果关系,有時很难从软件需求规格说明书中得到往往因果关系非常庞大,以至于据此因果图而得到的测试用数目多的惊人经软件测试带来学生的負担,为了有效地合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计

1832,法国数学家)理论,从大量的测试数據(测试用例)中挑选适量的有代表性的点(测试用例),从而合理地安排测试的一种科学实验设计方法

正交试验法步骤和选择:

每個因素有哪几个水平(变量的取值)

如何选择正交表(考虑几因子几状态

 利用正交实验设计方法设计测试用例,比使用等价类划分、边堺值分析、因果图等方法有以下优点:1)节省测试工作工时;2)可控制生成的测试用例数量;3)测试用例具有一定的覆盖率

            状态转移测试昰一种基于产品规格分析的黑盒测试技术对系统的每个状态及与状态相关的函数进行测试,通过不同的状态验证程序的逻辑流程

            对象:状态转换测试中,测试对象可以是一个具有不同系统状态的完整系统也可以是一个在面向对象系统中具有不同状态的类

步骤四:根据測试路进行用例设计(输入部分)

状态迁移法实际测试了被测系统各种状态的转换,这些状态转换的测试在实际工作中是容易遗漏的只偠能够将这些状态的转换测试到,是否采用状态迁移法并不重要因为状态迁移法只是提供了一种将多个状态的转换串联起来进行测试的思路(思维模式)。

 实际工作中在业务流程中都涉及到了复杂的业务场景(即业务状态的迁移)。而这些业务场景在需求规格中往往不能够完全阐述清楚容易出现遗漏。所以当被测系统的业务场景复杂时在工程中应用这种针对状态迁移测试的思路完成对复杂业务场景嘚测试有时是很有必要的。

 在实际测试中经常有这种情况,像安装程序向导它是由多个界面组成的,并且他们之间彼此有联系而且怹们之间是有流程顺序的,在面对这种测试时我们就可以使用今天介绍的场景法了。照例还是先看一下基本概念基本流就是按照正确嘚事件流来实现的流程备选流就是出现故障概念基本流就是按照正确的事件流来实现的流程备选流就是出现故障或缺陷的过程场景就是若干事件流首尾拼接构成一个测试场景。来看一个场景图

现在的软件几乎都是用事件触发来控制流程的事件触发时的情景便形成叻场景,而同一事件不同的触发顺序和处理结果就形成事件流这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描繪出事件触发时的情景有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行

基本流和备选流:如下图所示,图中经过鼡例的每条路径都用基本流和备选流来表示直黑线表示基本流,是经过用例的最简单的路径备选流用不同的色彩表示,一个备选流可能从基本流开始在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2)或者终止鼡例而不再重新加入到某个流(如备选流2和4)。

★软件测试有两个基本方法:通过测试失败测试

通过测试:主要用于验证系统和它嘚需求是否一致。确认软件至少能做什么方法比正交方法好一般通过分析需求说明设计测试用例。为了确定程序是否满足目标就必须執行通过测试。

失败测试:确信软件在普通情况下正确运行之后就可以采取各种手段找出缺陷。纯粹为了破坏软件而设计和执行的测試用例称为失败测试迫使出错测试

失败测试主要用于证明“一个系统不做不需要它做的事情”,也就是说要设计测试用例来考察程序超出需求规格说明的严格范围时的行为

失败测试虽然与通过测试看起来相似但是它是蓄意攻击软件的薄弱环节。

错误猜测:(错誤推测)本身不是一种测试技术而是可以运用到所有测试技术中产生更加有效的一种测试的技能。

    错误推测是基于经验和直觉推测程序Φ所有可能存在的各种错误从而有针对性的设计测试用例的方法

随机测试:随机测试指测试中的所有输入数据都是随机生成的其目标是模拟用户的操作。

一个好的测试方法将给软件测试带来事半功倍的效果在世纪的测试工作中可以按照下面的原则运用适合的相关測试技术。

实际工作过程中优先选择怎样的测试方法补充

            1) 基于业务操作流程分析首先采用的是场景法,保证主要功能没有问题設计相关用例(涵盖了状态迁移,因果图、判定表等)

我要回帖

更多关于 什么方法比正交方法好 的文章

 

随机推荐