一种软件可靠性的分析方法及系统的制作方法

文档序号:6598785阅读:209来源:国知局
专利名称:一种软件可靠性的分析方法及系统的制作方法
技术领域
本发明涉及电子领域,尤其涉及一种软件可靠性的分析方法及系统。
背景技术
通常,软件的生命周期可分为软件设计、软件测试以及软件运行三个阶段,其中,
软件的设计阶段是指开发软件代码的阶段,通常在软件的设计阶段会出现各种各样的缺
陷,软件的缺陷是固有的,是软件编制的失误、或代码错误。软件的测试阶段,可分为两类测
试功能测试和性能测试,其中,功能测试是指对软件是否可以实现其功能进行测试;性能
测试包括负载测试和压力测试,是指验证软件的性能在正常环境和复杂系统条件下重复使
用是否还能满足性能指标。软件的性能测试阶段是软件缺陷大量、集中暴露的主要阶段。软
件的运行阶段,是软件的实际使用阶段,是软件的缺陷发展为软件失效的阶段。 由上面的描述可知,软件缺陷到达运行阶段,将会存在导致软件失效的风险,因
此,现实中出现软件可靠性的概念,软件的可靠性是指在规定的条件下和规定的时间内,软
件不引起系统失效的能力,可靠性的产生,势必需要对可靠性进行分析,但是目前还没有出
现较好的可靠性分析的相关方法。

