论文部分内容阅读
快速发展的云计算技术使得SOA架构成为了业内的主流架构体系。而在计算机行业的发展历程中,早期开发的很多Web系统直到现在都还在持续维护运作中。但是,由于这些系统使用陈旧的框架和语言,已经变得越来越难以维护,并且无法适应云平台。因此,对老系统进行重构就变得相当重要。 重构系统和新开发系统的一个重要区别,就是重构系统有老系统的存在。不管是前期测试数据的采集,或者后期测试结果的验证,老系统都可以提供很大的帮助。因此,在深入分析了重构系统和SOA体系架构的特点以后,本文提出了一个基于对比测试理念的自动化测试框架,也就是对新老系统做相同的操作,验证新老系统的结果是否一致。如果一致,则测试通过。如果不一致,则测试失败。 本文提出的自动化测试思想主要包括两个方面。首先,是借鉴遗传算法实现生成测试数据自动化。本框架先在老系统上捕获初始的测试数据。然后采用精确的适应度函数,保证通过评估的新数据都是有效的。因此本算法生成的有效测试数据的比例达到了68%以上。 另一个方面是采用对比数据库日志的方法来辅助验证测试结果。对于重构系统来说,业务逻辑和数据库都不会有大的改动,所以在对新老系统做了相同的操作以后,数据库产生的日志信息应该也是一致的。否则,就表明新系统出错了。考虑到数据库操作的非顺序性,在读取新老系统数据库日志以后,先进行解析,然后再进行语义上的对比。另外,如果测试失败,本框架也提供了查看日志对比结果的功能,帮助测试人员快速定位错误原因。