浅析软件缺陷

来源 :科学与财富 | 被引量 : 0次 | 上传用户:Elf_nastia
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在软件的开发过程中,软件缺陷的产生是不可避免的。那么究竟什么是软件缺陷,造成软件缺陷的主要原因又有哪些呢?本文将从软件缺陷的类型、级别和软件缺陷产生的原因等方面进行阐述。
  关键词:软件缺陷 级别 状态 原因
  一、所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。软件缺陷的产生主要是由软件产品的特点和开发过程决定的。
  软件缺陷的主要类型有:1. 软件没有实现产品规格说明中提到的功能;2.软件中出现了产品规格说明指明不应该出现的错误; 3.软件没有实现虽然产品规格说明未明确提及但应该实现的目标;4.软件难以理解,不容易使用,运行缓慢。
  二、软件缺陷的级别和状态
  (1)软件缺陷大体可分为四种级别,分别为:
  致命的缺陷。出现致命的错误,往往导致系统或应用程序崩溃、死机,或者造成数据丢失、主要功能完全丧失。
  严重的缺陷。出现严重的错误,表现为功能特性没有实现,主要功能部分丧失,次要功能完全丧失,或者出现致命的错误声明。
  一般的缺陷。出现一般的错误,表现为不太严重,虽然有一些缺陷存在,但是不会影响系统和程序的基本使用,功能没有被很好的实现,如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等,没有达到预期要求。
  微小的缺陷。出现微小的错误,都是无关紧要的小问题,软件还可以使用,而且不影响功能的实现。
  (2)从表现状态方面,软件缺陷可分为以下五种。
  激活状态(Open):问题没有解决,测试人员新报告的缺陷或者验证后缺陷仍旧存在。
  已修正状态(Fixed):开发人员针对缺陷来修改程序,认为已解决问题或者通过单元测试。
  关闭状态或非激活状态(Close):测试人员验证已经修正的缺陷后,确认缺陷不存在后的状态。
  保留状态:当所报告的缺陷目前无法解决或是第三方产品引起的,可以看成保留状态。
  不一致状态:当所报告的缺陷暂时不需要解决或者在下一版本解决的会更好些,可以看成是不一致状态。
  三、软件缺陷的原因分析
  (1)软件缺陷所产生的原因,主要有以下四个方面。
  1. 技术问题
  技术问题包括:算法错误,在给定条件下没能给出正确或准确的结果。 语法错误,对于编译性语言程序,编译器可以发现这类问题,但对于解释性语言程序,只能在测试运行时发现;计算和精度问题,计算的结果没有满足所需要的精度;接口参数传递不匹配,导致模块集成出现问题。
  2. 团队工作
  团队工作产生的原因主要包括:系统需求分析时对客户的需求理解不清楚,或者和用户的沟通存在一些困难;不同阶段的开发人员相互理解不一致。例如,软件设计人员对需求分析的理解有偏差,编程人员对系统设计规格说明书某些内容重视不够或存在误解;对于设计或编程上的一些假定或依赖性,相关人员没有充分沟通;项目组成员技术水平参差不齐,新员工较多,或培训不够等原因也容易引起问题。
  3. 软件本身
  软件本身存在的问题包括:文档错误、内容不正确或者拼写错误;没有考虑大量用户的使用场合,从而可能引起强度或负载问题;对程序逻辑路径或数据范围的边界考虑不够周全,漏掉某些边界条件,造成容量或边界错误;对一些实时应用,要精心设计和技术处理,保证精确的时间同步,否则容易引起时间上的不协调、不一致带来的问题;没有考虑系统崩溃后的自我恢复或数据的异地备份,灾难性恢复等问题,从而存在系统的安全性和可靠性隐患;硬件或系统软件上存在的错误以及软件开发标准上的错误。
  4. 项目管理的问题
  项目管理方面的问题主要包括:缺乏质量文化,不重视质量计划,对质量、资源、任务、成本等的平衡性把握不好,容易挤掉需求分析、评审、测试、等时间,遗留的缺陷会比较多; 开发周期短,需求分析、设计、编程、测试等各项工作不能完全按照定义好的流程来进行,工作不够充分,结果也就不完整、不准确,错误较多;由于周期短,还给各类开发人员造成太大的压力,引起一些人为的错误等。
  (2)从测试观点可以将对软件缺陷分为以下五类
  1.功能缺陷:功能缺陷包括,规格说明书缺陷、功能缺陷、测试缺陷和测试标准引起的缺陷。
  2. 系统缺陷:系统缺陷包括,外部接口缺陷、内部接口缺陷、硬件结构缺陷、操作系统缺陷、软件结构缺陷、控制与顺序缺陷、资源管理缺陷;
  3. 加工缺陷:加工缺陷包括,算术与操作缺陷、初始化缺陷、控制和次序缺陷、静态逻辑缺陷。
  4. 数据缺陷:数据缺陷包括,动态数据缺陷、静态数据缺陷、数据内容缺陷、结构缺陷和属性缺陷。
  5. 代码缺陷:代码缺陷包括,数据说明错误、数据使用错误、计算错误、比较错误、控制错误、界面错误、输入和输出错误。
  总之,在软件开发的过程中,软件缺陷的产生是不可避免的。为了更好的认识软件缺陷,找出并修正软件中出现的各种问题,我们还应当处理好软件质量保证与测试的关系。软件质量保证是采取一些措施或方法来改进软件开发过程,尽量防止软件缺陷的产生,而软件测试是尽可能地发现软件缺陷并确保缺陷得以改正,使得软件产品更加稳健。两者的职责虽然有所不同,但是他们之间的活动有所交叉,它们是相互依赖,相互促进的。为了更好的实现软件的功能,我们要在软件开发的早期进行测试,如需求分析阶段就应该介入,问题发现的越早越好,发现缺陷后要尽快修复缺陷,因为随着产品开发工作的进行,一个小错误会扩散成大错误,为了修改后期的错误所做的工作要多得多,即越到后来往前返工也越远,缺陷发现或解决的越迟,成本就会越高。修正错误的代价不是随时间线性增长,而几乎是呈指数增长的。
  参考文献
  [1] 宋广军. 软件工程 [M].北京:北京航空航天大学出版社, 2011年
  [2] 张海藩. 软件工程导论[M].北京:清华大学出版社, 2012年
  [3] 贺平. 软件测试技术[M].北京:机械工业出版社,2004年
  作者简介:赵俊玲 新乡职业技术学院 河南省新乡市 453006 1982年04月,女,河南新乡,本科学士,助理讲师
