大多数现代软件系统都是基于面向服务的体系结构构建的。例如,常见的基于Web的服务的B/S结构的服务,和更传统的C/S结构的服务。API应用程序接口层封装了组织业务所需要的功能,服务于用户界面使用。用户界面和业务功能的分离,从根本上改变了用户如何进行测试,测试可以在生成API接口后就开始。
由于API测试需要测试者具备更多开发所具有的技术能力;测试脚本类资产的维护随着代码的变更,也成为一个问题;开发和测试两个部门间的协调,技术技能和业务知识之间的综合能力,都是需要面对处理的关键问题。对大多数组织来说,这项测试工作的自动化,仍然是一个挑战。
基于模块的测试自动化平台,打破了这一技术障碍,通过模块,用图形化的方法描述和被测对象的交互接口的技术信息,并将其表现为对测试人员或业务人员,更加直观,容易理解的模块,快速的创建API自动化测试,进而帮助组织不需要编写更多脚本,就可以将自动化测试,从用户界面,扩展到基于API接口的自动化测试,从而帮助测试团队更早的开展自动化测试,并实现跨Web界面、手机、SAP等多种技术平台的,端到端的集成系统测试场景。
完全支持包括SOAP和REST等流行的Web服务标准之内的多种协议接口API的测试。对于采用WSDL、WADL、Swagger、OData、RAML、XSD、JSON和SAP描述的文件或URI通一资源标志符,可以使用扫描程序,就可以自动生成基于图形界面的测试基础模块,使用基于模块的测试自动化框架。
之前的API测试都是通过手动编写脚本完成的。这意味着开发和测试人员花了数小时编写测试用例脚本,然后每当API被更新时,又花费数小时维护脚本。API扫描功能不仅大大缩短了测试创建时间,而且几乎取消了维护时间,使应用程序开发更快,更新周期更短。
开发人员对正在开发的API执行功能检查时,可以使用免费的API扫描工具与服务接口进行交互,同时,可以捕获服务请求和响应消息接口并保存成文件,为后期测试提供帮助。
测试人员可以使用这一文件,自动转换为业务可读的基于模块的自动化测试框架。
这一方面,使得开发人员更容易参与到测试过程;同时,为非技术测试人员和业务分析人员提供直观的界面,帮助测试团队可以轻松地审查和扩展测试用例,而无需担心JSON、XML或xPath等太多技术概念。
基于模块的测试自动化平台帮助所有测试人员快速创建和维护API测试,这些测试可以作为Web界面、手机、SAP等端到端测试场景的构建块重用。
基于模块的测试自动化平台在所有类型自动化测试背后,使用相同的,简单的,无脚本的测试自动化解决方案,不需要复杂的API编程。
API测试可以自动转换为服务虚拟化资产,以便对敏捷开发所需的关键服务虚拟化资产进行简单管理。
将您零碎的SoapUI项目转换为基于模块的自动化测试平台的API测试,以实现重用,极大地提高了维护、效率和协作。
基于模块的自动化测试平台,通过综合测试数据生成、风险覆盖优化、服务虚拟化和持续测试分析,来扩展API测试功能,优化API测试策略。
大多数API测试工具只支持REST和SOAP标准。对于拥有数百个集成系统的企业公司来说,这种有限的支持是不够的。基于模块的自动化测试平台支持整个API过程,从Web API,到真正的端到端测试的传统支持协议。
基于模块,无需编码的API测试技术,不但支持REST和SOAP这些Web API,而且支持等多端到端系统测试所需的传统协议。我们在此仅以常见的基于REST 的Web 服务的API接口测试作为例子,来描述使用工具扫描实现自动化API测试的方式。
API测试大致分为两个阶段,扫描API形成测试模块,然后使用测试模块,描述的测试步骤,组成测试用例。如下图所示,