GB T 28171-2011 嵌入式软件可靠性测试方法.pdf
《GB T 28171-2011 嵌入式软件可靠性测试方法.pdf》由会员分享,可在线阅读,更多相关《GB T 28171-2011 嵌入式软件可靠性测试方法.pdf(36页珍藏版)》请在麦多课文档分享上搜索。
1、ICS 35.080 L77 GB 中华人民共和国国家标准GB/T 28171-2011 嵌入式软件可靠性测试方法Embedded software reliability testing method 2011-12-30发布2012-06-01实施数码防伪/ 中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会发布G/T 28171-2011 目次EWHI-2222234679uuumm 例头计设析分制择例绘选用图型试示模测性性性估靠靠靠评可可可析告的面uu分报)件标剖uu的式录录录目作备试据则附附附用义HHHHH性操准测数性性性性引定的境容法则靠发试行效靠料料料性和目环内方总可
2、开测执失可喷喷喷眈围范语试试试试言言范规术测测测测川口川MMM川刺刺扛较前引1234567附附附参I GB/T 28171-20门前言本标准按照GB/T1. 1-2009给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本标准起草单位:中国电子技术标准化研究所、珠海南方软件产品检测中心、珠海许继电气有限公司、炬力集成电路设计有限公司、上海博为峰软件技术有限公司、沈阳软件公共技术服务平台有限公司、深圳市吉阳自动化科技有限公司、上海博泰悦臻电子设备制造有限公司、广东宝莱特医用科技股份有限
3、公司、上海嵌入式系统应用工程技术研究中心、珠海优特电力科技股份有限公司、上海超算并行软件有限责任公司、上海鲁齐信息科技有限公司。本标准主要起草人:侯建华、陈勇、秦卫东、杨丽春、王兴念、潘海洋、王忠福、张展新、徐锋光、阳如坤、应臻皑、张场肠、史旭光。阳山G/T 28171-2011 sl 嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可剪裁,适应应用系统对功能、可靠性、成本、体积和功耗严格要求的专门计算机系统。嵌入式技术并不是一个独立的学科,它是伴随着微电子技术和计算机技术的发展,微控制芯片功能越来越强大,而嵌入微控制芯片的设备和系统越来越多而发展起来的。嵌入式系统几乎包括了生活中所有的
4、电器设备,如:MP3、手机、数字电视机、汽车、微波炉、数字相机、电梯、空调、自动售货机、工业自动化仪表与医疗仪器等。虽然大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但嵌入式软件可靠性测试与通用软件可靠性测试有着较大差别,这是由于嵌入式系统软硬件功能界限模糊,软件对硬件的依赖性和专用性较强,对实时性、安全性要求较高,目前针对嵌入式软件的测试和调试工具较少等。这些都使得嵌入式软件的测试相比通用计算机软件测试可继承性较差。本标准参考了国内外相关资料,结合嵌入式软件可靠性测试的实践和特点而制定。四G/T 28171-2011 嵌入式软件可靠性测试方法1 范围本标准规定了嵌入式软件生存周期
5、内软件产品的可靠性测试方法、过程和准则。本标准适用于嵌入式软件生存周期全过程,可用于嵌入式软件测试中的可靠性增长测试和可靠性确认测试要求。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 9386-2008 计算机软件测试文档编制规范GB/T 11457-2006信息技术软件工程术语GB/T 15532-2008 计算机软件测试规范GB/T 16260.2-2006软件工程产品质量第2部分:外部度量GB/T 16260.3-2006软件工程产品质量第3部分:内部
6、度量3 术语和定义3. 1 3.2 3.3 3.4 3.5 3.6 GB/T 11457-2006界定的以及下列术语和定义适用于本文件。软件可靠性software reliability 特定数目的自然单元中或特定任务时间内软件元失效执行的概率。偏离deviation 嵌入式软件执行中的系统行为相对预期行为的偏差。级联cascaded 直接由初始行为产生的行为。例如,级联偏离、级联失效、级联偏差。失效failure 系统运行行为对用户要求的偏离。失效强度failure intensity 单位时间出现的失效次数。注:是表示可靠性的另一种方式。操作operation 持续一段时间,结束时将控制权
7、还给系统的一种逻辑任务。操作与软件的功能或特征相关,例如,GB/T 28171-2011 用户命令的执行、对输入的响应处理、系统事务处理。3. 7 3.8 操作剖面operalional profile 操作及其出现的概率的集合。操作模式operalional mode 随时间或资源与输入的不同而有较大差别的操作的集合。4 测试目的嵌入式软件可靠性测试的目的是:一一通过嵌入式软件可靠性测试有效地发现程序中影响软件可靠性的缺陷,实现可靠性增长;一一验证嵌人式软件是否满足嵌入式系统开发合同或项目开发计划、系统与子系统设计文档、软件需求规格说明和软件设计说明所规定的软件可靠性要求、可靠性的定量要求;
8、评估当前嵌入式软件可靠性的水平,预测未来可能达到的水平,从而为嵌入式软件开发管理提供决策依据;一一通过嵌入式软件可靠性测试,为用户平衡可靠性、时间开发和开发费用提供参考。5 测试环境嵌入式软件可靠性测试的测试环境如下z一一具备嵌入式软件运行的目标环境,或高度一致(除位置、结构、接口等部分外其他环境与目标环境一致)的仿真环境;一一-具备与嵌入式系统应用验证相关的必要的测试仪器仪表,例如,频率源、波形发生器、标准电压电流源、规约分析器等;具备嵌人式系统运行的温度、湿度、电磁兼容、振动、冲击等环境;具备一些专用的测试工具;一一具备操作剖面所需要的全部外部输入输出的环境支持。6 测试内容嵌入式软件可靠
9、性测试的内容主要包括:可靠性增长测试和可靠性确认测试。可靠性增长测试以迭代的方式进行,根据测试过程中检出和眼踪的失效,使用基于可靠性增长模型和统计推理的可靠性评估方法,进行失效强度的估计,然后消除缺陷再测试,使可靠性达到目标要求从而结束测试。可靠性确认测试是产品发布或交付前为确定合同约定或者具体标准规定的可靠性指标得到满足而组织实施的测试。7 测试方法7.1 总则GB/T 15532-2008中确定的系统测试方法适用于本标准,一般采用黑盒测试技术进行嵌入式软2 G/T 28171-2011 件可靠性测试项目的测试。进行嵌入式软件可靠性测试,首先明确可靠性目标。没有规定可靠性目标时,应按照7.2
10、中的方法进行可靠性目标的确定。可靠性目标确定后,编制测试计划、开发操作剖面、进行测试准备、执行可靠性测试、分析评估,最后给出可靠性测试报告。7.2 可靠性目标的确定7.2. 1 确定失效程度对一个嵌入式软件,根据产品的使用范围、对象,确定失效的严重程度。一般根据对人员生命、成本和系统能力的影响来区分失效的严重程度;失效严重程度级别用于对失效数据的分析,在测试过程中判定是否需要查找缺陷和解决。表1给出失效程度的级别。表1嵌入式软件失效的程度级别失效程度级别对失效的描述1 不能进行一项或多项关键操作2 不能进行一项或多项重要操作3 不能进行一项或多项操作,但是有补救办法4 一项或多项操作中的小缺陷
11、7.2.2 为嵌入式软件建立失效强度目标根据嵌入式系统的使用对象,为嵌入式软件建立失效强度目标,表2为推荐的失效强度目标、失效间隔时间和失效影响的对照表。表2失效强度目标、失效间隔时间与失效影响失效造成的影响典型失效强度目标失效间隔时间造成人员伤亡或千万元以上经济损失10-6 114a 没有人身伤害,10万元以上经济损失10- 10 000 h 没有人身伤害,万元以上经济损失10-3 1 000 h 没有人身伤害,千元以上经济损失10-2 100 h 没有人身伤害,少量经济损失10-1 10 h 没有人身伤害,轻微或元经济损失1 1 h 7.2.3 选择通用度量由于嵌入式系统一般是连续运行的,
12、因此嵌入式软件在时间度量上,普通时间和执行时间是一致的,所以,选择普通时间作为通用度量,本测试方法采用小时Ch)作为时间单位。当然也可以采用自然单元作为通用度量。表3为1h任务时间的可靠性与特定周期等效失效强度的对照表。3 GB/T 28171-2011 表31 h任务时间的可靠性与特定周期等效失效强度的对照1 h任务时间的可靠性特定周期失效强度0.368 每1h 1次失效0.9 每1000 h 105次失效0.959 每天1次失效0.99 每1000 h 10次失效0.994 每周1次失效0.998 6 每月1次失效0.999 每1000 h 1次失效0.999 89 每年1次失效失效强度和
13、可靠性转换见式(1)和式(2): A一lnR二-t 、,/、BJ1iqu r,、,、. . . . . . . . . . . . . . . . . . . . . R = exp(- t) 式中:一一失效强度;R 可靠性;t 自然或时间单位数。7.3 开发操作剖面7.3. 1 综述使用表格或图形方式构造嵌入式软件的操作剖面。测试人员在系统体系结构设计人员、软件工程师的参与下构造操作剖面。开发操作剖面时,确定输入及相关数据域,分析系统的可靠性语求,对所有可能的操作模式进行分类列表;分析影响软件操作模式的全部外界条件及其对软件运行的影响程度;对各种功能需求之间的相关性进行分析和组合,对于密切相
14、关的功能模块进行合并,对于部分相关的功能模块给出相应的输入变量的组合方法。7.3.2 确定操作模式对于不同的嵌入式软件,操作模式会显著不同,确定操作模式宜按表4的方法进行。表4操作模式的确定确定操作模式确定方法主要时间和次要时间某天或一天的某段时间,处理的事务或事务频度显著不同,处理事务量的显著差别不同的用户类型管理员、一般使用者、新手等输入的显著差别大量和多变的输入电源的极限电源方面的要求4 GB/T 28171-2011 表4(续)确定操作模式确定方法温度的极限温度方面的要求电磁的极限电磁兼容方面要求其他环境的重大变化湿度、振动、噪声等方面的要求行业规范要求的模式电信、电力、银行等行业的要
15、求7.3.3 确定操作的发起者操作的发起者包括用户、外部条件、嵌入式系统自身等,宜按表5的确定方法进行识别。表5操作发起者的确定确定发起者确定方法使用用户使用者操作、远程登录等外部条件外部输入,例如输入一个盐、收到输入信号嵌入式系统自身嵌入式系统软硬件判断出的条件,例如内存异常、中断信号、内部变量7.3.4 选择表示方法操作剖面的表示方法有表格法和图示法。可根据使用习惯来选择。本标准推荐采用表格方法,即用列表的方式,列出所有操作模式、操作发起者、操作、操作出现率等信息。7.3.5 创建操作表创建操作表需要参考用户需求、软件使用说明、行业规定及相关标准要求等,通常以操作的启动者来划分。在定义输入
16、空间、操作覆盖输入空间时,应考虑全覆盖。表6举例说明如何创建一个操作表。表6操作表确定发起者操作输出个信号到外部1A(外部输入一个信号)输出一个信号到外部2B(使用者输入个指令)显不行信息提不数据满C(内部数据存储满)系统信号灯亮一7.3.6 确定出现率根据用户需求、软件规格、使用说明、经验等信息,确定每种操作的出现率。表7举例说明如何确定出现率。5 G/T 28171-2011 表7出现率操作出现率(每小时出现次数)输出一个信号到外部110 输出一个信号到外部210 显示一行信息1000 提示数据满0.001 系统信号灯亮0.001 合计1 020.002 7.3.7 确定出现概率将每个操作
17、的出现率除以总出现率。表8举例说明如何确定出现概率。表8出现概率操作出现概率输出一个信号到外部10.009 8 输出一个信号到外部20.009 8 显示一行信息0.980 4 提示数据满0.000 000 98 系统信号灯亮0.000 000 98 合计1 7.4 测试准备7.4. 1 综述本活动主要根据概率分布信息和测试计划生成对应的测试用例输入文件,计算或给出每一测试用例预期的输出结果,构建测试环境,选择或开发测试工具,进行测试用例设计;生成测试用例时,一定要保证测试的覆盖率。确定输入及相关数据域,分析系统的可靠性需求,对所有可能的操作模式进行分类列表;分析影响软件操作模式的全部外界条件及
18、其对软件运行的影响程度;对各种功能需求之间的相关性进行分析和组合,对于密切相关的功能模块进行合并,对于部分相关的功能模块给出相应的输入变量的组合方法。附录C列举了一些嵌入式软件可靠性测试用例的实例,可作为测试用例设计参考。7.4.2 测试用例准备6 测试用例准备活动主要包括:一一估计当前版本所需的新测试用例的数量;一一在要测试的系统之间分配新测试用例的数量;一一在每个系统的新操作之间分配新测试用例的数量;指定新测试用例;GB/T 28171-2011 一一一开发新增测试用例,将新测试用例添加到以前版本的测试用例上;一新开发的软件的第一版可靠性测试用例基于前阶段的测试用例来设计。7.4.2. 1
19、 估计需要测试用例的数量估计需要测试用例的数量,要考虑时间和成本因素,取这两个数量的最小值作为计划准备的测试用例的数量。时间的计算,用可用的时间乘以可用的人员数,再除以准备一个测试用例的平均时间。戚本的计算,用建立测试用例的预算除以每个测试用例的平均准备成本。对于再次测试,例如回归测试,只计算新增加的测试用例数量。7.4.2.2 分配测试用例为每个操作分配测试用例数量。对于回归测试,只分配新修改的操作的测试用例。根据操作出现率,进行下列工作:一一确定很少出现的关键操作(概率小但应测到),为每个这样的操作分配测试用倒数量。关键操作是指失效会造成人身伤害、重大损失的操作,对这些操作要分配充足的测试
20、用例。确定偶发性的操作,分配一个测试用例,偶发性的操作是指出现概率非常低的操作,这样做的目的是保证至少为这样的操作分配一个测试用例。一一根据操作概率,把剩下的测试用例分配给剩余的其他操作。7.4.2.3 指定测试用例为每个操作指定测试用例。从操作的直接输入变量的值域中,找出具有相似失效行为的值域,形成输入变量值域组合。在选择了输入变量值域组合之后,从组成值域的集合成员中,随机选择输入变量,作为测试用例。选择了测试用例后,编制测试用例的脚本。7.4.3 测试过程准备为每个操作模式准备一个测试过程,指定或调整测试操作剖面和操作出现率,调整主要发生在回归测试或需求变更的测试过程。7.5 执行测试7.
21、5.1 综述在执行可靠性测试时注意以下方面:-被测软件的测试环境(包括硬件配置和软件支持环境)和预期的实际使用环境应完全致。测试时按测试计划和顺序对每一个测试用例进行测试,判断软件输出是否符合预期结果。一一测试时应记录测试结果、运行时间和判断结果。如果软件失效,那么还应记录失效现象和时间,以供失效分析。7.5.2 分配测试时间分配测试时间宜按照以下方法进行:一一一在要测试的系统之间分配测试时间;一一对进行可靠性增长测试的功能测试、回归测试、负载测试之间分配测试时间;要分配足够的时间进行功能测试,以便充分执行测试用例,并对前一版本进行回归测试,然后把剩下的时间分7 GB/T 28171-2011
22、 配给负载测试;一一对进行负载测试的操作模式之间分配测试时间;一一进行确认测试,将所有的时间都分配给负载测试;一一时间分配以小时计。估计测试需要的时间接式(3):N-F T一一一( 3 ) 式中zt 一一用自然或时钟时间单元表示的测试时间;TN 规范化度量(MTTF数),见式(4);F一一失效强度目标。ln TN=. _ l一一川l-y. ( 4 ) 式中zy一一分辨率;一一提供商风险,即错误地认为失效强度目标没有达到但实际上已经达到的概率;卢一客户风险,即错误地认为失效强度日标已经达到,但实际上没有达到的概率。7.5.3 调用测试对于可靠性增长测试,首先执行功能测试,然后进行负载测试,按照测
23、试用例进行全覆盖测试。在每次对软件做了较大修改后,要进行回归测试。功能测试按照分配的测试用例,顺序调用测试用例进行测试。回归测试应全面检查需求变化处。另外随机测试和回归测试的要求不同,需要注意区分,按影响域调用相关测试用例。7.5.4 标识出现的失效在测试中应对测试的输出进行分析,确定失效、失效时间和失效强度。7.5.4. 1 分析测试输出的偏离采用自动化工具或以人工对测试结果审查,确定执行结果与相对预期行为的偏差。在分析偏差的过程中,不计算级联。7.5.4.2 确定哪些偏离是失效确定出现的偏离是否为失效。硬件错误引起的失效不作为嵌入式软件的失效统计,但对于需要实现软件容错、避免严重错误的失效
24、,应统计在内。7.5.4.3 估计失效发生的时间估计失效发生的时间采用统一的时间度量,即普通时间,以小时为单位。以出现顺序,累加度量单元,包括所有操作模式的功能测试、回归测试、负载测试。对于同时出现的多个失效记录,会导致多个零失效间隔,应在记录的时间间隔内,估计随机的时间,用于替代这些零间隔。7.5.4.4 指派失效严重程度类对失效,确定出失效的严重等级。8 GB/T 28171-20门7.5.4.5 形成测试记录按照执行的测试用例,记录测试过程、测试结果、运行时间、失效时间、失效现象,形成测试记录。表9为测试记录的示例。表9测试记录示例事件时间失效的时间间隔/min开始测试2010年1月1日
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 28171 2011 嵌入式 软件 可靠性 测试 方法
