首先简要介绍一下我们的系统。我们整个系统中,可视化的应用(web,APP)都是基于后端的saasapi。我们的saasapi采用rest风格,采用http协议,以json作为数据载体。所以,对后端的api接口进行测试很有必要。
用到的技术包括:maven、junit4,json开发包、hudson、jdbc等等。
1.项目目录结构(采用maven)
2.用例组织和规则约束
用例组织
例如:trackSegListWithTime(轨迹分段)、segTrackData(轨迹点显示)接口属于我的车模块。那么就在src/test/java源文件夹下面建立一个我的车模块包com.cpsdna.saasapi.test.vehicle,然后新建测试接口的类: TrackSegListWithTimeTest.java、 SegTrackDataTest.java
命名规则
测试类命名规则:接口名称+Test,例如SegTrackDataTest.java(轨迹点显示接口的测试类)
方法命名规则:test+方法意义,例如testSegTrackDataWithNoObjId(以没有objId参数方式测试segTrackData接口 )
3.测试方法步骤
1.声明参数变量
2.从数据库读取该参数变量的值
3.组装发送的json报文,把参数变量加入其中
4.向服务器端发送json
5.接收从服务器端返回的信息(json或者其它)
6.通过json开发包(json-lib,gson)解析从服务器返回的json
7.添加断言(预期的结果和解析的实际结果是否一致)
下面给一个实例:
4.数据驱动
1.为什么要用数据驱动?
测试数据(参数变量)和测试行为(逻辑代码)分离。这些对于用例的健壮性,复用性都是至关重要的。
2.为什么存在数据库?
易于管理,存储方便。(后期我还建一个用例数据管理的web平台)
5.如何保证取到所想要的参数值?
类名+方法名+参数名,3个组合必须系统唯一,以此来保证调用正确的参数
SELECT PARAM_VALUE FROM params WHERE CLASS_NAME = '"+className+"' AND METHOD_NAME='"+methodName+"' AND PARAM_NAME='"+paramName+"' AND `STATUS` = '0'
6.测试数据管理
1.通过数据库软件直接操作(存在误操作风险)
2.通过开发的测试数据管理平台管理
7.持续集成
对于庞大的测试用例,一个个执行或者通过测试套件执行,很明显不方便。我们通过和hudson集成,把写好的代码提交到svn后,maven和hudson配合,对接口测试用例进行持续集成。这样也好得到测试报告。
上面就是我对于基于数据驱动的接口测试框架设计的一些实践。比较大概的写出来,具体还有很多很多的细节,以及在这开发之中遇到的困难,如果有机会再慢慢道来。平凡的技术做踏实的事情。
供大家参考。转载请注明出处,谢谢。
相关推荐
一个接口设计用例时有可能会十几条到几十条都有可能,多个接口就有很多了,这时候我们可以考虑到自动化测试接口。 采用数据驱动方式,把数据写在excel表格中,代码做封装,用数据驱动测试,两部分相互独立。python...
本文总结介绍接口测试框架开发,环境使用python3+selenium3+unittest测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRunner来生成测试报告,目前有开源的poman、Jmeter等接口...
在这样的前提条件下,论文采用了关键字驱动脚本技术,同时吸取了当前流行的自动化测试框架中一些先进的思想,提出了一个适合网管系统测试的自动化测试框架。然后论文对该框架的测试流程进行详细的描述,在此框架的...
WDF 设备驱动程序的开发技术进行了分析和论述,深入剖析了 WDF 驱动程序模型的基本框架和运行机理,从驱动程序的初始化、IRP 的处理、中断响应、DMA 操作以及应用程序接口等方面详细讨论了高速数据传输卡驱动程序的...
尝试多sheet并发执行项目说明本框架是为了快速实现http/https协议而设计的一套数据驱动自动化接口框架,基于EXCEL+requests+unittest+ddt设计,pytest作为执行器,本框架无需你使用代码编写用例,那你可能会担心万一有...
1 综述了Windows驱动的发展现状,指出了目前存在的问题,详细分析了 WDF模型,包括WDF驱动程序的基本结构、框架对象、I/O模型、电源状态和中断请求级,并分析了 I/O请求包的处理过程和传输方式。 2、根据PCIe的WDF驱动...
基于selenium, python的WebUI自动化测试框架移动端移到android_ app仓库 软件架构 ●语言: python ●自动化框架: selenium ●设计模式:POM/关键字驱动数据分离 ●自动化用例组织框架: pytest ●自动化报告: allure ...
- 本框架是为了快速实现**http/https**协议而设计的一套数据驱动自动化接口框架,基于**EXCEL+requests+unittest+ddt**设计,**pytest**作为执行器,本框架无需你使用代码编写用例,那你可能 会担心万一有接口之间相互...
接口自动化测试框架,本次框架设计是一套基于python+pytest+requests+allure+jenkins而设计的数据驱动接口自动化测试的框架。 pytest是python的第三方单元测试框架,比自带unittest更简洁和高效,支持非常丰富的插件...
3-13 数据驱动框架DDT的使用方法 3-14 数据驱动框架DDT实战; 3-2 准备一个被测APP 3-3 工欲善其事必先利其器-自动化测试环境准备 3-4 Android App自动化测试(一) 3-5 Android App自动化测试(二) 3-6 Android App...
主要包括外围板卡端基于FPGA+PCI桥芯片架构的CPCI总线接口电路设计,主控板卡端基于WDM框架的驱动程序开发。测试结果表明,主控板卡能够有效完成与外围板卡间的数据传输与控制,性能指标符合系统设计要求。
给出实现蓝牙设备驱动的重要数据结构和流程,并总结Linux 下开发蓝牙USB 设备驱动的一般方法和关键技术。 关键词:Linux 系统;蓝牙协议栈;设备驱动 USB Device Driver for Linux Bluetooth Stack LIANG Jun-xue...
6.4.3 测试之前重置测试所使用的数据 6.4.4 不要忘记不断演变的模式 6.4.5 分离单元测试和数据库调用测试 6.5 查询 6.5.1 单组查询对象 6.5.2 单组查询对象的代价 6.5.3 将查询定位到哪里 6.5.4 再次将聚合作为工具 ...
基于USB接口的LabVIEW数据采集与传输系统的设计与实现.pdf 基于VC++6.0技术的回采巷道支护专家系统的研究.pdf 基于VC++6.0的ARINC429总线接口卡通讯程序.pdf 基于VC++6.0的图形自动编程系统的研究.pdf 基于VC++6.0的...
3)、分析FPGA加速器的上层框架和数据通路,编写linux操作系统下驱动 程序以及面向上层用户简单易用的调用接口。 4)、通过大量实验测试分析影响加速器性能的各种因素,得到加速器的性能、能耗趋势,使用测试数据集与...
【实例简介】 项目采用经典DDD架构(用沃恩....当然,如果你想学习完整的DDD框架,可以参考我的另一个项目(BestQ&A--开源中国推荐项目/集CQRS AES等DDD高级特性于一体的问答系统) 【实例截图】
丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice...
基于USB接口的LabVIEW数据采集与传输系统的设计与实现.pdf 基于VC++6.0技术的回采巷道支护专家系统的研究.pdf 基于VC++6.0的ARINC429总线接口卡通讯程序.pdf 基于VC++6.0的图形自动编程系统的研究.pdf 基于VC++6.0的...
基于USB接口的LabVIEW数据采集与传输系统的设计与实现.pdf 基于VC++6.0技术的回采巷道支护专家系统的研究.pdf 基于VC++6.0的ARINC429总线接口卡通讯程序.pdf 基于VC++6.0的图形自动编程系统的研究.pdf 基于VC++6.0的...
21.1 模糊测试框架的概念 21.2 现有框架 21.2.1 ANTIPARSER 21.2.2 DFUZ 21.2.3 SPIKE 21.2.4 PEACH 21.2.5 通用模糊器(General Purpose Fuzzer) 21.2.6 AUTODAF? 21.3 定制模糊器的实例研究:SHOCKWAVE FLASH ...