Page 118 - 《软件学报》2021年第9期
P. 118

2742                                 Journal of Software  软件学报 Vol.32, No.9,  September 2021

             (1)  本文提出的技术主要关注对原有测试用例集的缩减,未考虑系统变化对测试用例选择的影响,故缩减
                 后的测试用例集不能发现未实现服务调用关系中的缺陷,实验中是通过直接沿用新增测试用例弥补
                 这一覆盖性.我们将研究日志变化与微服务系统变化之间的关系,进而将日志变化作为参考因素,对
                 新增的测试用例进行选择;
             (2)  本文提及的日志挖掘技术是非增量式的,每一轮迭代都要重复扫描整个日志内容,这在实际应用过程
                 中会造成一定的计算资源开销.我们将结合增量式日志挖掘方法改进本文所提技术,并探讨模式挖掘
                 的可复用工作模式,一次挖掘、多处使用,进一步提升技术性能;
             (3)  本文所提技术在本质上是通过挖掘日志信息获得用户使用模式,进而将其作为测试用例缩减的参考
                 因素.事实上,该技术并不依赖于 API 网关层,对于其他架构特征,例如服务网格等,只要能获得服务调
                 用日志数据,便可应用本技术.下一步将尝试在不同领域、不同架构模式的系统中应用本技术,采用更
                 多的项目素材进行工程实证研究.

         References:
          [1]    Fan CY, Ma SP. Migrating monolithic mobile application to microservice architecture: An experiment report. In: Proc. of the 2017
             IEEE Int’l Conf. on AI & Mobile Services (AIMS). 2017. 109−112.
          [2]    Lewis J, Fowler M. Microservices: A definition of this new architectural term. 2014. http://martinfowler.com/articles/microservices.
             html
          [3]    Newman S. Building Microservices: Designing Fine-grained Systems. O’Reilly Media, 2015. 27−41.
          [4]    Mauro T. Adopting microservices at Netflix: Lessons for architectural design. 2015. https://www.nginx.com/blog/microservices-at-
             netflix-architectural-best-practices/
          [5]    Larrucea X, Santamaria I, Colomo-Palacios R, Ebert C. Microservices. IEEE Software, 2018,35(3):96−100.
          [6]    Yoo S,  Harman M. Regression testing  minimization, selection  and prioritization: A survey.  Software  Testing,  Verification  and
             Reliability, 2012,22(2):67−120.
          [7]    Pietrantuono R. On the testing resource allocation problem: Research trends and perspectives. Journal of Systems and Software,
             2020. 161−175.
          [8]    Canfora G, Di Penta M. Service-oriented architectures testing: A survey. In: Proc. of the Software Engineering. Springer-Verlag,
             2009. 78−105.
          [9]    Lu Z, et al. Web log mining. In: Proc. of the Web Intelligence. Berlin, Heidelberg: Springer-Verlag, 2003. 173−194.
         [10]    Meszaros G. xUnit: Test Patterns Refactoring Test Code. Boston: Addison-Wesley, 2007. 21−33.
         [11]    Kaczanowski T. Practical Unit Testing with JUnit and Mockito. 2013. 1−25.
         [12]    Peuster M,  Dröge C,  Boos  C,  Karl  H. Joint testing  and profiling of  microservice-based network  services using TTCN-3. ICT
             Express, 2019,2(5):150−153.
         [13]    Qiu D, Li BX, Ji SH, Leung H. Regression testing of Web service: A systematic mapping study. ACM Computing Surveys, 2014,
             47(2):1−46.
         [14]    Li ZJ, Tan HF, Liu HH, Zhu J, Mitsumori NM. Business-process-driven gray-box SOA testing. IBM System, 2008,47(3):457−472.
         [15]    Khan TA, Heckel R. On model-based regression testing of Web-services using dependency analysis of visual contracts. In: Proc. of
             the 14th Int’l Conf. on Fundamental Approaches to Software Engineering: Part of the Joint European Conf. on Theory and Practice
             of Software (FASE 2011/ETAPS 2011). 2011. 341−355.
         [16]    Li BX, Qiu D, Leung H, Wang D. Automatic test case selection for regression testing of composite service based on extensible
             BPEL flow graph. Journal of Systems and Software, 2012,(85):1300−1324.
         [17]    Liu HH, Li ZJ, Zhu J, Tan HF. Business process regression testing. In: Proc. of the 5th Int’l Conf. on Service-oriented Computing
             (ICSOC 2007). 2007. 157−168.
         [18]    Chen L, Wang ZY, Xu L, Lu HM, Xu BW. Test case prioritization for Web service regression testing. In: Proc. of the 5th IEEE
             Int’l Symp. on Service Oriented System Engineering (SOSE 2010). 2010. 173−178.
   113   114   115   116   117   118   119   120   121   122   123