“可靠”一词的意思是“可靠”和“值得信赖”。换句话说,无论我们使用多少,可靠的产品都能达到预期。在软件测试中,可靠性测试是了解软件在给定环境下能否按预期运行的过程。
假设您是一名图形设计师。因此,您可能需要一台 PC 每天至少运行 7-8 小时,并发挥其全部功能而不会崩溃。可靠性测试是确定您要购买的 PC 是否可以长时间正常工作的过程。
在测试中,测试人员和开发人员根据多个因素测试应用程序或系统的可靠性。例如,如果应用程序可以处理几个小时的大量用户流量和请求而不会崩溃。
可靠性测试可以帮助开发人员评估软件应用程序的整体性能。
可靠性测试的目标如下 -
发现规定时间内发生的故障次数
找出系统/应用程序故障的主要原因
发现故障的结构
一旦检测到固定,执行各种模块的性能测试
总的来说,可靠性测试最大限度地减少了系统应用在市场上发布后出现故障的可能性。它可以帮助企业节省金钱、时间,当然还有品牌声誉。
有三种类型的可靠性测试进行适合客户的要求。
功能测试 -这是为测试新应用程序或现有应用程序的新版本而明确完成的。在此测试中,测试人员测试软件的所有功能。
它从测试人员单独测试每个软件功能开始,然后一起测试两个单独的功能。他们试图限制两个功能之间的交互,确保在用户体验过程中不会出现冲突。
回归测试-当对现有系统引入新更改时,首选。客户决定在应用程序或系统中添加新功能或修改现有功能。通过回归测试,可以确定更改是否会妨碍系统的性能。
负载测试 -在负载测试中,一个应用程序暴露给多个用户同时做事。这样做是为了确保新系统准备好处理预期的用户/流量负载。
可靠性测试分三类进行——建模、测量和改进。在开始测试之前,测试人员必须事先建立可靠性目标。它包括设置测试环境、收集数据、准备测试计划、测试点等。
以下是三类可靠性测试 -
软件建模技术分为两种类型 -预测建模 和 估计建模。
预测建模 -在此类模型下,分析旧的历史数据以预测软件故障。测试人员在开始开发阶段之前使用预测模型来确定软件可靠性。
估计建模- 此类模型考虑来自当前软件开发的数据,以确定未来系统的故障。它仅在执行开发过程后进行。数据是从正在进行的过程中收集的。
这是通过识别测试的几个特征来衡量可靠性指标的过程。
测试人员分析各种来源以计算产品指标,例如源代码、设计模型、测试用例和需求。这些指标进一步用于深入了解软件的质量。
一些有价值的指标包括 -
软件大小 -测试人员使用代码行方法,例如计算源代码行数,不包括注释和不可执行的语句。
功能点 (FP) 指标 - FP 指标用于检查开发的软件应用程序的功能。测试人员使用可数的外部输入、外部输出、外部查询、内部逻辑文件和外部接口文件。作为一个独立的指标,这是确定软件功能复杂性的好方法。
复杂性 -测试人员将代码重组为图形形式,以衡量软件控制结构的重要性。
测试覆盖率 -用于通过进行一组测试来消除系统故障。
这用于分析管理过程的质量。成功开发过程的关键在于开发人员的管理风格。更好的管理可以缩短项目完成时间并降低开发成本。
它涉及测量软件开发过程的属性并提高过程的质量。
该指标用于确保软件没有错误和系统故障。在这些指标中,测试团队识别故障。这里的故障是指最终用户发现的错误。所有数据都被累积和分析。
软件可靠性是通过平均故障间隔时间 (MTBF) 来衡量的。
MTBF = MTTF+MTTR
MTTF 或 Mean to Failure 是两次连续故障之间的时间差。
MTTR 或平均修复时间是修复故障所需的时间。
0 到 1 之间的软件分数被认为是可靠的,当错误或错误减少时,分数会增加。
这是一个在开发阶段之后和部署阶段之前的测试过程。在这个过程中,测试人员识别系统中的错误和缺陷。故障树分析和正交缺陷分类等工具用于降低缺陷的可能性。
可靠性测试在可靠性工程计划中至关重要。毫无疑问,可靠性测试是一个成本高昂的过程,需要适当的计划和执行。它在软件质量领域有更大的用途,不应该不惜一切代价避免它。
可靠性测试工具根据其要求进行分类。对于可靠性寿命数据分析,WEIBULL++ 很有前景。同样,RGA 在可靠性增长分析方面表现突出,而 RCM 在以可靠性为中心的维护方面表现出色。其他需要考虑的流行可靠性工具 - Softrel、Sorel 和 SMERFS。
可靠性测试提供了大量有关软件或系统的见解。可靠性测试的主要目的是发现软件设计和功能中的错误。
软件可以在几种情况下异常执行 -
代码的大小和复杂性
运行环境
开发人员和用户的操作、培训和知识
开发过程的质量
单个组件的规格
网络配置