论文部分内容阅读
随着软件开发过程的发展,Web软件产品各系统的架构日益复杂,系统不断向着分布式、业务中心化和高可用性的方向发展。在分层的软件体系中,由于各接口模块是相互独立开发的,所提供的接口功能正确与否以及是否符合预期通常在系统集成的时候才能明确。同时,由于系统的不断复杂,通过传统的界面测试保证整个Web功能的做法不再有效或成本巨大。而且,目前业界没有形成统一的接口测试的自动化框架标准,只有一些比较大型的公司会根据自身业务需求进行测试的自动化框架设计与实现。本文的研究目的在于设计并实现一种基于Testng的Web接口测试的自动化框架,从程序模块层面来验证所提供接口的正确性,并用自动化测试取代大部分的手工测试,而且该框架可以适用于目前市面上的大部分基于Http请求的Web软件应用产品。主要的研究工作如下:1.从接口测试基本理论出发,分析了接口测试相关技术和方法。针对接口测试的特点及现有的自动化测试框架进行分析和比较,结合目前Java项目的特点和系统架构,分析了测试工具Testng与Junit的区别。针对Testng工具的特点,提出了采用Testng工具搭建自动化测试框架。2.设计与实现了数据存储与封装模块。传统的数据存储方法没有将测试代码与测试数据分离,存在代码量巨大等弊端,设计了Excel和Dat两种外部文件存放数据的方法,实现了代码与数据分离,减少代码冗余。并采用Mybatis框架连接数据库读取测试数据,实现了对数据库的操作。3.设计与实现了Web接口请求与应用交互模块。针对Http请求原理和特点,设计了采用HttpClient工具发送接口请求,同时在构造接口请求的过程中对数据进行加密生成相应的Uri。本文设计的框架可以发送基于B/S架构的Web应用的Http接口请求,并返回相应的结果,实现了接口访问的功能。4.设计与实现了接口测试用例执行模块。针对Java语言的特点,规定接口测试用例编写规范和执行规范,同时根据业务需求,采用Testng进行调用和组织测试用例,实现了接口测试框架的用例执行部分,为后续的持续集成奠定了基础。5.编写符合业务需求的测试用例对框架进行测试,通过Jenkins平台持续集成,根据运行的结果测试该框架的功能和性能。通过分析可得,本文设计的接口测试自动化框架能够有效实现接口测试,同时具有执行用例时间短,准确率高等性能特点。