用户名: 密码: 验证码:
分布式系统测试模型与框架的研究与应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着网络及相关技术的飞速发展和应用领域的不断扩大,分布式系统已经成为构建网络应用的主要选择。同时,当前的分布式系统大多数使用面向对象的计算机语言来编写,因此,当前的分布式系统不仅具备并发性、缺乏全局时钟、故障独立性、异构性、开放性、透明性、安全性、可伸缩性等特征,同时还具有面向对象的封装性、继承性、多态性等特征。然而,这样的技术发展在带来各种优势的同时,也对软件的质量保证提出了新的更高的要求,作为软件质量保证最主要的手段,软件测试对于分布式系统而言有着前所未有的重要性。目前主流的软件测试模型与框架在开发环境、技术和开发流程已经发生巨大变化的分布式系统开发过程中,已经无法有效地保证分布式系统的软件质量。如何设计适合分布式系统的测试模型和框架进行全面的测试成为了一个急需研究和发展的方向。
     首先,本文对分布式系统测试的相关内容进行研究,包括分布式系统的概念、特征、系统模型等基础理论,软件测试的概念和分类等基础理论,以及分布式系统测试组件网络化、部署成本高、测试结果不确定性等特征。
     其次,在研究目前主流软件测试模型的优势劣势的基础上,提出适合分布式系统的测试模型,以迭代开发为核心,以测试流程控制开发流程,具有全面性、敏捷性和持续性三个基本特征。该模型继承了目前主流的软件测试模型各种优点,同时避免了他们对于分布式系统的不足之处,并针对分布式系统测试的几个显著特征做出了相应设计。
     根据分布式系统测试模型的设计,针对非分布式系统的测试框架对于分布式系统的不足,提出了适合分布式系统的应用于分布式系统测试模型的动态白盒、黑盒与灰盒测试框架。其中,以单元测试为主的动态白盒测试框架当中,设计了测试用例与测试代码相分离的分布式系统单元测试框架,极大地提高了测试的效率。另外,研究了自动化测试技术在分布式系统测试中的应用,更有效地实现分布式系统的测试框架。
     最后,将上述研究成果和理论应用到基于J2EE的分布式系统“通用客户注册系统”的研发和测试过程中,非常良好地保证了系统的软件质量。
With the development of network and related technology and continually extension of the related applications domain, distributed system has become the main choice of the architecture for developing the application working on network. In the meantime, distributed system is usually build coding in object-oriented computer language, therefore, distributed system doesn’t only display the features of concurrency, deficient overall situation clock, breakdown independence, isomerism, transparent, security, and extendibility and so on, but also has the character of object-oriented technology, such as encapsulation, inheritance, and polymorphism. Although the development of distributed technology has brought many advantages, the quality assurance of software has been challenged for new higher requirement in such distributed environment. So the software testing, as the main method of quality assurance, was never more important before. However, considering the changes of environment, technology and procedure for developing distributed system, the popular models and framework of software testing can not entirely and efficiently insure the quality of distributed system any more. How to design a model and framework fit for distributed system test has been a topic to be researched urgently.
     Firstly, this thesis researches the distributed system test and related aspects, including the theory of distributed system such as the concept, character and system model, the theory of software testing such as the definition and system of test methods, and the features of distributed system test such as distributed components, high cost for deployment and uncertain test result.
     Secondly, based on the research of current popular models of software testing, this thesis designs a testing model for distributed system, which controls the development through testing, with the core procedure of iterative development, and the features of general, agile testing and continuance. Considering the characters of distributed system testing, this model assimilates the strongpoint and avoids the weakness of current popular models.
     According to the design of the model for distributed system testing, this thesis designs frameworks for dynamic white-box, gray-box and black box testing in distributed system, which extends and improves the testing framework for in-distributed system. In the framework for unit testing, as the main element in dynamic white-box testing, this thesis designs another unit testing framework with independent test case and test code, and makes the test more efficient. Besides, some research on automatic testing has been done to implement the framework efficiently.
     Last, we apply the testing model and frameworks for distributed system to a practical system based on J2EE, which is called“General Customer Register System”, and obtain good result in the aspect of quality assurance for this distributed system.
