论文部分内容阅读
随着网络及相关技术的飞速发展和应用领域的不断扩大,分布式系统已经成为构建网络应用的主要选择。同时,当前的分布式系统大多数使用面向对象的计算机语言来编写,因此,当前的分布式系统不仅具备并发性、缺乏全局时钟、故障独立性、异构性、开放性、透明性、安全性、可伸缩性等特征,同时还具有面向对象的封装性、继承性、多态性等特征。然而,这样的技术发展在带来各种优势的同时,也对软件的质量保证提出了新的更高的要求,作为软件质量保证最主要的手段,软件测试对于分布式系统而言有着前所未有的重要性。目前主流的软件测试模型与框架在开发环境、技术和开发流程已经发生巨大变化的分布式系统开发过程中,已经无法有效地保证分布式系统的软件质量。如何设计适合分布式系统的测试模型和框架进行全面的测试成为了一个急需研究和发展的方向。首先,本文对分布式系统测试的相关内容进行研究,包括分布式系统的概念、特征、系统模型等基础理论,软件测试的概念和分类等基础理论,以及分布式系统测试组件网络化、部署成本高、测试结果不确定性等特征。其次,在研究目前主流软件测试模型的优势劣势的基础上,提出适合分布式系统的测试模型,以迭代开发为核心,以测试流程控制开发流程,具有全面性、敏捷性和持续性三个基本特征。该模型继承了目前主流的软件测试模型各种优点,同时避免了他们对于分布式系统的不足之处,并针对分布式系统测试的几个显著特征做出了相应设计。根据分布式系统测试模型的设计,针对非分布式系统的测试框架对于分布式系统的不足,提出了适合分布式系统的应用于分布式系统测试模型的动态白盒、黑盒与灰盒测试框架。其中,以单元测试为主的动态白盒测试框架当中,设计了测试用例与测试代码相分离的分布式系统单元测试框架,极大地提高了测试的效率。另外,研究了自动化测试技术在分布式系统测试中的应用,更有效地实现分布式系统的测试框架。最后,将上述研究成果和理论应用到基于J2EE的分布式系统“通用客户注册系统”的研发和测试过程中,非常良好地保证了系统的软件质量。