其他文献
<正>1 铸件特点 防辐射门板铸铁件牌号为HT200,最大尺寸为5720&#215;2050&#215;150mm,最大壁厚150mm,单重11吨。技术条件要求按《屏蔽铸铁技术条件 (EJ78—75)》制造和验收
摘要结合南宁市某街道路基改造工程中拉森钢板桩支护技术的施工实际,对该技术的主要施工工艺和环节进行相应探讨,对同类工程的施工有一定的参考价值。  关键词市政工程,基础支护,拉森钢板桩  中图分类号TU4文献标识码A文章编号1673-9671-(2010)061-0042-01    在城市市政工程既有市政道路维修改造项目施工过程中,普遍存在的难点是原有道路的交通要维持以部分而不能完全封闭,致使施工场
数控机床加工零部件方便快捷,节省人力并且更为高效。影响零部件的质量因素有很多,除了工艺因素、操作技巧之外更主要的是数控机床的加工精度。想要提高数控机床加工的精度就要
摘要:随着经济的快速发展,建筑行业的发展速度在不断的加快,在社会的不断发展过程中,人们对建筑结构有了更高的要求,结构的类型和结构体系都成为人们关注的焦点问题,所以在建筑结构设计中,要根据工程的实际情况进行分析的评估,从而确定建筑的结构,并进行施工图的设计。文中分析了结构设计的目的、技术原则,并进一步对建筑结构设计的技术要点进行了具体的阐述。  关键词:建筑结构 设计 要点 趋势  自改革开放以来,
检修作业属于高危行业,检修安全是检修类企业的头等大事,做好检修安全工作是检修企业一切工作的基础。笔者根据检修作业属于高危行业,检修安全是检修类企业的头等大事,做好检修安
王南湜认为,在经典马克思主义中,问题意识、理论意识和学术史意识是不可或缺、内在相关、互相支持的三个方面。但在马克思主义的发展中,这三者的统一与均衡却往往被打破,从而
摘要:在近几十年,混凝土成为建筑工程中重要的材料。随着国民经济的快速发展,在重大建筑工程或高层建筑中,经常会遇到大体积混凝土的浇筑施工,由于大体积混凝土在浇筑施工后常出现裂缝现象。因此,如何对大体积混凝土进行浇筑施工,确保工程质量满足工程建设的要求,是当前施工单位面临的一个重要难题。本文对建筑工程中的大体积混凝土的特点、产生裂缝的原因,以及对其在浇筑施工中的技术问题做了详细论述。  关键词:建筑工
摘 要:单晶硅氧含量的高低,直接影响其OSF缺陷、单晶硅电池的衰减系数、效率[1]。直拉单晶工艺使用的石英埚和硅熔液的反应,决定了直拉单晶硅棒氧含量处于较高的水平,尤其是单晶硅棒头部,影响了晶体质量。本文通过计算机模拟仿真,结合工艺试验,研究氩气流量、坩埚转速、坩埚位置对晶体氧含量的影响。  关键词:硅晶体氧含量;计算机仿真;坩埚转速;坩埚位置;氩气流量  1、引言  随着晶硅光伏电池的发展,对晶
为探究影响方中空夹层钢管混凝土火灾后剩余轴压承载力的因素,利用ABAQUS有限元软件,建立方中空夹层钢管混凝土的温度场和力学场分析模型。通过建模分析,可以得出以下结论:计
摘要:在选煤工作中离心式水泵会出现很多故障,要保证其正常工作必须对这些故障进行深入的了解,并获得一定的排除方法。本文从两个方面对此展开了分析,首先探讨了离心式水泵结构组成及其工作原理,将整个水泵的机械组成进行了拆解,并对各个部件的基本功能进行了分析,在此基础上对水泵的工作原理进行了细化探讨。最后针对离心式水泵的常见故障及其排除进行了研究,为实际工作中水泵的工作保养提供了一定的参考。  关键词:离心