分类: 项目管理
2009-05-20 09:34:43
在规定条件下,在规定的时间内,软件引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在缺陷的函数;系统输入将确定是否会遇到已在缺陷(如果缺陷存在的话)
指产品在规定的条件下和规定的时间内完成规定功能的能力。
分为固有和使用可靠性。前者是通过设计、制造赋予产品的可靠性。使用可靠性受设计、制造和使用条件的影响。
软件可靠性的定量描述:规定时间、失效概率、可靠度、失效强度、失效率、可靠度与失效率之间的换算、平均无失效时间。
失效严重程度分为4类。
3、可靠性目标
指客户对软件性能满意程度的期望
4、可靠性测试的意义
1)、软件失效可能造成灾难性的后果
2)、软件的失效在整个计算机系统失效中的比例较高
3)、相比硬件可靠性技术,软件可靠性技术很不成熟,这就加剧了软件可靠性问题的重要性
4)、与硬件元器成本急剧下降形成鲜明对比的是,软件费用呈有增无减的势头,而软件可靠性问题是造成这种费用增长的主要原因之一
5)、计算机技术获得日益广泛的应用,使得系统对于软件的依赖性越来越强。软件可靠性的问题的重要性也凸出了。
广义的与狭义的可靠性测试。
可靠性测试的目的:发现软件系统在需求、设计、编码、测试实施等方面的各种缺陷;为软件的使用和维护提供可靠性数据;确认软件是否达到可靠性的定量要求。
软件可靠性模型:为预计或估算软件的可靠性所建立的可靠性框图和数学模型。
5、影响软件可靠性的因素
1)、运行剖面(环境)
2)、软件规模
3)、软件内部结构
4)、软件的开发方法和开发环境
5)、软件的可靠性投入
软件可靠性建模方法:模型假设、性能度量、参数估计方法、数据要求。
3个共同假设:代表性假设、独立性假设、相同性假设。
6、软件的可靠性模型分类
种子法、失效率类、曲线拟合类、可靠性增长、程序结构分析、输入域分类、执行路径分析方法、非齐次泊松过程、马尔可夫过程、贝叶斯类模型。
7、软件可靠性模型举例
模型假设、函数表达式、参数估计
软件可靠性测试由可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果的分析等主要活动组成。
8、定义软件运行剖面
道先需要为软件的使用行为建模,建模可以采用马尔可夫链来完成。下一步是开发使用模型,明确需要测试的内容。输入域分层有用户级分层和用法级分层两种。
9、可靠性测试用例设计时重点考虑的一些特殊情况。
1)、屏蔽用户操作错误:考察对用户常见的误操作的提示和屏蔽情况
2)、错误提示的准确性:对用户的错误提示准确程度
3)、错误是否导致系统异常退出:有无操作错误引起系统异常退出的情况
4)、数据可靠性:系统应对输入的数据进行有效性检查,对冗余的数据进行过滤、校验和清洗,保证数据的正确性和可靠性
5)、异常情况的影响:考察数据和系统受影响程度,若受损,是否提供补救工具,补救的情况
用时间定义的软件可靠性数据:
失效时间数据,失效间隔时间数据、分组时间内的失效数、分组时间的累积失效数。
过程:选择可靠性模型、 可靠性数据、可靠性评估和预测
选择可靠性模型注意:模型假设的适用性、预测的能力与质量、模型输出值能否满足可靠性评价需求、模型使用的简便性。
由于本章不是大纲重点,一下暂略。