测试是为了发现错误而执行程序的过程。为了使我们的软件运行良好,它应该没有错误。如果测试成功完成,它将从软件中删除所有错误。
测试原理:-
(i) 所有测试都应满足客户要求
(ii) 使我们的软件测试应由第三方执行
(iii) 不可能进行详尽的测试。因为我们需要基于应用程序风险评估的最佳测试量。
(iv) 所有要进行的测试都应该在实施之前进行计划
(v) 它遵循帕累托规则(80/20 规则),即 80% 的错误来自 20% 的程序组件。
(vi) 从小零件开始测试,并将其扩展到大零件。
测试类型:-
1. 单元测试
它专注于软件设计的最小单元。在此,我们测试一个单独的单元或一组相互关联的单元。它通常由程序员通过使用样本输入并观察其相应的输出来完成。
例子:
a) 在一个程序中,我们正在检查循环、方法或
功能工作正常
b) 被误解或不正确的算术优先级。
c) 不正确的初始化
2. 集成测试
目标是采用单元测试组件并构建由设计决定的程序结构。集成测试是组合一组组件以产生输出的测试。
集成测试有四种类型: (i) 自上而下 (ii) 自下而上 (iii) 三明治 (iv) Big-Bang
示例
(a) 黑盒测试:- 用于验证。
在此我们忽略了内部工作机制和
关注输出是什么?.
(b) 白盒测试:- 用于验证。
在此我们专注于内部机制,即
输出是如何实现的?
3.回归测试
每次添加新模块都会导致程序发生变化。这种类型的测试确保即使在将组件添加到完整程序之后,整个组件也能正常工作。
例子
在学校记录中假设我们有模块人员,学生
和财务结合这些模块并检查是否打开
集成这些模块工作正常是回归测试
4.冒烟测试
进行此测试是为了确保被测软件已准备好或稳定以进行进一步测试
。它被称为冒烟测试,因为测试初始通过是为了检查它是否在初始打开时没有着火或冒烟。
例子:
如果项目有 2 个模块,那么在进入模块之前
确保模块 1 正常工作
5. 阿尔法测试
这是一种验证测试。这是一种验收测试,在产品发布给客户之前完成。它通常由 QA 人员完成。
例子:
当软件测试在内部执行时
组织
6. Beta 测试
Beta 测试由软件的最终用户在一个或多个客户站点进行。此版本面向有限数量的用户发布,用于在实时环境中进行测试
示例:
当对有限的软件进行测试时
人数
7. 系统测试
该软件经过测试,可以在不同的操作系统上正常工作。它包含在黑盒测试技术中。在此,我们只关注所需的输入和输出,而不关注内部工作。
在此,我们有安全测试、恢复测试、压力测试和性能测试
示例:
这包括功能性和非功能性
测试
8. 压力测试
在此,我们为系统提供不利条件,并检查它们在这些条件下的表现。
例子:
(a) 需要最大内存或其他的测试用例
资源被执行
(b) 可能导致虚拟机抖动的测试用例
操作系统
(c) 可能导致磁盘需求过多的测试用例
9. 性能测试
它旨在测试集成系统环境中软件的运行时性能。它用于测试程序的速度和有效性。它也称为负载测试。在其中,我们检查给定负载下系统的性能。
例子:
检查处理器周期数。
10. 面向对象的测试
该测试是各种测试技术的组合,有助于验证和验证面向对象的软件。该测试通过以下方式完成:
需求测试,
测试的设计和分析,
代码测试,
集成测试,
系统测试,
用户测试。
我们使用这个 OOT 来讨论测试计划和执行项目。