论文部分内容阅读
在当今的软件行业,测试作为一个必不可少的环节备受重视。而自动化测试作为一种辅助的测试手段则越来越被大众所关注和接受。由于自动化测试可以在一定程度上节约测试工作的人力成本,因此这个技术在很多软件业公司中被广泛运用。接口测试(Interface Testing),作为测试环节中一个很重要的组成部分,自然也会经常与自动化测试挂钩。特别是针对基于Web Service的接口的自动化测试技术,其应用前景就更为广阔。由于通过Web Service这种技术传输的数据格式都是以契约方式事先约定好的,这样就保证了数据本身结构变动的可能性较小,这样能最大限度地降低维护自动化测试脚本的成本,从而最大限度上提高自动化测试的效率。那么实现一个针对Web Service接口的自动化测试的系统也就显得更加可行和有效。因此本系统就是为了实现针对Web Service接口进行自动化测试的功能而研发的。通过本系统,用户可以自行设计测试数据与订制测试计划。系统将根据测试计划定时或定期地发起自动化测试任务,并根据测试数据来对Web Service接口进行自动化验证。最终,将测试结果及日志展示给用户。为了实现以上的功能,本接口自动化测试系统由自动化测试管理平台、自动化测试框架组件、持续集成平台三大部分组成。自动化测试管理平台用于设计测试用例与测试套件、发起测试计划及最终展示测试结果。自动化测试框架组件集成了第三方的Gallio平台,通过Salve-Master的物理架构实现了测试任务的自动运行。另外,自动化测试框架组件还将负责收集测试数据并组装成可传输的报文与Web Service进行数据交互,并将返回的结果与期望结果进行结果比较,最终得出测试结果,保存到数据库中。最后,本系统还通过接入Jenkins(第三方的持续集成平台),从而更高效地进行自动化测试工作。在本系统开发过程中先后对测试数据驱动的实现、Gallio平台的选用与集成以及持续集成平台的选用与集成,及其相关物理架构的部署进行了深入的研究。最终,确定了以上的实现的方案。相比较于其他同类的接口自动化测试系统而言,本系统通过接入持续集成平台后,系统可以定期或定时地自动发起针对改动接口的测试计划,从而可以第一时间进行回归测试,极大地提高了测试效率,最高程度地保证软件质量。另外,由于本系统是基于Salve-Master的物理架构来进行任务分配及调度的。因此与目前市面上其他同类相比的话,本系统还满足了多用户同时使用的需求。另外,与其他同类系统相比而言,本系统在测试数据驱动上也做了比较大的突破。同类系统只支持单种类型的数据驱动,而本系统则可通过文件、数据库或执行SQL语句等多种数据来源进行测试数据驱动,大大增加了系统的可用性。目前本系统已在2015年的10月13日上线使用。借助本自动化测试系统,单个接口在实际项目中的测试的工时已从平均39小时/人,降低到27小时/人,效率增加40%以上。而针对回归测试,若平均每个接口为15个用例,则一个接口将至少减少1小时的人力成本。