接口测试

可测试性战术

独自空忆成欢 提交于 2020-03-03 09:35:30
定义:软件可测试性是指通过测试(通常是基于运行的测试)揭示软件缺陷的容易程度。在开发设计良好的系统的成本中,至少有40%是用在了测试上。如果软件设计师能够降低此成本,则将会收到巨大的回报。 要想对系统进行正确的测试,必须能够“控制”每个组件的内部状态及其输入,然后“观察”其输出。这通常通过使用“测试工具”进行,这是一种专门设计的软件,用于执行所测试的软件。这可能会如同在各种接口上回放已记录的数据一样简单,也可能会像测试发动机的燃烧室一样复杂。 可测试性战术:可测试性战术的目标是允许在完成软件开发的一个增量后,较轻松地对软件进行测试。我们对两类用于测试的战术进行讨论:提供输入并捕获输出;内部监视。 输入输出:1.记录/回放。记录/回放是指捕获跨接口的信息,并将其作为测试专用软件的输入。在正常操作中跨一个接口的信息保存在某个存储库中,它代表来自一个组件的输出和传到一个组件的输入。记录该信息使得能够生成对其中一个组件的测试输入,并保存用于以后的比较的测试输出。 2.将接口与实现分离。将接口与实现分离允许实现的代替,以支持各种测试目的。点位实现允许在缺少被占位的组件时,对系统的剩余部分进行测试。用一个组件代替某个专门的组件能够使被代替的组件充当系统剩余部分的测试工具。 3.特化访问路线/接口。具有特化的测试接口允许通过测试工具并独立于其正常操作,来捕获或指定组件的变量值。例如

mybatis实战教程(mybatis in action),mybatis入门到精通

☆樱花仙子☆ 提交于 2020-03-02 22:40:30
转载至:http://blog.csdn.net/techbirds_bao/article/details/9233599/ 这个mybatis教程也不错: http://limingnihao.iteye.com/blog/781671 MyBatis 目录 (?) [-] mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之六与Spring MVC 的集成 mybatis实战教程mybatis in action之七实现mybatis分页源码下载 mybatis实战教程mybatis in action之八mybatis 动态sql语句 mybatis实战教程mybatis in action之九mybatis 代码生成工具的使用 mybatis SqlSessionDaoSupport的使用附代码下载 转自: http://www.yihaomen.com/article

jmeter 测试MD5加密登录接口

痴心易碎 提交于 2020-03-02 21:01:58
1.点击options-funciton helper dialog,打开函数助手 在string to calculate MD5 hash 中填写密码,复制function sysntax中的值到密码中 复制function sysntax中的值到密码中即可。 JMeter的MD5函数在custom Jmeter functions插件里面,如果没有需要下载这个插件,插件在https://jmeter-plugins.org/install/Install/地址下载 下载后的jar包放到jmeter的lib/ext目录下面,重启jmeter --------------------- 作者:蝙蝠X 来源:CSDN 原文:https://blog.csdn.net/test_xhz/article/details/80311332 版权声明:本文为博主原创文章,转载请附上博文链接! 来源: https://www.cnblogs.com/erinsuo/p/10606103.html

什么是接口测试

北城余情 提交于 2020-03-02 18:19:12
定义: 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。 使用范围: 接口测试一般会用于 多系统 间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。 接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比,接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。 目的: 接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为 系统测试 来看待的。 来源: https://www.cnblogs.com/nydml/p/11027641.html

postman自动化接口测试

无人久伴 提交于 2020-03-02 07:50:53
背景描述 有一个项目要使用postman进行接口测试,接口所需参数有: appid: 应用标识; sign:请求签名,需要使用H MACSHA1 加密算法计算,签名串是:{appid}${url}${stamp}; stamp:这个是时间戳; option:业务参数; 问题是怎么在Postman发起请求时根据参数动态构建签名(sign)? postman的脚本库中 CryptoJS 是支持各种算法的加密,包括 HMACSHA1 ,签名算法有了。 难点是 获取url中的path参数 ,当发起一个请求时开始可以固定一个path值的,自动化测试需要执行时获取path值,怎么获取呢? 创建一个GET请求 postman基础用法就不介绍了,先创建一个GET请求,URL中有配置各种动态参数 {{变量名}} :postman引用环境变量的语法; {{$guid}}:postman预定义的环境变量用于获取一个GUID值; 在pre-request scripts构建签名 pre-request scripts 是个javascript执行环境,在请求发送之前执行;把他当做js用就行,不过有的js库是不支持的。 接下来就是动态获取签名了 1、appid环境变量中配置的固定值; 2、stamp时间戳获取: //获取unix时间 getUnixTime:function(){ return Math

接口测试之Postman简介

给你一囗甜甜゛ 提交于 2020-02-29 18:41:35
如何测试接口-->http接口 需要Http请求模拟工具,现在流行的这种工具也挺多的,像火狐浏览器插件-RESTClient,Chrome浏览器插件-Postman等等。这里主要介绍一下Postman。 一.Postman说明   Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口。 二.安装(安装到chrome插件)   在安装时,最好是通过chrome浏览器打开chrome网上应用店直接添加到chrome插件中。如果是直接从网上先把postman下载好很可能安不到chrome上去。 进入chrome网上应用店需要FQ,在这里默认你可以FQ,大体步骤如下: 打开chrome浏览器的chrome网上应用店,搜索postman。 点击添加至Chrome。 三.基本使用方法 1.在chrome中安装好postman插件后,通常会在桌面上生成一个Postman的快捷方式, 再次打开它时可以直接通过快捷方式也可以在chrome浏览器中的应用中打开它,我们会看到如下界面: 2.打开后,在红圈里面输入需要测试的接口地址,选择请求方式,然后在下面手动添加相应的键值。 (1)接口请求报文拼接 url?param=value&param2=value 这种是最简单的一种,问号前面是请求url