发明内容
本发明实施例所要解决的技术问题在于,提供一种软件可靠性的分析方法及系 统,可有效对软件的可靠性进行分析。
鉴于此,本发明实施例提供了一种软件可靠性的分析方法,包括 获取并筛选软件测试阶段的缺陷数量; 对筛选出的缺陷按时间进行拟合,得到拟合结果; 根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生失效的频率。
进一步,该方法还包括 当测试条件下的环境与运行环境不相同时,对筛选出的缺陷按时间进行拟合时,
需将测试阶段的时间,折算为运行阶段的时间。 进一步,该方法还包括 根据测试阶段筛选出的缺陷数量,计算出软件的千行代码缺陷率,并通过所述千 行代码率以及软件的总的代码行数,得到软件总的缺陷数量; 对于超出测试条件的运行环境,计算该运行环境在每年中所占时间比例,通过软
件总的缺陷数量乘以所述时间比例得到该运行环境下的软件失效频率。 进一步,该方法还包括 将软件在测试条件下发生失效的频率与超出测试条件的运行环境下的软件失效 频率相加,得到软件在运行阶段的总的失效频率。 进一步,所述获取并筛选软件测试阶段的缺陷数量进一步包括
识别软件测试过程中,属于性能测试的环节;
采集所述性能测试过程的测试记录,统计各环节发现的缺陷数量; 对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷去除。 相应的,本发明实施例还提供了一种软件可靠性的分析系统,包括 获取模块,用于获取并筛选软件测试阶段的缺陷数量; 拟合模块,用于对筛选出的缺陷按时间进行拟合,得到拟合结果; 测试分析模块,用于根据得出的拟合结果进行趋势分析,得到软件在测试条件下
发生失效的频率。 进一步,该系统还包括 时间折算模块,与所述拟合模块相连,用于当测试条件下的环境与运行环境不相 同时,将测试阶段的时间,折算为运行阶段的时间,并将折算后的时间输出给拟合模块。
进一步,该系统还包括 缺陷换算模块,用于根据测试阶段筛选出的缺陷数量,计算出软件的千行代码缺
陷率,并通过所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量; 运行分析模块,用于对于超出测试条件的运行环境,计算该运行环境在每年中所
占时间比例,通过软件总的缺陷数量乘以所述时间比例得到该运行环境下的软件失效频率。 进一步,该系统还包括 统计模块,分别与所述运行分析模块和所述测试分析模块相连,用于将软件在测
试条件下发生失效的频率与超出测试条件的运行环境下的软件失效频率相加,得到软件在
运行阶段的总的失效频率。
所述获取模块进一步包括 识别模块,用于识别软件测试过程中,属于性能测试的环节; 采集模块,用于采集所述性能测试过程的测试记录,统计各环节发现的缺陷数 筛选模块,用于对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷去 除。 本发明实施例通过统计引起软件失效的缺陷,并通过统计的缺陷得到软件失效的 频率来反映软件运行阶段的可靠性,可有效对软件的可靠性进行分析。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
图1是本发明的第一实施例的软件可靠性的分析方法的流程示意图;
图2是本发明第一实施例中的拟合状态示意图; 图3是本发明的第二实施例的软件可靠性的分析方法的流程示意图;
图4是本发明的第三实施例的软件可靠性的分析系统的结构组成示意图;
图5是本发明的第三实施例中获取模块的一实施例的结构组成示意 图6是本发明的第四实施例的软件可靠性的分析系统的结构组成示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述。
图i是本发明的第一实施例的软件可靠性的分析方法的流程示意图,具体实现
中,本发明实施例的软件可为核电厂数字化系统软件。
如图1所示,本实施例的方法包括 步骤S13,获取并筛选软件测试阶段的缺陷数量;步骤S14,对筛选出的缺陷按时 间进行拟合,得到拟合结果; 步骤S15,根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生失效的频率。 其中,在步骤S13,获取并筛选软件测试阶段的缺陷数据进一步包括
识别软件测试过程中,属于性能测试的环节。 采集所述性能测试过程的测试记录,统计各环节发现的缺陷数量。 对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷去除。例如,如果发
现的缺陷为功能缺陷,则去除,再如,如果同一缺陷被多次发现和记录,则仅保留一次记录即可。 在步骤S14,按照时间进行拟合时,可采用坐标图示的方式(如图2所示),也可采 用公式直接进行拟合,即通过时间点及时间点所对应的缺陷数量得出直线或曲线函数。同 时,由于缺陷的发现时间、数量是根据性能测试环节,具有阶段性的,因此,需要将软件缺陷 数量,按时间段进行累计之后再进行拟合,例如参考图2,采用第一周缺陷数量54个,第二 周缺陷数量18个等这一类的表达形式;时间段不宜过少,否则拟合的结果不足以反应可靠 性随时间变化的趋势。 另外,在步骤S14,当测试条件下的环境与运行环境相同时,就可以直接通过测试 数据反映出运行环境下软件的缺陷数量与时间的拟合关系。而当测试条件下的环境与运行 环境不相同时,对筛选出的缺陷按时间进行拟合时,需将测试阶段的时间,折算为运行阶段 的时间。比如,某一指标在运行时需要300,而在测试时将其扩大到30,这样如果在测试阶 段第一个星期的缺陷数量为54,则对应于运行阶段,其时间也应延长,将一个星期的时间延 长为十个星期。 在步骤S15,当完成步骤S14可得出一个缺陷数量随时间变化的趋势,在步骤S15
通过该趋势统计出软件在测试条件下发生失效的频率,该失效频率可为次/年;次/月等。 本实施例通过在测试阶段统计引起软件失效的缺陷,并通过统计的缺陷得到软件
失效的频率来反映软件运行阶段的可靠性,可有效对软件的可靠性进行分析。 图3是本发明基于第一实施例的第二实施例的软件可靠性的分析方法的流程示
意图;如图3所示,本实施例的方法包括 步骤S13,获取并筛选软件测试阶段的缺陷数量; 步骤S14,对筛选出的缺陷按时间进行拟合,得到拟合结果; 步骤S15,根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生失效的频率- 步骤S16,根据测试阶段筛选出的缺陷数量,计算出软件的千行代码缺陷率,并通 过所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量; 步骤S17,对于超出测试条件的运行环境,计算该运行环境在每年中所占时间比
例,通过软件总的缺陷数量乘以所述时间比例得到该运行环境下的软件失效频率; 步骤S18,将软件在测试条件下发生失效的频率与超出测试条件的运行环境下的
软件失效频率相加,得到软件在运行阶段的总的失效频率。 其中,本实施例的步骤S13-S15与第一实施例相同,在此不赘述。 在步骤S16,所述千行代码缺陷率是指软件每一千行代码中包含的缺陷数量,然后
根据所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量。 在步骤S17,所述年份可为自然年,也可为特殊环境下的特殊时间限制,比如,当软
件运行在核电站系统中,所述每年即指核反应的堆年。 本实施例通过在测试阶段统计引起软件失效的缺陷,并通过统计的缺陷得到软件 失效的频率来反映软件运行阶段的可靠性,同时,通过千行代码率来反映超出测试条件下 的软件的失效频率,并与测试环境下的失效频率相结合,共同反映整个软件运行阶段的失 效频率,可有效对软件的可靠性进行分析。 图4是本发明的第三实施例的软件可靠性的分析系统的结构组成示意图;如图4 所示,本系统包括获取模块42、拟合模块43、测试分析模块44、时间折算模块45 (可选),其 中 所述获取模块42,用于获取并筛选软件测试阶段的缺陷数量。进一步,如图5所 示,获取模块42包括 识别模块421,用于识别软件测试过程中,属于性能测试的环节; 采集模块422,用于采集所述性能测试过程的测试记录,统计各环节发现的缺陷数 筛选模块423,用于对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷 去除。例如,如果发现的缺陷为功能缺陷,则去除,再如,如果同一缺陷被多次发现和记录, 则仅保留一次记录即可。 所述拟合模块43,用于对筛选出的缺陷按时间进行拟合,得到拟合结果。具体的, 拟合模块43可可采用坐标图示的方式(如图2所示),也可采用公式直接进行拟合,即通过 时间点及时间点所对应的缺陷数量得出直线或曲线函数。同时,由于缺陷的发现时间、数量 是根据性能测试环节,具有阶段性的,因此,需要将软件缺陷数量,按时间段进行累计之后 再进行拟合,例如参考图2,采用第一周缺陷数量54个,第二周缺陷数量18个等这一类的表 达形式;时间段不宜过少,否则拟合的结果不足以反应可靠性随时间变化的趋势。
所述测试分析模块44,用于根据得出的拟合结果进行趋势分析,得到软件在测试 条件下发生失效的频率。具体的,该失效频率可为次/年;次/月等。 所述时间折算模块45,与所述拟合模块43相连,用于当测试条件下的环境与运行 环境不相同时,将测试阶段的时间,折算为运行阶段的时间,并将折算后的时间输出给拟合 模块43。当测试条件下的环境与运行环境相同时,就可以直接通过测试数据反映出运行环 境下软件的缺陷数量与时间的拟合关系。而当测试条件下的环境与运行环境不相同时,对
7筛选出的缺陷按时间进行拟合时,需要时间折算模块45将测试阶段的时间折算为运行阶 段的时间。比如,某一指标在运行时需要300,而在测试时将其扩大到30,这样如果在测试 阶段第一个星期的缺陷数量为54,则对应于运行阶段,其时间也应延长,将一个星期的时间 延长为十个星期。 本实施例通过在测试阶段统计引起软件失效的缺陷,并通过统计的缺陷得到软件
失效的频率来反映软件运行阶段的可靠性,可有效对软件的可靠性进行分析。 图6是本发明的基于第三实施例的第四实施例的软件可靠性的分析系统的结构
组成示意图;如图6所示,本实施例的系统包括包括获取模块42、拟合模块43、测试分析
模块44、时间折算模块45 (可选)、缺陷换算模块46、运行分析模块47以及统计模块48,其
中 获取模块42、拟合模块43、测试分析模块44以及时间折算模块45与第三实施例 相同,在此不赘述。 所述缺陷换算模块46,用于根据测试阶段筛选出的缺陷数量,计算出软件的千行 代码缺陷率,并通过所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量。其 中,所述千行代码缺陷率是指软件每一千行代码中包含的缺陷数量。 所述运行分析模块47,用于对于超出测试条件的运行环境,计算该运行环境在每 年中所占时间比例,通过软件总的缺陷数量乘以所述时间比例得到该运行环境下的软件失 效频率。其中,所述每年可为自然年,也可为特殊环境下的特殊时间限制,比如,当软件运行 在核电站系统中,所述每年即指核反应的堆年。 所述统计模块48,分别与所述运行分析模块47和所述测试分析模块44相连,用于 将软件在测试条件下发生失效的频率与超出测试条件的运行环境下的软件失效频率相加, 得到软件在运行阶段的总的失效频率。 本实施例通过在测试阶段统计引起软件失效的缺陷,并通过统计的缺陷得到软件 失效的频率来反映软件运行阶段的可靠性,同时,通过千行代码率来反映超出测试条件下 的软件的失效频率,并与测试环境下的失效频率相结合,共同反映整个软件运行阶段的失 效频率,可有效对软件的可靠性进行分析。 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以 通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质 中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁 碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory,廳)等。 以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范 围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
一种软件可靠性的分析方法,其特征在于,包括获取并筛选软件测试阶段的缺陷数量;对筛选出的缺陷按时间进行拟合,得到拟合结果;根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生失效的频率。
2. 如权利要求1所述的软件可靠性的分析方法,其特征在于,还包括 当测试条件下的环境与运行环境不相同时,对筛选出的缺陷按时间进行拟合时,需将测试阶段的时间,折算为运行阶段的时间。
3. 如权利要求1或2所述的软件可靠性的分析方法,其特征在于,还包括 根据测试阶段筛选出的缺陷数量,计算出软件的千行代码缺陷率,并通过所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量;对于超出测试条件的运行环境,计算该运行环境在每年中所占时间比例,通过软件总 的缺陷数量乘以所述时间比例得到该运行环境下的软件失效频率。
4. 如权利要求3所述的软件可靠性的分析方法,其特征在于,还包括 将软件在测试条件下发生失效的频率与超出测试条件的运行环境下的软件失效频率相加,得到软件在运行阶段的总的失效频率。
5. 如权利要求1所述的软件可靠性的分析方法,其特征在于,所述获取并筛选软件测 试阶段的缺陷数量进一步包括识别软件测试过程中,属于性能测试的环节;采集所述性能测试过程的测试记录,统计各环节发现的缺陷数量; 对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷去除。
6. —种软件可靠性的分析系统,其特征在于,包括 获取模块,用于获取并筛选软件测试阶段的缺陷数量; 拟合模块,用于对筛选出的缺陷按时间进行拟合,得到拟合结果;测试分析模块,用于根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生 失效的频率。
7. 如权利要求6所述的分析系统,其特征在于,还包括时间折算模块,与所述拟合模块相连,用于当测试条件下的环境与运行环境不相同时, 将测试阶段的时间,折算为运行阶段的时间,并将折算后的时间输出给拟合模块。
8. 如权利要求6或7所述的分析系统,其特征在于,还包括缺陷换算模块,用于根据测试阶段筛选出的缺陷数量,计算出软件的千行代码缺陷率, 并通过所述千行代码率以及软件的总的代码行数,得到软件总的缺陷数量;运行分析模块,用于对于超出测试条件的运行环境,计算该运行环境在每年中所占时 间比例,通过软件总的缺陷数量乘以所述时间比例得到该运行环境下的软件失效频率。
9. 如权利要求8所述的分析系统,其特征在于,还包括统计模块,分别与所述运行分析模块和所述测试分析模块相连,用于将软件在测试条 件下发生失效的频率与超出测试条件的运行环境下的软件失效频率相加,得到软件在运行 阶段的总的失效频率。
10. 如权利要求6所述的分析系统,其特征在于,所述获取模块进一步包括 识别模块,用于识别软件测试过程中,属于性能测试的环节;采集模块,用于采集所述性能测试过程的测试记录,统计各环节发现的缺陷数量; 筛选模块,用于对统计的缺陷数量进行筛选,将重复记录和可靠性无关的缺陷去除。
全文摘要
本发明实施例公开了一种软件可靠性的分析方法及系统,可有效对软件的可靠性进行分析。其中,所述方法包括获取并筛选软件测试阶段的缺陷数量;对筛选出的缺陷按时间进行拟合,得到拟合结果;根据得出的拟合结果进行趋势分析,得到软件在测试条件下发生失效的频率。
文档编号G06F11/36GK101777022SQ20101011798
公开日2010年7月14日 申请日期2010年3月3日 优先权日2010年3月3日
发明者肖军 申请人:中科华核电技术研究院有限公司;中国广东核电集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1