美文网首页测试
测试用例设计技术

测试用例设计技术

作者: 每天进步一点点变成更好的自己 | 来源:发表于2021-05-23 09:21 被阅读0次

1.基于规格说明的技术(黑盒)

1.1.术语

边界值分析、决策表测试、等价类划分、状态转换测试、用例测试

1.2.等价类划分

等价类划分方法:是将所有可能的输入数据划分成若干个子集,在每个子集中,如果任意一个输入数据对于揭露程序中潜在错误都具有同等效果,那么这样的子集就构成了一个等价类。


等价类划分
  • 可以将软件或系统的输入分成不同的组,对于同一个组的输入,软件或系统应有相似的表现行为,就好像系统是以相同的方式对这些输入值进行处理。
  • 等价类划分(或等价类)可以分为两种类型的数据:有效数据(即应该被系统接受的数据)和无效数据(即应该被系统拒绝的数据)。
  • 等价类划分也可以基于输出、内部值、时间相关的值(例如在事件之前或之后)以及接口参数(在集成测试阶段)等进行。可以设计测试用例来覆盖所有有效和无效等价类。等价类划分可以应用在所有测试级别上。
  • 通过应用等价类划分技术,能够实现输入覆盖和输出覆盖。它同样适用于人为的输入、通过系统接口的输入以及集成测试中的接口参数。

等价类划分可以参考网址:https://zhuanlan.zhihu.com/p/112810758

1.3.边界值分析

边界值分析方法:是选取输入、输出的边界值进行测试。比如正好等于、刚刚大于、刚刚小于边界的值作为测试数据。


边界值取值范围

在各等价类划分的边界通过更可能出现不正确的行为,因此边界就是测试比较可能发现缺陷的区域。

  • 每个划分的最大和最小值就是它的边界值。
  • 有效部分的边界就是有效边界值,无效部分的边界值就是无效边界值。
  • 测试的设计应当既覆盖有效边界值又覆盖无效边界值。在设计测试用例时,应该将每个边界值包含在测试用例中。
  • 边界值分析可以应用于所有的测试级别。这种方法的应用相对简单,发现缺陷的能力也比较高,同时,详细的规格说明对边界值分析很有帮助。
  • 边界值分析技术通常被认为是等价类划分技术或其他黑盒测试设计技术的一种扩展。它可以应用在用户从屏幕输入的等价类中,也可以应用在如时间段的范围(如超时,对事务处理速度的需求)或表的边界(如表大小Wie256*256)等方面。

边界值分析参考文章:https://zhuanlan.zhihu.com/p/121133074

1.4.决策表测试

决策表

决策表是一种很好的方法,它可以识别含有逻辑条件的系统需求,还可以将内部系统设计文档化。这种方法可以用来记录一个系统要实施的复杂的业务规则。

  • 建立决策表时,要分析规格说明,并识别系统的条件和动作。输入条件和动作通常以“真”或“假”(布尔变量)的方式进行表述。
  • 决策表包含了触发条件,通常还有各种输入条件真或假的组合以及各条件组合相应的输出动作。
  • 决策表的每一列对应了一个业务规则,该规则定义了各种条件的一个特定组合,以及这个规则相关联的执行动作。
  • 决策表测试的常见覆盖标准是每列至少对应一个测试,该测试通常覆盖触发条件的所有组合。
  • 决策表测试的优点是可以生产测试条件的各种组合,而这些组合可能利用其它方法会无法被测试到。它适应于所有当软件的行为由一些逻辑决策所决定的情况。

决策表测试可以参考网址:https://www.cnblogs.com/by-dream/p/5336918.html

1.5.状态转换测试

根据系统当前的情况或先前的情况(如系统先前的状态),系统可能会产生不同的相应。这种情况下,系统的特征可以通过状态转换图来表示。测试三元可以根据软件的状态,状态间的转换,触发状态变化(转换)的输入或事件以及从状态转换导致的可能的行动来进行测试。被测试系统或对象的状态是独立的、可确认的,并且数量是有限的。
一个状态表描绘了状态和输入之间的关系,并能显示可能的无效状态转换。
设计的测试可以覆盖一个典型的状态序列,或覆盖每个状态,或执行每个状态转换,或执行特定顺序的状态转换或测试无效的状态转换。
状态转换测试方法普遍较多的使用在嵌入式软件行业和自动化行业。但是这个技术同样也适用于特定状态的业务对象的建模或测试具有对话框状态转换流的系统(例如互联网应用或业务场景)

1.6.用例测试

