自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试;自动化测试可分为自动化性能测试、自动化功能测试,自动化功能测试包括了单元测试、接口测试、UI测试。
接口自动化测试优点是“比较稳定和容易实现”,缺点是“用户操作真实性不强”;所以现在大部分互联网用它作为测试工作的铺助,是因为web和app自动化的缺点接口自动化测试都能进行弥补,
web自动化测试、APP自动化测试、接口自动化测试:
1、UI(WEB)自动化测试走主流程的测试、接口自动化测试走全面的测试:先布置接口的自动化测试用于测试和回归测试,特别在敏捷测试中,接口自动化测试应该占主体。后布置UI自动化测试用于住流程的回归测试。
2、UI(WEB)自动化测试与APP自动化测试结合:需要一个自动化测试框架的协调,可以进行UI自动化测试到APP接口层的长流程场景自动化测试,也可以进行UI自动化测试到APPUI层的长流程场景自动化测试。
3、接口自动化测试与APP自动化测试结合:其实和UI与APP自动化测试长流程的交换一样的原理,需要自动化测试框架的支撑。先进行接口测试用例的执行后进行APP的UI和接口测试的用例执行。
接口自动化测试工具简单对比和介绍:
框架名称
|
支持语言
|
支持协议
|
是否开源免费
|
入门成本
|
备注
|
jmeter
|
http
|
开源
|
低
|
专门针对http接口的进行性能以及接口测试工具,jmeter+maven+eclipse自动化测试,并生成Html报告。
|
|
postman
|
http
|
开源
|
低
|
postman是谷歌浏览器的扩展工具,postman与Jenkins持续集成,Jenkins+postman+newman实现简单的接口自动化测试。
|
|
loadrunner
|
http
|
商业
|
中
|
loadrunner不仅能做性能测试,同时也能做功能测试,还可以做接口的功能测试。
|
|
Fitnesse
|
java,c,c++,python,php等
|
http
|
开源
|
中
|
FitNesse是一个轻量级的开源框架,方便的定义接口验收测试。
|
Requests+unittest
|
Python
|
http
|
开源
|
中
|
python+requests+unittest接口自动化框架稳定,Requests 支持 HTTP 连接保持和连接池(使用 Apache2 Licensed 许可证的 HTTP 库,发送http的网络请求主要包含post,get,PUT, DELETE, HEAD) ,支持 使用cookie保持会话 ,支持 文件上传 ,支持 自动确定响应内容的编码;unittest 框架是python自带的单元测试框架,包括测试脚本构成,测试脚本的运行,测试脚本集成,测试报告生成;同时可以利用xlrd数据驱动的读取,作用于excel文档,并且smtplib用于测试邮件的发送。
|
RF(Robot framework)
|
Python, Java, C
|
http
|
开源
|
中
|
Robot framework提供简单的Libary API,可以使用Ptyhon或者java进行实现,支持简单易用的表格型语法,使得可以用统一方式创建测试用例,并且提供命令行接口也XML格式的输出文件(简单易读的报表和日志结果文件),非常容易进行持续集成。
|
TestNG
|
java
|
http
|
开源
|
中
|
APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试。
|
httpclient
|
java
|
http
|
开源
|
中
|
java + httpclient + log4j + json + mybatis + excel + testng自动化框架
|
Junit
|
Smalltalk, Java, C++, Perl 等
|
http
|
开源
|
中
|
JUnit是开发源代码的 Java 测试框架,Junit框架是一个典型composite模式,TestSuite可以容纳任何派生自test的对象。
|
soupui
|
java
|
http
|
开源&商业
|
中
|
soapUI-可用来进行接口自动化测试,现在很多手机APP以及web项目会涉及到接口的调用;soapUI+maven+Jenkins 搭建接口自动化持续集成平台
|
httprunner
|
python
|
http
|
开源
|
低
|
HttpRunner
是一个简单,优雅但功能强大的HTTP(S)测试框架
|