软件测试方法的黑盒测试

2024-05-14

1. 软件测试方法的黑盒测试

黑盒测试,英文是Black Box Testing。又称功能测试或者数据驱动测试。黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。黑盒测试常用工具有:AutoRunner、winrunner

软件测试方法的黑盒测试

2. 软件黑盒测试用例设计方法有哪些

 1. 等价类划分 如下图所示


 2. 边界值:应选取正好等于、刚刚大于、刚刚小于边界值作为测试数据
3. 错误推测法:进行错误的操作,验证程序是否对出错的场 景和情况有应对能力。4. 因果图法/判定表法:适合于检查程序输入条件的各种组合情况。5. 场景法:场景描述的业务流程              基本流:主要是功能的正常操作流程              分支流:需要程序做非法判断处理

3. 黑盒测试-用例设计(下)

 上篇主要记录了等价类划分、边界值分析、错误推测法,下面接着来学习黑盒测试其他常见的:因果图&判定表、场景法等。
                                           因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
    因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例。 
    因(原因):输入条件     果(结果):输出结果     因果图:就是通过画图的方式来表示输入条件(因)和输出结果(果)之间的关系。 
                                            1.关系    ①恒等 - :若ci是1,则ei也是1;否则ei为0。   ②非 ~ :若ci是1,则ei是0;否则ei是1。   ③或 V :若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。   ④与 ^ :若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。
    2.约束    输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。
   A.输入条件的约束有以下4类:   ① E 互斥(异):a和b不能同时成立。   ② I 包含(或):a、b和c中至少有一个成立。   ③ O 唯一;a,b条件中有且仅有一个成立。   ④R 约束(要求):表示当a出现时b也必须出现
   B.输出条件约束类型   输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。
    原因:    1:第一列字符是A;   2:第一列字符是B;   3:第二列字符是一数字。
    结果:    21:修改文件;   22:给出信息L;   23:给出信息M。
   其对应的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束,如图所示:
                                           判定表(Decision table)是另一种表达逻辑判断的工具。与结构化语言和判断树相比,判断表的优点是能把所有条件组合充分地表达出来。其缺点是判定表的建立过程较烦杂,且表达方式不如前两种简便。判定表在用于知识表达中,有许多其他方式所达不到的作用。
                                           表中8种情况的左面两列情况中,原因①和原因②同时为1,这是不可能出现的,故应排除这两种情况。把判定表的每一列拿出来作为依据,设计测试用例。我们把表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。
    优点 
    缺点 
    判定表优点:    能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。
   通过运用场景来对系统的功能点或业务流程的描述,从而提高测试效果的一种方法。用例场景来测试需求是指模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果,从而用来发现需求中存在的问题。
   我们通常以正常的用例场景分析开始,然后再着手其他的场景分析。场景法一般包含基本流和备用流,从一个流程开始,通过描述判定表的优点:
    软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。 这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
    场景法一般包括基本流和备选流。 
                                           业务层面(业务理解更重要):    测试人员要熟悉所测软件的业务逻辑,成为该行业 "业务专家"。 
   技术层面:
    基本流: 经过用例的每条路径都用基本流和备选流来表示,绿色主线表示基本流,是经过用例的最简单的路径,即无任何差错,程序从开始直接执行到结束的流程。通常,一个业务仅存在一个基本流,且基本流仅有一个起点和一个终点。
    备选流: 表示通过业务流程时输入错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到目标的流程。备选流为除了基本流之外的各支流,包含多种不同情况。
   场景法的核心就是“场景”二字,你所需要的就是要找出场景,场景找出来了,测试用例也就水到渠成。当你找到基本流和备选流之后,需要通过构造场景矩阵将场景表示出来。矩阵一旦生成,用例也就一目了然。说起来比较简单,但在使用的过程中会遇到不少的问题。在很多流程图中,有不少备选流其实是隐藏的。
    希望读者能深入理解两个流的概念,为什么会有这两个流,两个流的特点是什么,为什么要构造矩阵,矩阵的纵向和横向代表什么,V, I又代表什么?。 
                                                                                                                           以上表中,是把每个场景成立的条件进行了分析,基本上已经明确了测试用例的数量,现在只要把真实数据填充上,那么整个测试用例就完成了。
                                           以上写到的测试用例只是购物的一部分测试用例。其他测试用例,感兴趣的可以再进行补充和扩展,想要达到比较好的覆盖。那么只能不断迭代进行优化用例设计。
   以上主要记录学习了平时比较常用的一些方法,当然还有一些其他的测试方法。如:Pairwise 、 正交实验法(allpairspy) 、决策表等等,如果感兴趣的可以自行去了解学习。对以上有疑惑的可以 关注+留言+点赞 进行互动讨论。