可以通过用例来设计测试。用例描述了参与者(用户或系统)之间的相互作用,并从这些交互产生一个从系统用户或客户的角度所期望和能观察到的结果。通常可以再抽象层(业务用例、不受技术限制、业务流程层面)或系统层(系统功能层面的系统用例)来描述用例。每个用例都有测试的前置条件,这是用例成功执行的必要条件。每个用例结束后都存在后置条件,这是在用例执行完成后能观察到的结果和系统的结束状态。用例通常是有一个主场景(即最有可能发生的场景)和可选场景
用例基于系统最可能使用的情况描述了过程流,因此从用例中得到的测试用例,在真实世界中的系统使用过程流中能最有效的发现系统的缺陷。用例非常有助于设计用户/客户参与的验收测试;也可以帮助发现由于不同组件之间的相互作用和相互影响而产生的集成缺陷,这是在单个的组件测试中无法发现的。从用例中设计测试用例可以和其他基于规格说明的测试技术结合起来使用。

2.基于结构的技术(白盒)

2.1.术语

代码覆盖、判定覆盖、语句覆盖、基于结构的覆盖
背景
基于结构的测试/白盒测试是根据识别软件或系统的结构,可以从以下内容得到进一步的理解:
组件级别:软件组件的结构,比如:语句、判定、分支或每个不同的路径
集成级别:结构可能是调用树(模块调用关系图)
系统级别:结构可能是菜单结构、业务过程或web页面结构。
基于语句、分支和判定,将讨论三种与代码相关的结构化测试设计技术的代码覆盖。对于判定覆盖,可以使用控制流图来形象表示每个判定之间的转换。

2.2.语句覆盖和覆盖率

在组件测试中,语句覆盖是指评价一个测试用例套件中已经执行的可执行语句的百分比。语句测试的测试用例用来执行专门的语句,通常用来增加语句的覆盖率。
语句覆盖率取决于被(设计或执行)测试用例覆盖的可执行语句数量除以被测代码中所有可执行语句数量。

2.3.判定覆盖和覆盖率

判定覆盖,和分支测试相比,是指评价在一个测试用例套件中已经执行的套件(例如if语句的True和False选项)输出的百分比。判定测试的测试用例用来执行专门的判定输出。分支起始于代码中的判定点,并表明了在代码中不同位置的控制转移。
判定覆盖率取决于被(设计或执行)的测试用覆盖的所有判定出口数目除以被测代码中所有可能的判定出口数目。
判定测试是控制流技术的一种方式,它在判定点产生一个专门的控制流。判定覆盖比语句覆盖更全面,100%的判定覆盖可以保证100%的语句覆盖,反之则不行。

2..4.其他的基于结构的技术

除了判定覆盖,还有程度更高的基于结构的覆盖,如条件覆盖和多重条件覆盖。
覆盖的概念也可以用于其他的测试级别(比如集成测试级别等),在一个测试用例套件中被执行的模块、组件、类覆盖的百分比可以分别称为模块覆盖、组件覆盖、类的覆盖。
在进行代码的结构测试中使用工具支持是非常有帮助的。

相关文章

  • 加强探索性测试技能

    传统认知中的软件测试是一个使用测试用例设计技术设计用例并执行测试用例的过程。 测试用例技术的目的是确保能够更多地覆...

  • 可复用测试用例研究(用例库)

    软件测试的关键环节是设计和执行测试用例。测试用例的质量与测试人员的技能、经验以及对被测软件的理解密切相关。如果测...

  • 软件测试流程设计—黑盒测试用例设计方法

    第1章 测试用例设计方法 测试用例设计方法包括黑盒测试用例设计方法和白盒测试用例设计方法,下面 分别进行介绍。 1...

  • 如何提高测试效率

    个人1.先明确测试流程2.获取有效信息,明确需求3.设计测试用例规范,沟通效率(测试用例八大要素:测试用例编号,测...

  • xmind编写测试用例

    设计测试用例 如和设计测试用例 1、确立等价类后建立等价类列表2、为每个等价类规定一个唯一的编号3、设计一个新的测...

  • 测试用例设计技术

    1.基于规格说明的技术(黑盒) 1.1.术语 边界值分析、决策表测试、等价类划分、状态转换测试、用例测试 1.2....

  • 测试总结

    测试基本概念 测试用例设计白皮书--测试用例基本概念测试用例设计白皮书--等价类划分方法测试用例设计白皮书--边界...

  • 简析app测试用例的作用

    测试用例的设计是整个测试工作中最重要的一环,也是整个测试流程中难度最大的部分。测试用例是指导整个app的测...

  • 初级软件测试总结

    1.测试用例编写 1.1 设计测试用例的依据 根据需求文档,项目设计文档,接口文档,系统使用手册等来设计测试用例。...

  • APP功能测试点总结(转载)

    1.功能性测试: ——根据产品需求文档编写测试用例。 ——软件设计文档编写用例。 注意:就是根据产品需求文档编写测...

网友评论

    本文标题:测试用例设计技术

    本文链接:https://www.haomeiwen.com/subject/ffiujltx.html