软件测试|黑盒测试方法论-判定表

简介: 软件测试|黑盒测试方法论-判定表

在因果图分析法中最后会得出一个判定表,可以看出因果图和判定表是有联系的,一般需要结合起来使用。

因果图是一种分析工具,通过分析最终得到判定表,再通过判定表编写测试用例。在一定情况下也可以直接书写判定表,省略因果图,进而编写测试用例。

判定表的组成

判定表是由条件桩、动作桩、条件项和动作项组成的。条件桩表示可能出现这个问题的所有条件,动作桩表示这个问题的所有输出结果,条件项为条件桩的取值,动作项为条件项的各个取值情况下的输出结果。

判定表设计步骤

设计判定表首先需要列出所有的条件桩和动作桩,确定规则数量,规则数由条件桩确定,规则数 = 条件取值数 ^ 条件数。

依次填入条件项和动作项得到初始判定表。初始判定表会包含冗余的内容,这些内容一般不适合设计测试用例,进一步的简化判定表,合并相似的规则或动作得到一个完整并且简洁的判定表便于最终设计用例。

实例

输入三个正整数a、b、c,分别作为三角形的三条边,判断三条边是否能构成三角形,如果能构成三角形,判断三角形的类型。

确定条件桩
C1:a,b,c 构成三角形?a<b+c、b<a+c、c<a+b C2:a = b?C3:a = c?C4:b = c?

确定动作桩
A1:非三角形;A2:不等边三角形;A3:等腰三角形;A4:等边三角形;A5:不可能。

填写表格,确定条件项和动作项
确定规则数
共有四个条件,每个条件的取值为 “ 是 ” 或 “ 否 ”,因此有 2 ^ 4 = 16 条规则。

设计判定表
1.填写初始判定表

C1:8 个 0,8 个 1;

C2:4 个 0,4 个 1,4 个 0,4 个 1;

C3:2 个 0,2 个 1,2 个 0,2 个 1,2 个 0,2 个 1,2 个 0,2个1;

C4:0,1,0,1,0,1,0,1,0,1...

2.简化判定表

构成三角形的条件如果不满足的话,结果都是非三角形,和下面三个条件无关,这种情况下可以对判定表进行简化。

设计测试用例
设计测试用例时不可能的情况可以排除,非三角形的情况需要考虑每个值取值的不同情况。得出最后的测试用例如下表所示:

通过实例大家是不是对判定表理解的更深入了呢,我们不仅仅要学会测试方法的理论,还需要灵活的运用到测试工作中哦~

相关文章
|
7天前
|
测试技术
探索软件测试的奥秘:如何构建有效的测试策略
在软件开发的海洋中,测试是确保航船不沉没的灯塔。本文将带你领略测试的魅力,从基础概念到高级策略,我们将一起航行在软件测试的广阔海域,探寻那些隐藏在代码深处的秘密。准备好了吗?让我们启航吧!
20 1
|
13天前
|
敏捷开发 测试技术 持续交付
软件测试中的探索性测试方法及其重要性
【8月更文挑战第6天】在软件开发周期中,测试环节是不可或缺的。它确保了产品的质量、性能与可靠性。然而,传统的测试方法往往侧重于预设的测试用例和场景,可能忽略了用户实际使用过程中的非预期行为。探索性测试(ET)应运而生,它强调测试人员的自主性和创造性,通过不断学习和适应来发现软件的潜在缺陷。本文将探讨探索性测试的概念、实施策略及其在现代软件开发中的重要性。
|
14天前
|
测试技术
软件测试中的心理学:如何优化测试流程
【8月更文挑战第6天】本文深入探讨了软件测试过程中的心理学因素,揭示了测试人员的心理动态对测试效率和质量的影响。通过分析测试人员的压力源、动机以及团队间的沟通问题,提出了一系列改善策略,如建立积极的反馈机制、提供持续的职业培训和优化工作环境等,旨在提升软件测试的整体效能。文章最后提出一个开放性问题,邀请读者思考如何在不断变化的技术环境中维持测试团队的心理健康和动力。
|
20天前
|
测试技术
软件测试中的探索性测试方法
在软件开发周期中,测试环节扮演着至关重要的角色。本文将深入探讨一种灵活而高效的测试方法——探索性测试。我们将通过具体实例分析其实施过程,并讨论如何通过这种方法提高软件质量和测试效率。最后,我们提出一个开放性问题,邀请读者思考探索性测试在他们工作中的实际应用和潜在价值。 【7月更文挑战第31天】
|
17天前
|
机器学习/深度学习 人工智能 数据挖掘
重塑软件测试未来:自动化与人工智能的交响乐章,引领高效精准测试新时代
【8月更文挑战第3天】软件测试是确保软件质量的关键环节。随着自动化与AI技术的发展,测试正经历从手动到自动、再到智能的深刻变革。自动化显著提升了测试效率,减少人为错误;AI则通过数据分析和学习能力,实现了测试用例的自动生成与优化,提高了测试的智能水平。两者的融合不仅增强了测试的全面性和准确性,还预示着一个更加高效智能的测试新时代的到来。
19 1
|
19天前
|
机器学习/深度学习 人工智能 测试技术
探索式测试:软件测试的未来趋势
在数字化时代,软件测试是确保产品质量和用户体验的关键环节。传统的测试方法虽然有效,但往往耗时耗力,难以适应快速迭代的开发模式。本文将介绍一种新兴的测试方法——探索式测试,它强调测试人员的主观能动性,通过不断地学习和探索来发现软件中的问题。我们将分析其原理、优势及实施过程,并探讨它如何成为未来软件测试的趋势。
|
21天前
|
敏捷开发 测试技术
软件测试中的探索性测试:一种灵活的质量保证方法
在软件开发周期中,测试是确保产品质量的关键步骤。传统的测试方法往往依赖于事先定义好的测试用例,但这种方法可能无法覆盖所有潜在的缺陷和场景。探索性测试(ET)作为一种更为灵活的测试方式,允许测试人员在执行测试的同时设计和适应测试用例,从而提高了测试覆盖率并发现更多隐藏的缺陷。本文将探讨探索性测试的核心概念、实施策略以及与传统测试方法的比较,旨在为软件测试专业人员提供一种更高效、适应性强的测试手段。
|
30天前
|
测试技术
单元测试问题之过去的软件测试如何解决
单元测试问题之过去的软件测试如何解决
|
14天前
|
敏捷开发 搜索推荐 测试技术
探索式测试:软件测试的灵活之道
在软件发展的快速迭代中,传统的测试方法往往显得笨重且效率低下。探索式测试(Exploratory Testing)作为一种敏捷的测试实践,强调测试人员的个人技能与经验,提倡在测试过程中即兴发挥,以更加高效地发现软件缺陷。本文将深入探讨探索式测试的核心理念、实施步骤及其在实际项目中的有效应用,为读者提供一种全新的视角来审视和改进软件测试流程。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的前沿:AI与软件测试的融合
在数字化浪潮中,软件测试作为确保产品质量的关键步骤,正迎来一场革命。本文将深入探讨人工智能(AI)如何革新传统软件测试流程,通过具体案例分析,揭示AI技术在提高测试效率、减少人为错误以及预测潜在缺陷方面的潜力。我们将一窥AI在自动化测试中的应用现状,并展望其对未来软件质量保障的影响。

热门文章

最新文章