欢迎来到天天文库
浏览记录
ID:6051910
大小:28.50 KB
页数:7页
时间:2018-01-01
《软件可靠性和测试方法探究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件可靠性和测试方法探究 摘要:介绍了软件可靠性的概念,从分析影响软件可靠性的因素开始,提出了提高软件可靠性的方法,进而引出了软件可靠性测试的定义以及进行软件可靠性测试的目的,阐述了进行软件可靠性测试的方法。关键词:可靠性;软件可靠性;软件测试;可靠性测试中图分类号:TP302文献标识码:A文章编号:16727800(2012)011003002作者简介:戴艳芳(1982-),女,中国空空导弹研究院工程师,研究方向为软件测试、软件工程。1软件可靠性工程概述随着计算机技术的飞速发展,软件的规模越来越大,
2、复杂性越来越高,软件可靠性的有效控制变得越来越复杂,研究和分析软件可靠性要求的特点,建立和完善软件可靠性设计技术和测试技术成为提高软件产品质量非常迫切而重要的课题。1.1可靠性的定义7长期以来,学术界对软件可靠性的确切含义一直存在争议。争论的焦点主要集中在硬件可靠性的定义是否能够直接引申到软件领域,软件的正确性是否能等同于可靠性。经过长期的争论和研究,1983年美国IEEE计算机学会对“软件可靠性”做出了如下两点定义:(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统
3、使用的函数,也是软件中存在的错误的函数;系统输入将确定是否遇到已存在的错误。(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。1.2影响软件可靠性的因素软件可靠性表明了一个软件按照客户的需求和设计的目标,执行其功能的正确程度。这要求一个可靠的软件应该具有正确性、健壮性、完备性以及一致性的特点。正是因为软件中的缺陷引起了软件故障,使软件不能满足需求。软件缺陷的形成如表1所示。通过对这些软件缺陷形成原因的分析可以看出,为了保证软件的可靠性,必须对软件开发过程采取措施,消除各阶段活动中各有关因
4、素存在的问题(即要实施软件工程化)才能使软件可靠性得到提高。1.3提高软件可靠性的方法在软件结构的可靠性设计中,软件可靠性的基础是软7件工程化技术,它提出了一些软件开发的基本原则和要求。软件设计采用自顶而下和模块化设计的方法,建立一套结构良好的程序系统,将软件设计成由相对独立、功能单一的模块组成的系统,使软件的耦合度最弱、内聚度最高且能使软件便于测试与维护。软件规模与复杂度是影响软件可靠性的一个主要因素。把一个大的系统划分成相对独立的模块,降低了系统实现难度,从而降低了软件在实现过程中出错的可能性,有利
5、于提高软件可靠性。上述方法都是在软件的设计阶段,为了进一步提高可靠性,必须进行有针对性的软件测试,即软件可靠性测试。2软件可靠性测试2.1软件可靠性测试的定义测试是指为了发现软件中的错误而采用人工或自动的手段来运行某个程序的过程。但是在不同的开发阶段、对于不同的人员,测试的任务是不同的。软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。其采用的是按照软件运行剖面对软件进行随机测试的测试方法。2.2软件可靠性测试目的软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。其采
6、用的是按照软件运行剖面(对软件实际使用情况的统计规律的描述)对软件进行随机测试的测试方法。通过软件可靠性测试可以达到以下目的:7(1)有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长:软件可靠性是指“在规定的时间内,规定的条件下,软件不引起系统失效的能力,其概率度量称为软件可靠度。”软件的“规定的条件”主要包括相对不变的条件和相对变化的条件,相对不变的条件如计算机及其操作系统;相对变化的条件是指输入的分布,用软件的运行剖面来描述。按照软件的运行剖面对软件进行测试一般先暴露在使用中发生概率高的缺陷
7、,然后是发生概率低的缺陷。而高发生概率的缺陷是影响产品可靠性的主要缺陷,通过排除这些缺陷可以有效地实现软件可靠性的增长。(2)验证软件可靠性满足一定的要求:通过对软件可靠性测试中观测到的失效情况进行分析,可以验证软件可靠性的定量要求是否得到满足。(3)估计、预计软件可靠性水平:通过对软件可靠性测试中观测到的失效数据进行分析,可以评估当前软件可靠性的水平,预测未来可能达到的水平,从而为开发管理提供决策依据。软件可靠性测试中暴露的缺陷既可以是影响功能需求的缺陷也可以是影响性能需求的缺陷。2.3软件可靠性测试
8、方法2.3.1可靠性测试策略选择从测试的策略来讲,可靠性测试的方法可分为两种:白盒测试和黑盒测试。7白盒测试是一种按照程序内部的逻辑结构和编码结构设计并执行测试用例的测试方法,又称为基于代码的测试,采用这种测试方法,测试人员必须看到被测的源程序,分析程序的内部结构,从检查程序的逻辑着手设计测试用例。一般来说,白盒测试根据覆盖要求设计测试用例,设计的测试用例要完成语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖,并达到一定的覆盖比例要求。白盒测试
此文档下载收益归作者所有