一、文献综述
- 国内外研究现状
传统的测试主要依赖于人工进行测试,随着软件行业的不断发展,软件的规模不断扩大,功能不断复杂化,通过人工进行测试逐渐变得困难。并且随着互联网行业的不断发展,“云”时代与分布式的到来让软件越来越注重交互与协作,软件中普遍存在多个模块的交叉调用,大大提高了测试的复杂度与难度。若使用传统的人工测试,需耗时很久,而现今软件的迭代速度也十分之快,每迭代一次产品就需要重新测试一遍,若测试一遍需要耗时数星期,那么对于分秒必争的软件行业来说是无法接受的。并且传统的使用接口文档来对接口信息进行管理的方法,可能会产生文档丢失、版本混乱等问题,因此需要系统地来对接口信息进行管理。
目前国内外对于接口自动化测试管理平台方面的研究较少。国外的自动化测试工具已经十分成熟,许多自动化测试工具已成为开发中的必备品,但将其与接口管理功能结合起来的平台寥寥无几。而国内对于接口自动化测试管理平台的研究也处于初期,目前大都仍采用传统的测试工具加上接口文档来对接口进行测试与管理,只有少部分公司会根据自身需求来量身定制一款接口自动化测试管理平台。
在社区中,也有许多人对接口自动化测试管理平台进行研究,并做了初步开发,但这些项目大多不够成熟,不能满足实际开发的需求,因此没有被广泛使用。目前市面上仅有几个相对成熟的平台,如,广州银云信息科技有限公司开发的Eolinker平台、apizza等。
(二)研究主要成果
传统的人工测试是通过测试工具对软件或接口进行测试,若要真正实现自动化测试,则需要通过脚本来实现。当前最流行的接口测试脚本为数据驱动脚本。这类脚本能够将脚本与数据分离,将测试数据独立存储于数据表或外部文件中,与测试脚本完全分离。即使之后需要更改测试用例,也只需对数据进行更改,而无需对代码进行更改,便于管理与维护。并且测试用例中只包含测试数据,不含任何业务信息,既保证了安全性,也使得用例清晰易读,提高了用例的可维护性。其缺点是测试逻辑依靠测试脚本实现,因此需要测试人员有较高的编程技能,测试脚本的开发成本相对较高。
针对数据驱动的接口自动化测试,其中一种方法是将自动化脚本技术与接口测试结合起来,将测试用例事先进行一定编码,并以XML的形式进行存储,通过脚本来解析并运行,来实现对接口的自动化测试。
同样,也有一种基于测试用例自动生成的自动化测试框架。首先将测试用例需要的逻辑以脚本的形式实现,这种描述测试人员测试思想的文件,称为测试准则,一方面能够方便测试人员查看、编辑、修改,还能够驱动被测程序生成测试用例,提高了测试框架的可扩展性。接着根据测试准则来生成测试用例,最后通过脚本来运行生成的测试用例,以实现对接口的测试。
目前,已有许多成型的接口管理平台,如,广州银云信息科技有限公司开发的Eolinker平台、Apizza等,这些是国内企业级IT研发管理解决方案服务品牌,在线API接口管理服务供应商,提供API开发管理、自动化测试等服务。也有许多公司根据自身的业务需求开发出了接口自动化测试平台,如,美团技术团队研发的LEGO-接口自动化测试平台。这些平台为接口开发提供了很好的环境,不仅能为接口提供自动化测试,还为接口管理提供了一系列服务,极大地方便了接口的研发。
