1.规定的时间
软件可靠性只是体现在其运行阶段,所以将“运行时间”作为“规定的时间”的度量。“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。
2.规定的环境条件
环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其它支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况以及对输入数据的要求,并假定其它一切因素都是理想的。有了明确规定的环境条件,还可以有效判断软件失效的责任在用户方还是研制方。
3.规定的功能
软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的子模块就不同(即程序路径选择不同),其可靠性也就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。
在讲到软件可靠性评估的时候,我们不得不提到软件可靠性模型。软件可靠性模型(Software reliability model)是指为预计或估算软件的可靠性所建立的可靠性框图和数学模型。建立可靠性模型是为了将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计、分配、估算和评价复杂系统的可靠性。
六.软件的缺陷和失效
缺陷(defect/fault)是指软件的内在缺陷。在软件生命周期的各个阶段,特别是在早期设计和编码阶段,设计者和编程人员的行动(如需求不完整、理解有歧义、没有完全实现需求或潜在需求、算法逻辑错、编程问题等)会使软件在一定条件下不能或将不能完成规定功能,这样就不可避免地存在“缺陷”。
软件一旦有缺陷,它将潜伏在软件中,直到它被发现和正确修改。反之,在一定的环境下,软件一旦运行正确,它将继续保持这种正确性,除非环境发生变化。此外,软件中的缺陷不会为因使用而“损耗”。所以缺陷是“无损耗”地潜伏在软件中。
如果软件在运行时没有用到有缺陷的部分,软件就可以正常运行且正确工作;若用到了有缺陷的部分,则软件的计算或判断就会与规定的不符从而使软件丧失执行要求的功能的能力。软件不能完成规定功能即“失效”(failure)或“故障”。对于无容错设计的软件而言,局部失效则整个软件失效。对于采取容错设计的软件,局部故障或失效并不一定导致整个软件失效。
判断软件是否失效的判据有:系统死机、系统无法启动、不能输入输出显示记录、计算数据有误、决策不合理以及其它削弱或使软件功能丧失的事件或状态。
七.软件的可靠性测试过程
完整的测试过程包括测试前的检查、设计测试用例、测试实施、可靠性数据收集和编写测试报告5个步骤,下面逐一对这5个步骤进行说明。
1.测试前的检查
在进行应用软件的可靠性测试前有必要检查软件需求与研制任务书是否一致,检查所交付程序和数据以及相应的软件支持环境是否符合要求,检查文档与程序的一致性,检查软件研制过程中形成的文档是否齐全、文档的准确性和完整性以及是否通过了有关评审。
文章来源于领测软件测试网 https://www.ltesting.net/