论文部分内容阅读
近年来随着人们对软件产品需求的日益增加,软件产品的种类与数量以难以想象的速度增长。用户需求的多样性、个性化和易变性是这一时期软件产品的特点。在这种情况下,传统的软件工程管理理论越来越难以适应新的软件开发需求,软件开发机构迫切的需要一整套与软件开发过程实际情况相结合的、可操作的、更有效的软件工程方法。20世纪90年代末,一些软件工程专家提出了“敏捷软件工程”的概念,根据软件工程文档量的多少,将其开发方法称之为“敏捷软件开发方法”或“轻型方法Lightweight Methodologies),将传统的软件工程方法称之为“重型方法’(Heavyweight Methodologies)。极限编程(Extreme Programming, XP)便是敏捷方法中最流行的一种方法。极限编程用测试驱动开发,测试优先于编码,颠覆了传统的开发模式,如瀑布模型、增量模型等。因此,传统的测试模式如X模型、H模型等也变得不适用,需要新的适合测试优先的模型。本文在研究极限编程开发特点和软件测试相关理论的基础上,对XP开发过程中的测试方法进行分析,指出传统的软件测试模型与测试方法已不能适应极限编程特点,而当前的XP开发实践过程缺乏符合极限编程思想且可用于支持开发过程全生命周期的专用测试模型。基于极限编程(Extreme Programming, XP)开发的思想,借鉴传统开发模型的优点,本文提出了一个完整的支持极限编程开发过程的软件测试模型TDDTM,并阐述了TDDTM测试模型的原理,对该模型的每一个阶段进行了详细描述。TDDTM模型符合极限编程中的测试驱动开发的思想,引入了用例继承与分阶段逐步细化用例的机制,模型大致分为设计迭代与开发迭代两个部分,验收测试到单元测试四个阶段,是一个至上而下的微型递增测试模型。(?)DDTM模型在传统的模型的基础上以测试为主线,将测试驱动的思想应用于软件开发的各个阶段,以测试指导开发;另外在单元测试和集成测试阶段加入了独立测试,以发现代码内部的逻辑错误,提高单元测试的错误检测的全面性和准确性。在回归测试阶段采用本文提出的RTSM方法对回归范围进行确定,以减小和确定回归测试的范围,减少测试代价。最后在理论上分析了相比于经典的测试模型和传统XP开发中的测试过程,应用TDDTM测试模型支持XP开发的优势。实验过程中,结合“网上商城系统”的实践,将TDDTM的测试结果与传统的XP方法实现的系统的测试结果相比较,验证了模型在XP开发模式的有效性。