现代软件测试技术研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:zhongnan1999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
进入二十一世纪以来,信息技术以更加迅猛的速度飞速的向前发展,软件产品在社会各个领域的应用也越来越广泛,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降,继而冲击股票市场。在一些关键应用(如民航订票系统、银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等)中使用质量有问题的软件,还可能造成灾难性的后果。然而时至今日,软件质量的问题仍未得到根本解决,还必须依靠以软件测试为中心的软件质量保障技术,因而软件测试在软件生产实践中得到了迅速发展。软件测试的目的在于揭示软件中存在的错误,从而提供高质量的软件。软件测试在整个软件生存周期中所花费的成本往往超过50%,然而与软件工程中其他研究方向相比,无轮是投入的人力和还是取得的研究成果,都是大大落后的。 我本人长期以来一致在金融系统从事信息技术工作,在工作中一直苦苦探索提高软件质量的途径,然而因为对软件测试工作重视和研究不够,在实践中吃了不少苦头,耗费了大量的时间、精力,甚至耽误了开发进程。因为上述原因,使我深深感到软件测试对于软件质量的保障起着十分重要的作用。也因为这一点,本文主要是结合在金融系统的工作实践,对现代软件测试技术领域中的若干问题进行了研究,因为本人的工作环境和工作背景的限制,本文着重讨论分析了结构化测试、面向对象测试、软件测试模型、软件测试方法及组织等问题内容。 结构性测试的主要技术有控制流测试和数据流测试。覆盖充分性准则是这些技术的关键。控制流测试技术的充分性准则包括从语句覆盖、段覆盖直到路径覆盖等准则。数据流测试技术则采用引用覆盖直到环境覆盖等准则,数据流覆盖基于附加了数据引用关系的控制流程图,以测试程序中数据的定义和使用的正确性。目前提出的数据流覆盖准则包括定义-引用关系覆盖、引用覆盖、定义-引用覆盖、2元交互链覆盖,计算环境覆盖、所有谓词引用/部分算计引用覆盖等等准则。测试数据生成也是结构性测试的重要问题,我们详细介绍了一种路径覆盖测试生成算法。 面向对象语言具有信息隐蔽、封装、继承和动态绑定等特点。这些特点给软件测试带来了新的困难。面向对象测试主要有两种方法,基于规格说明和基于程序。基于规格说明的测试使用类的正确性和对象的观察等价性等概念构筑了一个新的测试框架。基于程序的测试利用类的继承关系进行层次式增量测试,或者利用类流图提出新的覆盖充分性准则。我们注意到基于规格说明的测试方法的缺点在于缺乏充分性准则和测试评估的手段、测试实例长度值的选择难以确定等等,而测试覆盖分析的缺点在于对缺失功能的不敏感性、缺乏错误检测、缺乏测试实例生成手段等等。我们提出了一种新的测试想法,该想法基于规格说明测试方法和测试覆盖分析这两种技术,避免了上述种种缺点,从而达到了优势互补的目的。 V模型在软件测试模型方面是最广为人知的模型,通过对V模型的深入探讨,分析其不足之处,我们建议对V模型进行适当改造,如在部分阶段延迟进行单元测试和集成测试,在不同阶段上提前进行测试设计,这些改造在一定程度上使得V模型能更好的指导测试工作。在V模型的基础上我们研究了X模型,其关注解决交接和频繁集成的周期的问题,着力于避免把大量时间花费在测试文档编写上面,目的是把时间真正用于测试的项目上。在X模型的基础上我们深入探讨了前置测试模型,该模型很好的把开发和测试结合起来,对每一个交付内容进行测试,通过反复交替的开发和测试,前置测试模型给需要使用测试技术的开发人员、测试人员、项目经理和用户等带来很多不同于传统方法的内在的价值。 软件测试要想取得好得效果,理论上不仅取决于从单元测试到验收测试的每一个步骤,在工作实践中我们认为还应时刻注意软件测试过程中常见的一些问题,只有处理好了这些问题,软件测试才可能取的好的结果,也因为此,软件测试过程的组织从来都不是一个小问题,必须要有很好的人员组织和详细软件测试计划;在实际测试过程中,我们还感觉到硬件配置是一个不可忽视的方面,软件的安装测试和软件的兼容性测试也是软件测试中很重要的方面,重视软件每一个过程和每一个方面的的测试是软件测试人员的宝贵经验。软件测试自动化能够帮助测试人员进行更加彻底的测试,降低软件测试的成本,帮助提高软件质量并且有可能使原来一些手工不能测试的工作得以进行。自动化测试之所以能在很多大公司如金融企业中实施起来,往往因为它有适合自动化测试的特点和高的投资回报率。在实际过程中有很多情况是适合自动化测试的,也有许多情况是不适合自动化测试的。 中国太平洋保险公司作为中国最大的商业保险公司之一,追求高质量的软件产品一直是公司的目标和任务。在实际工作中,我作为一名信息技术人员多次参加太保公司多个软件系统的测试,在工作中我深感测试模型的选择对测试工作起着至关重要的作用。在经过南大工程硕士班的学习之后,结合我在工作中的实践设计了CPC模型,并应用该模型完成了对太平洋保险公司新车险系统的测试。
其他文献
随着计算机与网络的日益普及,数据库技术在各行各业广泛应用,同时也保存着大量数据信息,这些数据大多是面向应用的、低层次的,对于企业管理人员来说从中获取有帮助的知识是非
IP电话的本质特征在于语音分组交换技术,它将模拟语音进行模数转换、压缩编码、打包分组,然后基于分组交换网络进行传输,然后再通过解包解压缩处理恢复语音从而实现语音通信.
本文探讨了社保行业数据仓库建设的必要性和可行性,社会保险是我国信息化建设较为成熟的一个领域,经过十几年持续的建设,已基本形成了稳定的应用并积累了海量的数据,这就使建设以
随着软件系统愈来愈复杂,软件设计的核心已从"算法+数据结构"转向对系统总体结构的设计和规范,亦即软件体系结构这一层次上的设计.体系结构是软件系统的高层抽象,用于描述整
扩展标记语言(XML)是一种元标记语言。就像在广域网协会(World Wide Web Consoctium,W3C)的XML 1.0规范中所说明的,XML可以让用户定义自己的标记语言,从而可以在XML文档中描述
随着经济全球化和知识经济时代的到来,企业之间的竞争日益激烈,在这种情况下,企业如何提高自己的产品质量,降低质量成本,增加客户的满意度日益成为企业管理的重要内容.在质量
UML是一种在工业界得到广泛应用的系统建模语言.然而由于缺乏形式化的语义而限制了它向更广泛的应用领域发展.形式化语言虽以其精确语义著称,却无法从现实世界中直接获取模型
随着社会的发展,信息显得越来越重要,而信息安全则是社会广泛关注的问题,密码技术是实现信息安全的核心技术之一,它被广泛的用在军事、政治、商业、金融等领域,现在,越来越多的人用
该文首先介绍了移动IPv6和切换相关协议和技术,然后以平滑切换为切入点,通过分析移动环境下实时传输的要求,提出移动IPv6平滑切换需要解决的问题.针对这些问题,该文研究和设
移动Ad hoc网络是一种由无线移动主机/节点组成的动态自治网络,具有不需要使用固定基础设施的特性.可以用于没有无线设施存在或出于费用和安全方面的考虑不方便设置无线设施