黑盒测试-用例设计(下)

4. 软件黑盒测试的定义

软件黑盒测试也是软件测试的主要方法之一,也可以称为功能测试、数据驱动测试或基于规格说明的测试。测试者不了解程序的内部情况,只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。

5. 软件黑盒测试的实施方案

传统系统的编程语言和逻辑全是过程式的。这种逻辑顺序只有当数据中的值引起不同的循环或控制顺序改变时才会发生变化。客户机/服务器和图形用户界面系统不是过程式的。它们是事件驱动的。这意味着计算机针对发生的事件执行相应的程序。这里的事件是指用户采取的行为,象键盘活动,鼠标移动,鼠标击键动作和按键的动作,都是事件的例子。因为事件发生的顺序不能预先知道,事件驱动系统相对来说更难测试。开发人员不可能知道用户下一次要选中哪个按钮或菜单项。实际上,应用程序必须在任何时候对所有发生和可能发生的事件作好正确处理的准备。另外,随着RAD(快速应用开发方式)的引入,导致应用的实现速度很快,但这种方式也有它的不足。一个重要的缺点是项目规划经常漏掉重要的测试阶段。测试象在传统开发项目中一样,经常被忽视,并且给予很不现实的少量时间和资源。对于这一点,测试RAD方式下提交的应用并保证软件质量是测试团队的首要工作。软件黑盒测试在实施时又分为客户端的测试和服务器端的性能测试。客户端的测试主要关注应用的业务逻辑,用户界面,功能测试等;服务器端的测试主要关注服务器的性能,衡量系统的响应时间、事务处理速度和其他时间敏感的需求。在应用系统最终被交付之前保证这两方面的测试没有缺陷。由于测试并不是进行一次就可以完成的个过程,而是需要根据产品版本的变化生成不同的测试过程,如果这一过程仅通过手工方式完成是很难达到的。需要通过工具的帮助,从而简化测试的复杂程度,降低在测试成本上的开销,缩短投放市场的时间。还有一个突出的特点就是应用程序的回归测试,这是手工方式完成不了的过程,只有通过工具才能实施。而回归测试在测试阶段是很重要的过程,通过回归测试可以发现很多隐含的缺陷和错误。在服务器端的测试主要以模拟合法用户活动给系统的负载,负载测试的统计结果被用来预测用户将体验到的性能和响应时间。这都需要在客户机/服务器系统发行之前都要进行的。

软件黑盒测试的实施方案

6. 黑盒测试的测试用例的设计方法有哪些

 1. 等价类划分 如下图所示



 2. 边界值:应选取正好等于、刚刚大于、刚刚小于边界值作为测试数据
3. 错误推测法:进行错误的操作,验证程序是否对出错的场 景和情况有应对能力。4. 因果图法/判定表法:适合于检查程序输入条件的各种组合情况。5. 场景法:场景描述的业务流程              基本流:主要是功能的正常操作流程              分支流:需要程序做非法判断处理

7. 用于App测试的黑盒测试用例设计方法有哪些?

黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。


等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。该方法是一种重要的,常用的黑盒测试用例设计方法。

边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。它是对等价类划分方法的补充。大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误

错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

因果图法,考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图。

判定表是分析和表达多逻辑条件下执行不同操作的情况下的工具.在程序设计发展的初期,判定表就已被当作编写程序的辅助工具了.由于它可以把复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。

正交试验设计法,就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率

TestBird- 手游和App自动化测试平台

用于App测试的黑盒测试用例设计方法有哪些?

8. 软件测试中黑盒测试是什么?

黑盒测试:
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子
黑盒测试主要是为了发现以下几类错误:
是否有不正确或遗漏的功能?
在接口上,输入是否能正确的接受?能否输出正确的结果?
是否有数据结构错误或外部信息(例如数据文件)访问错误?
性能上是否能够满足要求?
是否有初始化或终止性错误?
最新文章
热门文章
推荐阅读