📜  软件测试的类型

📅  最后修改于: 2021-10-22 03:12:03             🧑  作者: Mango

介绍:-

测试是为了发现错误而执行程序的过程。为了使我们的软件运行良好,它应该是没有错误的。如果测试成功完成,它将消除软件中的所有错误。

测试原理:-

(i) 所有测试应满足客户要求
(ii) 使我们的软件测试应由第三方执行
(iii) 不可能进行详尽的测试。因为我们需要基于应用程序风险评估的最佳测试量。
(iv) 所有要进行的测试都应该在实施之前计划好
(v) 它遵循帕累托规则(80/20 规则),该规则指出 80% 的错误来自 20% 的程序组件。
(vi) 从小零件开始测试,并将其扩展到大零件。

测试类型:-

1. 单元测试

它专注于软件设计的最小单元。在此,我们测试单个单元或一组相互关联的单元。它通常由程序员通过使用样本输入并观察其相应输出来完成。
例子:

a) In a program we are checking if loop, method or 
   function is working fine
b) Misunderstood or incorrect, arithmetic precedence.
c) Incorrect initialization

2. 集成测试

目标是采用经过单元测试的组件并构建一个由设计决定的程序结构。集成测试是将一组组件组合起来以产生输出的测试。

集成测试有四种类型: (i) 自顶向下 (ii) 自底向上 (iii) Sandwich (iv) Big-Bang
例子

(a) Black Box testing:- It is used for validation. 
In this we ignore internal working mechanism and 
focuse on what is the output?.

(b) White Box testing:- It is used for verification. 
In this we focus on internal mechanism i.e.
how the output is achieved?

3. 回归测试

每次添加新模块都会导致程序发生变化。这种类型的测试可确保即使在将组件添加到完整程序后,整个组件仍能正常工作。
例子

In school record suppose we have module staff, students 
and finance combining these modules and checking if on 
integration these module works fine is regression testing

4. 烟雾测试

完成此测试是为了确保被测软件已准备好或稳定以供进一步测试
它被称为烟雾测试,因为测试初始通过是为了检查它是否在初始开启时没有着火或冒烟。
例子:

If project has 2 modules so before going to module 
make sure that module 1 works properly

5. 阿尔法测试

这是一种验证测试。它是一种验收测试,在产品发布给客户之前进行。它通常由 QA 人员完成。
例子:

When software testing is performed internally within
the organization

6. Beta 测试

Beta 测试由软件的最终用户在一个或多个客户站点进行。此版本面向有限数量的用户发布,用于在实时环境中进行测试
例子:

When software testing is performed for the limited
number of people

7. 系统测试

该软件经过测试,可以在不同的操作系统上正常工作。它包含在黑盒测试技术之下。在这里,我们只关注所需的输入和输出,而不关注内部工作。
在这方面,我们有安全测试、恢复测试、压力测试和性能测试
例子:

This include functional as well as non functional 
testing

8. 压力测试

在这种情况下,我们为系统提供不利条件并检查它们在这些条件下的表现。
例子:

(a) Test cases that require maximum memory or other
    resources are executed
(b) Test cases that may cause thrashing in a virtual 
    operating system
(c) Test cases that may cause excessive disk requirement

9. 性能测试

它旨在在集成系统的上下文中测试软件的运行时性能。它用于测试程序的速度和有效性。它也称为负载测试。在其中我们检查系统在给定负载下的性能。
例子:

Checking number of processor cycles.

10. 面向对象测试

此测试是各种测试技术的组合,有助于验证和验证面向对象的软件。此测试按以下方式进行:

  • 需求测试,
  • 测试的设计和分析,
  • 代码测试,
  • 集成测试,
  • 系统测试,
  • 用户测试。

我们使用此 OOT 来讨论测试计划和执行项目。