版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件可靠性与测试方法探析摘要:介绍了软件可靠性的概念,从分析影响软件可靠性的因素开始,提出了提高软件可靠性的方法,进而引出了软件可靠性测试的定义以及进行软件可靠性测试的目的,阐述了进行软件可靠性测试的方法。关键词:可靠性;软件可靠性;软件测试;可靠性测试软件可靠性工程概述随着计算机技术的飞速发展,软件的规模越来越大,复杂性越来越高,软件可靠性的有效控制变得越来越复杂,研究和分析软件可靠性要求的特点,建立和完善软件可靠性设计技术和测试技术成为提高软件产品质量非常迫切而重要的课题。可靠性的定义长期以来,学术界对软件可靠性的确切含义一直存在争议。争论的焦点主要集中在硬件可靠性的定义是否能够直接引申到
2、软件领域,软件的正确性是否能等同于可靠性。经过长期的争论和研究,1983年美国IEEE计算机学会对“软件可靠性”做出了如下两点定义:(1)在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系统输入和系统使用的函数,也是软件中存在的错误的函数;系统输入将确定是否遇到已存在的错误。(2)在规定的时间周期内,在所述条件下程序执行所要求的功能的能力影响软件可靠性的因素软件可靠性表明了一个软件按照客户的需求和设计的目标,执行其功能的正确程度。这要求一个可靠的软件应该具有正确性、健壮性、完备性以及一致性的特点。正是因为软件中的缺陷引起了软件故障,使软件不能满足需求。软件缺陷的形成如表1所示
3、。通过对这些软件缺陷形成原因的分析可以看出,为了保证软件的可靠性,必须对软件开发过程采取措施,消除各阶段活动中各有关因素存在的问题(即要实施软件工程化)才能使软件可靠性得到提高。提高软件可靠性的方法在软件结构的可靠性设计中,软件可靠性的基础是软件工程化技术,它提出了一些软件开发的基本原则和要求。软件设计采用自顶而下和模块化设计的方法,建立一套结构良好的程序系统,将软件设计成由相对独立、功能单一的模块组成的系统,使软件的耦合度最弱、内聚度最高且能使软件便于测试与维护。软件规模与复杂度是影响软件可靠性的一个主要因素。把一个大的系统划分成相对独立的模块,降低了系统实现难度,从而降低了软件在实现过程中
4、出错的可能性,有利于提高软件可靠性。上述方法都是在软件的设计阶段,为了进一步提高可靠性,必须进行有针对性的软件测试,即软件可靠性测试。软件可靠性测试软件可靠性测试的定义测试是指为了发现软件中的错误而采用人工或自动的手段来运行某个程序的过程。但是在不同的开发阶段、对于不同的人员,测试的任务是不同的。软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。其采用的是按照软件运行剖面对软件进行随机测试的测试方法。软件可靠性测试目的软件可靠性测试是指为了保证和验证软件的可靠性要求而对软件进行的测试。其采用的是按照软件运行剖面(对软件实际使用情况的统计规律的描述)对软件进行随机测试的测试方法
5、。通过软件可靠性测试可以达到以下目的:(1)有效地发现程序中影响软件可靠性的缺陷,从而实现可靠性增长:软件可靠性是指“在规定的时间内,规定的条件下,软件不引起系统失效的能力,其概率度量称为软件可靠度。”软件的“规定的条件”主要包括相对不变的条件和相对变化的条件,相对不变的条件如计算机及其操作系统;相对变化的条件是指输入的分布,用软件的运行剖面来描述。按照软件的运行剖面对软件进行测试一般先暴露在使用中发生概率高的缺陷,然后是发生概率低的缺陷。而高发生概率的缺陷是影响产品可靠性的主要缺陷,通过排除这些缺陷可以有效地实现软件可靠性的增长。(2)验证软件可靠性满足一定的要求:通过对软件可靠性测试中观测
6、到的失效情况进行分析,可以验证软件可靠性的定量要求是否得到满足。3)估计、预计软件可靠性水平:通过对软件可靠性测试中观测到的失效数据进行分析,可以评估当前软件可靠性的水平,预测未来可能达到的水平,从而为开发管理提供决策依据。软件可靠性测试中暴露的缺陷既可以是影响功能需求的缺陷也可以是影响性能需求的缺陷。软件可靠性测试方法可靠性测试策略选择从测试的策略来讲,可靠性测试的方法可分为两种:白盒测试和黑盒测试。白盒测试是一种按照程序内部的逻辑结构和编码结构设计并执行测试用例的测试方法,又称为基于代码的测试,采用这种测试方法,测试人员必须看到被测的源程序,分析程序的内部结构,从检查程序的逻辑着手设计测试
7、用例。一般来说,白盒测试根据覆盖要求设计测试用例,设计的测试用例要完成语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖,并达到一定的覆盖比例要求。白盒测试需要将被测程序在测试环境下运行,并能在运行过程中跟踪程序的执行路径。黑盒测试又称功能测试。在进行黑盒测试时,将软件看作一个黑盒,不考虑程序的内部结构,只需知道软件的输入、输出对应关系或者软件的功能,因此,黑盒测试是从客户角度出发的测试。它根据开发方提供的软件需求规格说明书来设计测试用例,按照测试用例的要求运行被测程序。黑盒测试着重于验证软件功能和性能的正确性,常见的测试项目包括功能测试、性能测试、边界测试、余量测试以及强度测试等。显然,如果软件的
8、外部特性本身存在问题,仅仅通过黑盒测试是无法发现的软件可靠性测试从理论上讲是一种黑盒测试,因为它不需要了解程序的内部结构以及如何实现等问题,它是面向需求、面向使用的测试,但从验证编码的正确性方面来讲,白盒测试又是可靠性测试中不可或缺的一部分,因此,要提高软件可靠性,最好采用以黑盒测试为主,结合白盒测试的方法进行互补测试。基于功能剖面的可靠性测试方法软件的可靠性是视使用者如何对软件进行操作而定的,同一个软件,使用者的操作方式不同,软件的可靠性也会随之产生变化。因此,用户使用软件的方式对于软件可靠性测试十分重要。而用户使用软件的方式就是所谓的软件功能剖面。任何一个软件系统在使用过程中,各个软件功能
9、剖面的使用概率是不同的,因此,在进行可靠性测试时,首先要确定软件的功能剖面,由软件功能剖面来指导可靠性测试工作。测试方案的确定首先需要确定软件的功能剖面。通过对使用者使用软件的实际情况以及使用者给出的经验数据进行分析,随后确定每条功能路径在系统中的使用概率,并以此为依据随机选取一定数量的测试用例,最终确定测试方案。使用基于功能剖面的方法选取测试用例,依据不同功能路径的使用频率来进行测试工作分配,可使测试工作量分配的更为均匀。在软件可靠性测试中,均匀的测试工作量能够更真实地反映软件系统在实际使用中的情况,使软件中的每个功能都能得到充分的测试。结语软件可靠性对现代高可靠性软件产品的设计和生产有着巨大的影响,尽管目前软件可靠性设计和测试的方法存在着一定的不足和缺陷,但是随着软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026hr助理面试题及答案
- 2026javamysql面试题及答案
- 2026linux c 面试题及答案
- 初中一年级地理:世界主要地形类型的特征、分布及其对人类活动的影响(第二课时)
- 初中英语新概念第一册Lesson6162:情态动词must与健康主题跨学科融合教案
- 小学二年级数学《认识钟表》单元教学设计
- 临床医学专业本科四年级《医学影像学》专题教学设计-胸部CT盲区精析与系统性阅片策略
- 初中数学七年级上册(湘教版)有理数乘法知识清单
- 2026年监理工程师继续教育房建试题及答案
- 2026年化工化验分析员试题及答案
- 云南大理西电新源开发有限责任公司招聘笔试题库2026
- GB/T 12957-2026用于水泥混合材的工业废渣活性试验方法
- 2026年人教鄂教版(新教材)小学科学三年级下册期末学情测试卷及答案(2套)
- 2026人教版小学四年级下册语文全单元课文易错考点梳理讲义
- 2026春小学信息技术三年级下册期末练习卷(清华版贵州)附参考答案
- 2026年人教版(新教材)初中信息科技七年级全一册第二学期期末综合测试卷及答案
- 2026内蒙古医药行业市场现状供需分析及投资评估规划分析研究报告
- 中投顾问:2026年中国未来产业深度分析报告
- 《煤矿重大事故隐患判定标准》(2026版)解读
- 2026年高中历史学业水平合格性考试知识点总结(复习必背)
- 2026年7月浙江高中学业水平合格考生物试卷试题(含答案详解)
评论
0/150
提交评论