计算机科学 ›› 2022, Vol. 49 ›› Issue (11): 24-29.doi: 10.11896/jsjkx.210400210

• 计算机软件* • 上一篇    下一篇

面向SOA的集成测试序列生成算法研究

张冰清1, 费琪2, 王轶辰1, 杨召2   

  1. 1 北京航空航天大学可靠性与系统工程学院 北京 100083
    2 江苏自动化研究所 江苏 连云港 222006
  • 收稿日期:2021-04-20 修回日期:2021-06-29 出版日期:2022-11-15 发布日期:2022-11-03
  • 通讯作者: 王轶辰(wangyichen@buaa.edu.cn)
  • 作者简介:(zhangbingqing@buaa.edu.cn)

Study on Integration Test Order Generation Algorithm for SOA

ZHANG Bing-qing1, FEI Qi2, WANG Yi-chen1, Yang Zhao2   

  1. 1 School of Reliability and System Engineering,Beihang University,Beijing 100083,China
    2 Jiangsu Automation Research Institute,Lianyungang,Jiangsu 222006,China
  • Received:2021-04-20 Revised:2021-06-29 Online:2022-11-15 Published:2022-11-03
  • About author:ZHANG Bing-qing,born in 1998,postgraduate.Her main research interests include software testing and so on.
    WANG Yi-chen,born in 1977,senior engineer, associate professer.His main research interests include model-based software testing, software quality eva-luation,etc.

摘要: 集成测试序列生成是软件集成测试研究中的一个重要课题,合理的测试序列可以在提高集成测试效率的同时有效降低测试代价。面向服务的架构SOA(Service-Oriented Architecture)是近年来在企业中被广泛应用的一类分布式架构,目前针对SOA架构中集成测试序列生成的相关研究较少。由于SOA架构中服务间组合具有多态性,单纯使用传统的自顶向下和自底向上等集成测试策略,无法得到SOA架构中服务软件之间的集成测试序列,而目前以面向对象系统中类簇为对象的集成测试序列生成研究又很难适应SOA架构中服务之间复杂的耦合关系。基于此,提出了一种基于遗传算法的集成测试序列生成方法,用于解决SOA架构中服务软件之间的集成测试问题。该方法提出了利用服务特征组的概念表征集成测试影响因素和利用集成测试优先度的概念来表征服务软件的集成测试重要度的基本思想,同时构建了测试依赖图,用于描述SOA架构中服务软件之间的复杂耦合关系,在此基础上提出了面向测试依赖图的测试优先度算法,并以降低测试代价为最优化目标设计了遗传算法,用于生成集成测试序列。最后通过实例验证了所提方法的可行性和正确性,结果表明,所提方法能够生成测试优先度相对较高的节点优先集成和测试代价较低的服务软件集成测试序列。

关键词: SOA, Web服务, 集成测试序列, 测试依赖图, 遗传算法

Abstract: Integration test order generation is an important problem in software integration testing research.Reasonable test order can improve the efficiency of integration test and reduce the cost of test.Service oriented architecture(SOA) is a kind of distributed architecture widely used in enterprises in recent years.At present,there are few researches on integration test order generation in SOA architecture.Due to the polymorphism of service composition in SOA architecture,it is impossible to get the integration test sequence between service software in SOA architecture by using the traditional top-down and bottom-up integration test strategies.However,the current research on the generation of integration test sequence based on class cluster in object-oriented system is difficult to apply to the complex coupling relationship between services in SOA architecture.Therefore,an integration test order generation method based on genetic algorithm is proposed to solve the integration test problem between service software in SOA architecture.In this method,the concept of service feature group is used to represent the influence factors of integration testing,and the concept of integration testing priority is used to represent the importance of integration testing of service software.At the same time,the test dependency graph is constructed to describe the complex coupling relationship between ser-vice software in SOA Architecture.In order to reduce the cost of test,a genetic algorithm is designed to generate integrated test sequence.Finally,an example is given to verify the feasibility and correctness of the method.The example results show that the proposed method can generate service software integration test orders with relatively high test priority and low test cost.

Key words: SOA, Web service, Integration test order, Test dependency graph, Genetic algorithm

