什么是软件测试?

前面的章节介绍了软件测试及其重要性。现在我们来深入了解这个主题,先回顾一下定义。

软件测试根据客户需求评估软件功能。它大致分为两类。

  1. 动态测试。通过运行程序进行测试。
  2. 静态测试。通过检查代码和相关文档进行测试。
动态测试和静态测试通常结合使用。

黑盒测试

黑盒测试关注软件能做什么,不检查内部实现。它可用于单元、集成、系统和验收等各个测试层级。

Black Box TestingInput Valuesfor TestingValid ValuesBoundaryValuesInvalid ValuesExecutableProgramOutput asExpectedPassOutput DoesNot MatchExpectationsFail
打开完整尺寸图表

黑盒测试

黑盒测试人员关注软件应该做什么。测试用例来自规格说明和需求,无需参考程序的内部逻辑。测试人员提供有效和无效的输入,然后检查产生的输出。

白盒测试

白盒测试检查源代码,包括程序的内部逻辑、实现和行为。测试用例检查软件的内部运行方式。这种方法可用于单元、集成和系统测试。它可以发现其他方法难以发现的内部设计错误,但无法识别遗漏的需求或规格说明。

White Box TestingWhite BoxTestingStatementConditionDecisionDecision /ConditionMultiple Condition
打开完整尺寸图表

白盒测试

语句覆盖

语句覆盖检查每个代码块中的每条语句是否至少执行一次,并观察执行结果。它也被称为行覆盖或段覆盖。

执行每条语句并不一定会检验每个条件。因此,即使达到完整的语句覆盖,仍可能有些错误未被发现。

判定覆盖

判定覆盖也称为分支覆盖,用来测试每个判定的各项结果,包括真和假。分支是判定的一种结果。这种方法的覆盖程度高于单独使用语句覆盖。下面是一些判定语句的例子。

  1. IF 语句。
  2. 循环控制语句,例如 do-while。
  3. 有两个或更多可能结果的 CASE 语句。

判定覆盖会检验代码中的每条分支,因此比单独使用语句覆盖检查得更全面。

条件覆盖

条件覆盖测试各个布尔条件分别为真和假的情形。这些条件可能对判定结果产生重要影响。条件覆盖不一定能实现完整的判定覆盖。

判定与条件覆盖

判定与条件覆盖结合对判定的测试和对各个逻辑条件的测试。它同时检查判定和条件为真和为假的结果,是一种覆盖较全面的软件测试方法。

多条件覆盖

多条件覆盖又称条件组合覆盖,用来检查不同条件组合下的输出。请看下面的例子。
If (x=true OR y=true)
   Then
Print (“Hello”)
   Else
Print (“Bye”)

这个例子有四种可能的条件组合。
测试用例 1。x=true; y=true
测试用例 2。x=true; y=false
测试用例 3。x=false; y=true
测试用例 4。x=false; y=false

同样,三个布尔条件有八种可能的组合。




我们保证,学完免费在线培训,您就能通过软件测试认证考试!

  1. 01

    在线报名

    选择您希望获得的认可认证,完成报名。

  2. 02

    接收访问码

    您的专属考试访问码将立即发送到您的电子邮箱。

  3. 03

    准备并参加考试

    学习免费培训材料,在线回答 50 道选择题。

  4. 04

    获得终身有效的认证

    领取全球有效的证书和可验证的数字徽章。

Accredited Software Test Manager Certification™ 证书样本
报名参加认证

您的免费优质在线培训

Software Testing Revealed 第二版已为您备好。

我们与来自各主要行业的知名企业领导者、团队负责人、软件测试教练、导师、专家及权威人士共同开发了这套培训。所有访问 International Software Test Institute™ 的人士都可以学习。您可通过 您的免费软件测试书籍 以及 您的免费优质软件测试培训 获取培训资料。这两个栏目都在顶部菜单中。

这些资料是 International Software Test Institute™ 享有版权的知识产权。我们免费向所有人分享,因为公开我们的专业经验能帮助软件测试从业者,并促进这一领域的发展。

认证考试采用选择题。请学习在线培训,掌握通过考试和获得软件测试认证所需的知识。

我们保证,学完免费优质在线培训,您就能通过软件测试认证考试!