用户名: 密码: 验证码:
构件化软件集成测试技术的设计与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
软件测试是保证软件质量的重要手段。随着构件技术在软件工程中的广泛使用,传统的测试模型和方法已不能够适用于构件化软件的测试,迫切需要研究新的测试模型和方法。
     论文在对国内外构件化软件测试技术深入研究的基础上,提出了一个构件化软件集成测试模型。采用软件内建自测试技术、程序插装技术、基于路径的覆盖测试技术和遗传算法等关键技术;在软件中设置测试点并插装探针,以获取和收集测试相关信息,从而形成构件有向图;对遗传算法的适应度函数进行了改进,使得在一次遗传进化过程中生成能够覆盖多条路径的测试数据;并用实例说明使用遗传算法生成测试数据的过程。
     接着,论文设计了一个构件化软件集成测试系统,描述了该集成测试系统的组成结构,及系统五个组成部分的主要功能和工作流程,说明了系统核心模块的实现和使用该测试系统进行构件化软件集成测试的操作流程。
     论文最后,应用该集成测试系统对三角形分类程序和某单位型号研制项目进行了测试,验证了测试系统和方法的有效性。测试结果证明,论文设计的软件内建自测试技术是正确的,改进的遗传算法是有效的,设计的构件化软件集成测试模型是可行的,完成的集成测试系统对于构件化软件的测试具有蛟好的实用价值。
In the paper, we suggested a component-based software integrated testing model on the basis of thorough study of internal and external component-based software integrated testing techniques. In this model, lots of techniques were adopted ,such as software built-in self-testing, program add-in, path-based overlay testing, genetic algorithm etc. Break points can be set in the program for capturing and gathering relevent information and to form component DAG. We improved the applicability function of the genetic algorithm so that we can get more testing data covering multi-path in one cycle of genetic evolution. We illustrate in practical examples the process of generating testing data with genetic algorithm.
     Software testing is the vital means to ensure the software quality. With the wide spread use of component technique in software engineering, traditional test models and methods no longer suit the component-basedsoftware testing, new testing models and methods are required to be studied.
     A component-based integrated testing system was designed and its architecture depicted, the main functions of five parts and working flow described in the paper. In the end, the implementation of the kernal block of the system and the working flow of component-based integrated testing with the system were explained in detail.
     Finally, we have tested a triangle sort program and a project of an organizaiton with the integrated testing system and verified the availability of the testing system and testing method. The result of testing proved the correctness of the software built-in self-testing technique and the availability of improved genetic algorithm and component-based integrated software testing model. The integrated testing system has fairly practical value for the component-based software testing.
引文
[1]Alan W Brown,Kurt C Wallnau.The Current State of CBSE[J].IEEE software,1998.
    [2]Ugo Buy,Carl Ghezzi,Alessandro Orso,et al.A Framework for Testing Object-Oriented Components[A].Proc First International ICSE Workshop on testing distributed component-based systems[C].1999.
    [3]贾瑞生,孙红梅等,基于构件技术的软件测试问题探讨[J],山东科技大学学报(自然科学版).2004.23(4).
    [4]HARROLDM J,LIANG D,SINHAS.Anapproach to analyzingand testing component-based systems[C].Los Angeles:IEEER eliability Society and IEEE Computer Society,1999.
    [5]GHOSH S,MATHUR A P.Issues in testing distributed component-based systems[C].Los A ngeles:IEEE Reliability Society and IEEE Computer Society,1999.
    [6]张书杰,于学军,阎健卓等.基于构件软件系统集成测试的初步研究[J].北京工业大学学报,2004,30(2):3-5.
    [7]Huo Jin Yoon,Byoungju Choi,Jin-OK Jeon.A,UML-Based Test Model for Component Integration Test[C].In:Proceedings of WorkShop on softrware Architecture.2000.
    [8]Ye Wu,Dai Pan,Mei-Hwa Chen,Techniques for Testing Component-Based Software[C].In:Proc Seventh IEEE Interational Conference On Engineering of Complex Computer Systems,2001.
    [9]Jefferry M Vaos,Certifying Off-the Shelf-Component[J].IEEE Computer,1998.31(6).
    [10]Allessamdro Orso,Mury Jean Harrold,David Rosenblum.Using Component Metacontent to Support the Regression Testing of Component-Based Software[C].In:Proc.IEEE International Conference an Software Maintenance,2000.
    [11]Gary A Bundell,Careth Lee,John Morris et al.A Software Component Verification Tool[C].In:Proc International Conference on Software Methods and Tools,2000.
    [12]Chen HuoYan.A Dynamic Approach for Object-Oriented Cluster-Level Tests by Porgram Instrumentation[C].In:Proc IEEE International Conference on Systems,Man.and Cybemetics,2000.
    [13]Xue-Song Chen,Min-Yon Lu,Lian Ruan.Autommed Generation of Reliability Test-data for Real-time Software with Object-oriented Technology[C].In:Proc of the Annual Reliahility and Maintainability Symposimn,2001.
    [14]Ye Wu,Mei-Hwa Chen,Jeff Offutt.UML-based Integration Testing for Component-based Software[C].Proceedings of 2nd International Conference on COTS-based Software Systems,Ottawa,Canada,2003.
    [15]刘万春,李顺华,朱玉文,基于改进的Z路径覆盖策略的路径生成算法,计算机工程与设计,2005.26.
    [16]Mosley Daniel J,Posey Bruce A.软件测试自动化[M],机械工业出版社,2003.
    [17]Christoph C.Michael,Gray E.McGraw,Michael A.Schatz,Curits C.Walton.Genetic Algorithms for Dynamic Test Data Generation.Proceedings of the 12th IEEE International Conference,1997.
    [18]Michael C C,McGraw GE,Schatz MA.Generating software test data by evolution.IEEE Trans.on Software Engineering,2001.
    [19]SyNT,Deville Y.Consistency techniques for interprocedural test data generation.ACM SIGSOFT Software Engineering Notes,2003
    [20]Chen T,Tse T,Zhouz Z.Semi-Proving:An integrated method based on global symbolic evaluation and metamorphic testing.ACM SIGSOFT Software Engineering Notes,2002.
    [21]Offutt A,Jin Z,Pan J.The dynamic domain reduction procedure for test data generation.Software Practice and Experience,1999.
    [22]Zhang J,Xu C,Wang X.Path-Oriented test data generation using symbolic execution and constraint solving techniques.In:He JF,Yang FO,eds.Proc.of the Int'l Conf.on Software Engineering and Formal Methods.Beijing:IEEE Computer Society Press,2004.
    [23]王元珍,顾鹏,产生多条路径上测试用例的改进遗传算法[J].计算机工程,2006.13.
    [24]Lin,J.and Yeh,P.Automatic test data generation for path testing using GAs.Information Sciences,2001.131(1-4):47-64.

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

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

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