引文
[1] George Coulouris, Jean Dollimore, Tim Kindberg. Distributed Systems - Concepts and Design, Fourth Edition. Pearson Education. 2007
    [2] Bruce Eckel. Thinking in Java(Fourth edition). USA: Pearson Education, Inc., 2007.7
    [3]朱少民.软件质量保证和管理.北京:清华大学出版社. 2007
    [4]杨利.分布式系统测试技术研究及其应用: [硕士学位论文].河北:河北工业大学, 2007.12
    [5] S.Ghosh, Adiya P.Mathur. Issues in testing distributed Componebt-Bases Systems.In Proceeding of the First Intemational ICSE Workshop Testing Distributed Component-based Systems, 1999, 13(5)
    [6]杜军威.一种测试用例与测试代码分离的单元测试框架.青岛科技大学学报, 2008.6, 29(3)
    [7]王君珂,艾波.电信运营支撑系统——软件体系结构模式系统.北京:人民邮电出版社. 2006.8
    [8]郭银章,徐玉斌,曾建潮.分步异构网络环境下数据访问设计.太原重型机械学院学报, 2003, 24(1)
    [9]潘浩.分布式对象中间件结构与性能的研究:[硕士学位论文].河北:燕山大学, 2001.1
    [10]谢伟,冯杰.浅谈多层分布式应用体系结构.科技信息. 2008,14
    [11]Matt Weisfeld, The Object Oriented Thought Process. SAMS. 2004
    [12]Grady Booch. The Object Oriented Analysis and Designation with Applications, Second Edition. Addison Wesley/Pearson. 2003
    [13]席一凡,刘培奇,王为民,惠明.分布式对象技术的研究与应用.西安建筑科技大学学报, 2005, 37(1)
    [14]方霞,窦亚玲.基于中间件的分布式应用开发.吉首大学学报:自然科学版. 2007, 28(3)
    [15]杨献军.基于CORBA分布式对象系统测试研究: [硕士学位论文].重庆:重庆大学, 2004
    [16]D.Penberton.I.Sommerville. VOCAL: A Fram ework for Test Identification and Deployment. IEE Proceedings on Software Engineering. 1997, 144(5)
    [17]张震,吴永明.分布式对象模型和SOAP.计算机应用与软件, 2003, 11(1)
    [18]方菲,孙家肃,杨芙清.面向对象软件回归测试技术研究.软件学报, 2001, 12(3)
    [19]赵卓,赵欣. RMI的分布式对象技术研究.微计算机信息. 2006, 03X
    [20]Glenford J.Myers. The Art of Software Testing, Second Edition. John Wiley & Sons. 2005
    [21]Cem Kaner, Jack Falk, Hung Quoc Nguyen. Testing Computer Software, Second Edition. John Wiley & Sons. 2003
    [22]张川,王柏,艾波.分布式系统的不确定性及其对Uni-CRM测试的影响.北京邮电大学学报, 2003.10
    [23]软件测试模型总结. Website. http://tech.it168.com. 2009.2
    [24]软件测试H模型. Website. http://hi.baidu.com. 2008.8
    [25]涂洪澄,刘先锋.基于测试驱动及并行工程的一种改进前置驱动测试模型.计算机与现代化. 2008, 5
    [26]焦松法.分布式对象的测试技术研究及其在《税务行政管理系统》中的应用: [硕士学位论文].郑州:郑州大学, 2005.5
    [27]董威.单元测试及测试工具的研究与应用.微型电脑应用. 2008, 24(5)
    [28]Vincent Massol, Ted Husted. JUnit in Action. UN: Manning Publications Co. 2004
    [29]JUnit. Website. http://www.junit.org
    [30]王毅,蔡建平.基于API测试的分布式测试框架的研究与视线.计算机工程与设计, 2004, 25(8)
    [31]陈能技.软件测试技术大全.北京:人民邮电出版社. 2008
    [32]侯要红,栗松涛. Java XML应用程序设计.北京:机械工业出版社. 2007
    [33]刘亮.分布式软件测试自动化技术的研究与实现.: [硕士学位论文].陕西:西北工业大学,2002.3
    [34]陈能技. QTP自动化测试实践.北京:电子工业出版社. 2008
    [35]刘泉,金新娟. Web测试自动化研究.计算机科学, 2004, 31(9)
    [36]J. B. Rainsberger, Scott Stirling. JUnit Recipes. UN: Manning Publications Co. 2006
    [37]Cactus. Website. http://jakarta.apache.org
    [38]孙卫琴.精通Struts:基于MVC的Java Web设计与开发.北京:电子工业出版社. 2004
    [39]Kathy Sierra, Bert Bates. Head First Design Patterns. O’Reilly. 2006
    [40]Elisabeth Freeman,Eric Freeman. Head First HTML with CSS & XHTML. O’Reilly. 2008
    [41]Michael Morrison. Head First JavaScript. O’Reilly. 2007.12
    [42]Marty Hall. More Servlets and JavaServer Pages. Pearson Higher Educations. 2001
    [43]Ted Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt. Struts in Action. Manning Publications Co. 2003.
    [44]Ed Roman, Scott Ambler, Tyler Jewell. Mastering Enterprise JavaBeans, Second Edition. John Wiley & Sons, Inc. 2002
    [45]Jesse Tilly, Eric M.Burke. Ant: The Definitive Guide. O'Reilly. 2002
    [46]Ant. Website. http://ant.apache.org
    [47]IBM Redbook. Website. http://www.redbooks.ibm.com
    [48]软件测试理论. Website. http://www.testceo.com
    [49]史蒂夫·麦克康奈尔.微软项目求生法则.北京:机械工业出版社. 2000
    [50]JMeter. Website. http://jakarta.apache.org/jmeter/index.html

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700