论文部分内容阅读
随着信息技术的飞速发展,软件产品逐渐应用到社会生活中的各个领域。在软件应用不断扩展的同时,软件质量逐渐成为人们关注的焦点。市场的快速变化对软件开发提出了更高的要求,只有迅速适应市场的变化、快速发布高质量的软件,才能赢得市场并且保持在市场上处于有利地位。
软件测试是软件质量保证的关键步骤。测试作为产品开发中的一个重要环节,不仅需要对新产品质量负责,同时也需要为企业在市场竞争中做出应有的贡献,提高其时间性、经济性和有效性。强化软件测试,提高软件的需求分析、设计和编码的质量,可以大幅度降低软件开发和维护的费用。
传统的软件开发方法把软件开发过程划分为需求分析、概要设计、详细设计、软件编码、软件测试、软件维护等几个阶段,软件测试仅仅处于软件维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。而事实上,软件测试应该贯穿于软件项目的整个生命过程中,在软件项目的每一个阶段都需要进行不同目的和内容的测试活动,以保证各个阶段的正确性。传统的软件开发方法忽视与客户和开发人员的交流,认为只要把前期的调研工作做细致、完整,就可以在早期确定所有的需求,从而减少后期因需求变动引起的开发成本的增加。然而在实际的软件开发过程中,变化性因素有很多,这样从客观上来说,很难设计出一个一次性的架构;另一方面,拒绝变化是一种对客户不负责任的行为,开发出的产品与用户的需求不一致,有可能导致用户根本不接受开发人员提交的最终产品。
在企业竞争日益激烈以及客户对软件产品的期望和要求越来越高的情况下,使用传统的软件开发方法与测试方法会导致开发资源浪费、质量不高,并使测试人员经常面临时间短、测试任务量大的处境。如何在多变的环境下,既保持整个测试任务的灵活性,又能保证高质量按时地发布软件产品,这对测试部门而言是一个极大的新的挑战。
近年来关于软件测试出现了一些新的方法和概念。现代测试技术是融合了针对测试人员、测试覆盖、潜在软件缺陷、测试活动和结果评估等技术的综合体。所有的测试技术都是针对这五个方面的,测试可以针对其中一个或几个方面,也可以综合运用这五个方面来达到测试目的。
本文分析了软件测试的理论、方法及测试模型。近年来随着信息技术的发展提出了新的软件开发过程,即敏捷过程。它的特点是容易适应变化并迅速做出自我调整。敏捷的价值观是“注重个人及互动胜过过程和工具,注重可用软件胜过详尽文档,注重客户合作胜于合同谈判,注重响应变化胜于遵守计划[1]”。极限编程(Extreme Programming,简称XP)是目前应用最为广泛的敏捷开发方法之一,是一种强调适应和以人为导向的轻量级软件开发方法。敏捷测试,就是符合敏捷价值观的测试活动,运用敏捷方法指导和组织测试过程。也可以是基于使用敏捷方法开发的项目中的测试活动。
作者通过参与公司的敏捷项目测试过程的研究和实施,重点研究了敏捷开发方法中的极限编程方法以及相应的敏捷测试的要求、要素和关键技术,在分析了业界流行的几种测试模型的优缺点的基础上,结合自己对极限编程和敏捷测试的理解,提出一个改进的适用于XP极限编程的敏捷测试模型;并结合一个实际的采用XP敏捷方法开发的项目,设计了基于XP的敏捷测试的一整套实施流程。同时在项目的实施过程中,验证了基于XP的敏捷测试流程的可行性和先进性,表明本课题的研究具有一定的实际应用前景,对业界敏捷开发方法的应用及软件测试的发展有一定的促进作用。