接口测试怎么测?

故事扮演 提交于 2020-02-29 08:47:41
序章 ​ 说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发知识后,发现接口测试其实都是人们玩的名词罢了。接口测试,真心很简单。它只不过是数据传递是一种表现而已。 请求模型 ​ 看下图中“A”线,可以理解为接口就是一个电灯的开关,它在接口里面给你提供了一个参数,参数的值一个是“开”,一个是“关”。 ​ 说起来,怎么才能让灯亮?一个灯头接两根线,一根线接火线,一根线接零线这时灯就亮了。反之,不接零线、火线灯就灭了。 ​ 其实接口呢,就把这些复杂的操作简化了,让你看到的就只有一个开关,而你来操作这个开关就好了。我们做接口测试也只需要测试这个开关就完成任务了,接口测试就是这么简单。 当你访问“ http://127.0.0.1:8080/light?opt=open ”,让零线、火线连通,此时灯亮。 当你访问“ http://127.0.0.1:8080/light?opt=close ”,让零线、火线断开,此时灯灭。 请求结构 ​ 看到这里我们大致就明白了接口测试是怎么一回事了。接下来需要理解一下HTTP的URL是怎么组成为一个接口的。如图: 一个URL就是一个接口:接口大致会分为一下几个部分: 请求协议: http — 普通的http请求 https —

Jmeter接口测试(四)传递参数

江枫思渺然 提交于 2020-02-29 07:41:56
参数设置    Jmeter 支持通过 查询字符串参数(Query String Parameters) 或者 Request body 请求体来传递参数。   1.get请求是普通键值对      get请求一般通过parameters来传递键值对参数, 如下图如所示设置参数:      执行该请求,查看返回结果,可以在请求中看到,jmeter在执行get请求时自动将参数拼接在了请求URL中,以“?”分割路径和参数,以“&”连接多个请求参数,如下图所示:   2.json格式的post请求         post请求很简单,只要把入参放到BodyData里面就可以了, 记得要先用json在线校验工具进行校验,另外要加http头管理器,在里面加上content-type:Application/json           响应结果:     由于json字符串在Body Data中传递,故请求的数据都在Post Data中,而post只有路径   3.post请求的键值对      除了放到BodyData里,有时候放到URL里,用&连接符,类似情况1的get请求。如下图所示:     可以看到参数是在POST中而非POST DATA   4.post请求:parameters选项卡中填写而非bodydata,但与bodaydata效果一样         注意:       

告别手写接口文档时代,比Swagger功能更强大的LKADocument接口文档管理框架诞生了!

喜夏-厌秋 提交于 2020-02-26 02:21:34
更详细的更全面的教程请观看作者亲自录制的视频教程,地址: https://edu.51cto.com/sd/9cb7f LKADocument视频教程 一、介绍 在前后端分离,分工更加明细化的今天,为了减少前端和后台开发人员的沟通成本,能够让他们做到并行开发,同时也能保证前端和后端开发人员所看到的接口文档的一致性,即时性,以此来大大提高工作效率。所以出现了一些非常优秀的接口管理工具,具有代表性的像Swagger,因为它能够通过注解或yml和JSON描述文件来自动生成接口文档。但是我觉得它不管是在配置过程还是正常使用过程都不是特别好用,特别是对对象参数和复杂的参数注释很不友好,对前端开发人员更不友好。 所以,LKADocument诞生了!LKADocument它也是一款基于Spring Web能够全自动生成接口文档管理的JAVA后台框架,没错!确实和swagger很像,但比swagger更加强大和智能,总体来说,要比swagger配置更简单,使用起来更方便,在参数注释和UI展示这一块功能更加强大,任何复杂的请求参数和响应参数都能够用注解描述出来,同样也支持接口在线调试,支持rest风格的接口。UI操作界面更符合中国程序员的口味,同时对前端和后端开发人员更加友好,特别是后端开发人员。先来几张图片大家感受一下强大的功能: 二、添加LKADocument插件到SpringBoot项目 1

如何快速上手SQL映射文件的编写

南楼画角 提交于 2020-02-26 01:47:23
在讲之前先说说它的好处:Mybatis真正强大之处就是在于SQL映射语句,也是他的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单。简单的对比一下SQL映射配置和JDBC代码,发现使用SQL映射文件配置可减少50%以上的代码量。并且MyBatis专注于SQL,对于开发人员来说,也可极大限度地进行SQL调优,以保证性能。 关于SQL映射文件的几个顶级元素配置: 顶级元素配置 mapper:映射文件的根元素节点,只有一个属性namespace(命名空间),作用如下: 用于区分不同的mapper,全局唯一 绑定DAO接口,即面向接口编程。当namespace绑定某一接口之后,可以不用写该接口的实现类, MyBatis会通过接口的完全限定名查找到对应的mapper配置来执行SQL语句,因此namespace的命名必须要跟接口同名 cache:配置给定命名空间的缓存 cache-ref:从其他命名空间引用缓存配置 resultMap:用来描述数据库结果集和对象的对应关系 sql:可以重用的SQL块,也可以被其他语句引用 insert:映射插入语句 update:映射更新语句 delete:映射删除语句 select:映射查询语句 使用select完成单条件查询编写Mapper映射文件 <!--根据用户名查询用户列表(模糊查询)--> <select id=