介绍:-
测试是为了发现错误而执行程序的过程。为了使我们的软件运行良好,它应该是没有错误的。如果测试成功完成,它将消除软件中的所有错误。
测试原理:-
(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 来讨论测试计划和执行项目。