中图分类号: 

  • TP311.5
[1]NN A,WI A,IG B,et al.Understanding Service-Oriented Architecture(SOA):A systematic literature review and directions for further investigation[J].Information Systems,2020,91:101491.
[2]ERL T,GEE C,NORMANN H,et al.Next generation SOA:A concise introduction to service technology & service-orientation[M].Pearson Education,2014.
[3]ZHANG N P,CHEN X Q.Software testing technology [J].Microcomputer Development,2005(7):69-72.
[4]ZHANG Y M,JIANG S J,ZHANG M,et al.Review of class test sequence generation techniques in integration testing [J].Acta Computa Sinica,2018,41(3):670-694.
[5]KUNG D C,GAO J,PEI H,et al.Class Firewall,Test Order,and Regression Testing of Object-Oriented Programs[J].JOOP-Journal of Object-Oriented Programming,1995,8(2):51-65.
[6]ZHOU Y,SONG J H.Research on object oriented integration test sequence [J].Computer Measurement and Control,2010,18(9):2014-2015,2018.
[7]WANG Y,YU H,ZHU Z L.Integration test sequence generation method based on software node importance [J].Computer Research and Development,2016,53(3):517-530.
[8]BRIAND L C,FENG J,LABICHE Y.Experimenting with genetic algorithms to devise optimal integration test orders[C]//Software Engineering with Computational Intelligence.Sprin-ger,Boston,MA,2003:204-234.
[9]BRIAND L C,JIE F,LABICHE Y.Experimenting with Genetic Algorithms and Coupling Measures to Devise Optimal Integration Test Orders ABSTRACT[C]//International Conference on Software Engineering & Knowledge Engineering.DBLP,2011.
[10]ZHANG Y M,JIANG S J,CHEN R Y,et al.Class integrationtest sequence determination method based on particle swarm optimization [J].Journal of Computer Science,2018,41(4):931-945.
[11]ASSUNÇÃO W,COLANZI T E,VERGILIO S R,et al.A multi-objective optimization approach for the integration and test order problem[J].Information Sciences,2014,267:119-139.
[12]ZHANG Y N.Research on class integration test sequence gene-ration method based on evolutionary optimization [D].Xuzhou:China University of mining and technology,2019.
[13]YANG L L,LI B X.Survey of web service testing [J].Compu-ter Science,2008,35(9):258-265.
[14]HUANG N,YU Y,ZHANG D Y.Research and implementation of web service software testing technology [J].Computer Engineering and Application,2004(35):147-149.
[15]CANFORA G,DI PENTA M.Testing services and service-centric systems:challenges and opportunities[J].It Professional,2006,8(2):10-17.
[16]ZHANG M,KEUNG J W,CHEN T Y,et al.Validating class integration test order generation systems with Metamorphic Testing[J].Information and Software Technology,2021,132:106507.
[17]XUAN G N,CHENG R W.Genetic algorithm and engineering optimization [M].Beijing:Tsinghua University Press,2004.
[18]QIN H B,LI D L,GUO L,et al.Software architecture complexity measurement method based on complex network [J].Micro-electronics and Computer,2013,30(2):5-8.
[19]CZIBULA G,CZIBULA I G,MARIAN Z.An effective approach for determining the class integration test order using reinforcement learning[J].Applied Soft Computing,2018,65:517-530.
[20]GUIZZO G,BAZARGANI M,PAIXAO M,et al.A hyper-heuristic for multi-objective integration and test ordering in google guava[C]//International Symposium on Search Based Software Engineering.Cham:Springer,2017:168-174.
[1] 杨浩雄, 高晶, 邵恩露.
考虑一单多品的外卖订单配送时间的带时间窗的车辆路径问题
Vehicle Routing Problem with Time Window of Takeaway Food ConsideringOne-order-multi-product Order Delivery
计算机科学, 2022, 49(6A): 191-198. https://doi.org/10.11896/jsjkx.210400005
[2] 沈彪, 沈立炜, 李弋.
空间众包任务的路径动态调度方法
Dynamic Task Scheduling Method for Space Crowdsourcing
计算机科学, 2022, 49(2): 231-240. https://doi.org/10.11896/jsjkx.210400249
[3] 杨文博, 原继东.
局部时间序列黑盒对抗攻击
Locally Black-box Adversarial Attack on Time Series
计算机科学, 2022, 49(10): 285-290. https://doi.org/10.11896/jsjkx.210900254
[4] 吴善杰, 王新.
基于AGA-DBSCAN优化的RBF神经网络构造煤厚度预测方法
Prediction of Tectonic Coal Thickness Based on AGA-DBSCAN Optimized RBF Neural Networks
计算机科学, 2021, 48(7): 308-315. https://doi.org/10.11896/jsjkx.200800110
[5] 郑增乾, 王锟, 赵涛, 蒋维, 孟利民.
带宽和时延受限的流媒体服务器集群负载均衡机制
Load Balancing Mechanism for Bandwidth and Time-delay Constrained Streaming Media Server Cluster
计算机科学, 2021, 48(6): 261-267. https://doi.org/10.11896/jsjkx.200400131
[6] 王金恒, 单志龙, 谭汉松, 王煜林.
基于遗传优化PNN神经网络的网络安全态势评估
Network Security Situation Assessment Based on Genetic Optimized PNN Neural Network
计算机科学, 2021, 48(6): 338-342. https://doi.org/10.11896/jsjkx.201200239
[7] 左剑凯, 吴杰宏, 陈嘉彤, 刘泽源, 李忠智.
异构无人机编队防御及评估策略研究
Study on Heterogeneous UAV Formation Defense and Evaluation Strategy
计算机科学, 2021, 48(2): 55-63. https://doi.org/10.11896/jsjkx.191100053
[8] 高帅, 夏良斌, 盛亮, 杜宏亮, 袁媛, 韩和同.
基于投影圆度和遗传算法的空间圆柱面拟合方法
Spatial Cylinder Fitting Based on Projection Roundness and Genetic Algorithm
计算机科学, 2021, 48(11A): 166-169. https://doi.org/10.11896/jsjkx.201100057
[9] 姚泽玮, 林嘉雯, 胡俊钦, 陈星.
基于PSO-GA的多边缘负载均衡方法
PSO-GA Based Approach to Multi-edge Load Balancing
计算机科学, 2021, 48(11A): 456-463. https://doi.org/10.11896/jsjkx.210100191
[10] 于扬, 邢镔, 曾骏, 文俊浩.
KSN:一种基于知识图谱和相似度网络的Web服务发现模型
KSN:A Web Service Discovery Method Based on Knowledge Graph and Similarity Network
计算机科学, 2021, 48(10): 160-166. https://doi.org/10.11896/jsjkx.200900026
[11] 高基旭, 王珺.
一种基于遗传算法的多边缘协同计算卸载方案
Multi-edge Collaborative Computing Unloading Scheme Based on Genetic Algorithm
计算机科学, 2021, 48(1): 72-80. https://doi.org/10.11896/jsjkx.200800088
[12] 吉顺慧, 张鹏程.
基于支配关系的数据流测试用例生成方法
Test Case Generation Approach for Data Flow Based on Dominance Relations
计算机科学, 2020, 47(9): 40-46. https://doi.org/10.11896/jsjkx.200700021
[13] 董明刚, 黄宇扬, 敬超.
基于遗传实例和特征选择的K近邻训练集优化方法
K-Nearest Neighbor Classification Training Set Optimization Method Based on Genetic Instance and Feature Selection
计算机科学, 2020, 47(8): 178-184. https://doi.org/10.11896/jsjkx.190700089
[14] 梁正友, 何景琳, 孙宇.
一种用于微表情自动识别的三维卷积神经网络进化方法
Three-dimensional Convolutional Neural Network Evolution Method for Facial Micro-expression Auto-recognition
计算机科学, 2020, 47(8): 227-232. https://doi.org/10.11896/jsjkx.190700009
[15] 杨德成, 李凤岐, 王祎, 王胜法, 殷慧殊.
智能3D打印路径规划算法
Intelligent 3D Printing Path Planning Algorithm
计算机科学, 2020, 47(8): 267-271. https://doi.org/10.11896/jsjkx.190700184
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!