精华内容
下载资源
问答
  • 相关视频涉及Python自动化测试、selenium、appium、jmeter、python、robotframework等。
  • 接口测试用例模板 接口测试目的是检查系统中各个子系统间数据交互,数据传递及相互的逻辑关系。 接口测试用例核心要素包括测试步骤与预期结果,用例设计难点在于检查系统的逻辑业务与参数。 接口测试用例模板如下...

    接口测试用例介绍

    接口测试目的是检查系统中各个子系统间数据交互,数据传递及相互的逻辑关系。

    接口测试用例核心要素包括测试步骤与预期结果,用例设计难点在于检查系统的逻辑业务与参数。

    接口测试用例模板如下:

    展开全文
  • 关于软件测试-接口测试使用的模板。便于软件人员进行接口测试后,汇总编写接口测试结果
  • 1 接口测试设计流程 熟悉接口文档 提取测试接口接口/业务接口设计 接口测试用例编写 接口测试脚本实现运行 测试报告输出 2 用例模板 用例ID 所属模块 用例名称 预置条件 请求URL 请求类型 请求头 ...

    1 接口测试设计流程

    • 熟悉接口文档
    • 提取测试接口
    • 单接口/业务接口设计
    • 接口测试用例编写
    • 接口测试脚本实现运行
    • 测试报告输出

    2 用例模板

    • 用例ID
    • 所属模块
    • 用例名称
    • 预置条件
    • 请求URL
    • 请求类型
    • 请求头
    • 请求类型参数
    • 请求参数
    • 预期结果

     

    展开全文
  • 软件测试接口测试

    2020-11-26 20:44:53
    1、接口测试理论 接口测试主要是检查数据的交换、传递和控制管理过程,发送数据后,看返回数据是否正确,返回值类型是否正常。 接口测试主要分为两类:模块接口测试和Web接口测试 模块接口测试:是单元测试的基础...

    1、接口测试理论

    接口测试主要是检查数据的交换、传递和控制管理过程,发送数据后,看返回数据是否正确,返回值类型是否正常。

    接口测试主要分为两类:模块接口测试和Web接口测试

    模块接口测试:是单元测试的基础,它主要测试模块的调用与返回

    web接口主要分为:服务器接口测试和外部接口测试

    服务器接口测试:主要是测试浏览器和服务器之间的接口,

    外部接口:第三方提供的接口

    2、接口测试工具

    Postman --Charles--Fiddler:只接受单次单个接口的测试,很难满足多接口调用逻辑验证问题,也不太灵活,没办法做到数据化

    Jmeter:可实现接口自动化测试

    3、测试要点

    1)检查接口返回的数据是否与预期结果一致

    2)检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?

    3)接口参数的边界值。例如,传递的参数足够大或负数时,接口是否可正常处理。

    4)接口的性能,接口处理数据的时间也是测试的一个方法

    4、状态码

    200:返回成功

    404:错误的请求,请求的资源不存在

    500:服务器内部错误

    5、Get与post请求的区别
    Get:从指定的服务器中获取数据,Get请求的参数数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,参数明文展现在URL上,GET请求能够被缓存

    Post:提交数据给指定的服务器处理,参数不会展现在URL上,请求不会被缓存

    6、环境准备

    安装jmeter需要有jdk的支持

    1)下载jdk+安装jdk+配置环境变量

    变量名:JAVA_HOME
    变量值: C:\Program Files\Java\jdk1.8.0_51 (即jdk安装的位置)
    变量名:Path  
    变量值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
    变量名:CLASSPATH
    变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar(记住前面的.)

    附:查看jdk是否安装成功:命令行中输入Java -version,如有版本号显示表示安装成功

    2)下载jmeter+安装jmeter+配置环境变量

    变量名:JMETER_HOME

    变量值:C:\Program Files\apache-jmeter-2.11

    变量名:CLASSPATH

    变值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;

    %JMETER_HOME%\lib/logkit-2.0.jar;

     

    附:看是否安装成功:双击jmeter.bat,会弹出两个窗口,一个是windows窗口,一个是Jmeter界面

     

     

    7、接口测试步骤

    前提:从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。如果当前项目没有接口文档,则可以使用fiddler或Charles对APP进行抓包确认。

    方式1:fiddler接口测试步骤

    1)准备工作

    下载安装fiddler

    安装fiddler证书:这是为了让Fiddler能捕获HTTPS请求,如果你只需要截获HTTP请求, 可以忽略这一步;打开IPhone 的Safari, 问 http://本机IP地址:8888;证书的密码就是手机设置的锁屏密码

    配置fiddler为代理:打开手机,找到你的网络连接,打开HTTP代理,输入Fiddler所在机器的IP地址(比如:192.168.1.104)以及Fiddler的端口号8888

    (2)通过请求构造器进行接口测试

    步骤如下:

    • 将左侧栏接口直接拖到composer下,如下所示

     

    • 在【Request Body】中输入或修改请求参数,点【Execute】,发送模拟请求
    • 在左侧可以看到请求的session,双击或点击【Inspector】,可以查看请求响应结果

    注意:get请求,request body中无内容,只能通过复制接口URL后的参数

    (3)通过设置断点进行接口测试

    作用:能够让你清晰地看到程序执行的具体步骤,便于程序的调试运行和分析其中的变量变化和出错的地点.

    设置好断点后,你可以修改httpRequest的任何信息包括host, cookie或者表单中的数据,模拟真实用户请求。步骤如下:

    • 打开Fiddler点击Rules-> Automatic Breakpoint->Before Requests或者按F11
    • 左侧栏中选择一个接口,按R键
    • 点击Inspectors tab下的WebForms tab或testview tab修改参数信息,然后点击Run to Completion

     

    break on response :拦截修改服务器返回数据(可在webform或textview)

    run to complete :执行修改过的请求数据(可在webform或textview)

    查看返回的数据是否正确

    方法2:jmeter自动化接口测试

    (1)导入fiddler测试脚本方式

    fiddler抓APP接口,然后导出jmx格式,在jmeter中打开此文件,测试计划会自动添加上【http请求默认值】、【http信息头管理器】、【http cookie管理器】和监听器【查看结果树】

    http请求默认值】:设置公共的域名和端口号

    http信息头管理器】:在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中。在往后端请求的时候就可以模拟web携带header信息了。

     

     

    (2)手动在Jmeter中添加相关组件

    • 添加线程组(右击测试计划-添加-线程组)

     

    名称:待测接口的名称

    线程数:虚拟用户数即并发数,一个线程表示一个虚拟用户

    Ramp-Up Period(s):所有线程启动的时间,设置每个线程间的启动间隔

    循环次数:测试循环的次数,如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止运行脚本;

    • 添加http请求默认值

    主要是用来设置被测系统的域名和端口,线程组里的所有“HTTP Sampler”可默认使用此设置。

    https://edu.csdn.net/course/detail/22948

    https://edu.csdn.net/lecturer/3215

    https://edu.csdn.net/course/detail/30898

    https://edu.csdn.net/course/detail/25768

    • 添加http cookie管理器

    cookie manager实际上就像一个容器一样,自身就是Jmeter声明出来的一块存储空间,他会接受服务器发来的所有cookie的赋值命令,自动在cookie manger里面建立相应的变量,记录值。这个过程仅仅需要我们添加一个cookie manger到测试脚本里(jmeter.properties中需要开启CookieManager.save.cookies=true这项,且特别需要注意的是,一个脚本里最好只有一个cookie manger否则会混乱。

    之后再确定服务应答的时候已经设置了cookie值之后,在需要的地方用${COOKIE_变量名}的取值方法取得cookie数据。

      此外还有一点需要注意,当我们的脚本有跨域的情况时,${COOKIE_变量名}只能取到当前域中的cookie值,如果需要使用其他域中的cookie,那只能通过正则来提取。提取sample或者sub-samples的header部分,把值当成变量记录下来。

    HTTP Cookie 管理器具备三个功能:
    1. Cookie 管理器就像一个 web 浏览器那样存储并发送 cookie。
    如果你有一个 HTTP 请求,其返回结果里包含一个 cookie,那么 Cookie 管理器会自动将该 cookie 保存起来,而且以后所有的对该网站的请求都使用同一个 cookie。每个 JMeter 线程都有自己独立的"cookie 保存区域"。因此,如果你在测试网站的时候使用了 Cookie 管理器来存储 session 信息的话,那么每个 JMeter 线程将会拥有自己独立的 session。**注意这些 cookie 不会显示在 Cookie 管理器里,你可以通过察看结果树来对其进行察看。
    2. 接收到的 cookie 数据可以作为 JMeter 线程的参数进行存储(JMeter 2.3.2 之后的版本默认不再打开这个功能)。
    要将 cookie 存储为参数,定义属性"CookieManager.save.cookies=true"cookie 在被保存之前会在名字上加上 "COOKIE_" 前缀(避免和本地参数重复)。设置好名称TEST 的cookie可以用 ${COOKIE_TEST}进行引用。如果不希望这个前缀可以对属性 "CookieManager.name.prefix=" 进行定义。
    3. 手工添加一个 cookie 到 Cookie 管理器。
    注意如果你这么干了,这个 cookie 将被所有 JMeter 线程所共享。这种方式用于创建有很长过期日期的 cookie。
    HTTP Cookie 管理器应用实践。

    对于 bug 跟踪系统的测试,测试场景将会包含一个 "仅登录一次" 操作,这个明显仅需新用户登录。新建一个项目,我们把登录请求放到 "Only Once Controller"。这意味着登录请求将仅被执行一次。之后,cookie 将被 HTTP Cookie 管理器所保存并用于以后的请求。
    现在我们将执行一次仅一个用户的场景。之后我们会切换到察看结果树以核实 JMeter 是否已对 cookie 做了处理。

    你会看到在 POST 请求的时候 JMeter 捕捉到了 cookie。现在我们来验证这个 cookie 是否会被应用于后续的请求。

    • 添加http请求(右击线程组-采样器-http请求)

       录入被测接口的详细信息,包括请求路径,对应的请求方法以及随请求一起发送的参数列表.

     

    协议:可以是http或https,一般都是http

    请求的方法:GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE

    路径:填入接口请求的URL

    请求参数:如果是GET方法的请求,请求参数直接写在URL后面

    如果是POST的方法,则需要在Body Data中填入包含请求参数的数据Body Data可以从Fiddler抓的包中获取,将Fiddler抓取的到数据包中Inspectors-TextView中的数据复制到Body data中即可);

    • 设置检查点:添加-断言-响应断言

    查看测试结果时,有时会发现返回数据不符合要求时,Jmeter给出的结果仍是通过的。这时候我们需要通过断言来判断返回数据是否符合要求。

    比如,我们可以添加一个断言来检查返回信息中是否包含关键字“errMsg”来判断错误信息:首先添加一个响应断言,在要测试的响应字段中选择响应文本,在模式匹配规则中选择包括,勾选否,在要测试的模式中添加提一条,输入关键字“errMsg”;检查网络返回结果中不包含“errMsg”的才会判定为通过。

     

    • 添加监听器--查看结果树

    查看结果树:在结果树中会以树形结构展示每个接口请求的测试结果,包括取样器结果、请求、响应数据,在响应数据中可看到网络侧返回的数据,可以以接口文档中期望返回的参数做比较以判断返回是否正确。在结果树中通过颜色可以直观的看到接口测试的结果,绿色为通过,红色为失败。

                

    另外,我们还可以从监听器中添加一个断言结果,在断言结果中可查看断言的详细返回信息。

     

    8、参数化详细介绍

    参数化:如果系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。断言中也可以使用到参数化。对于这种接口不变,只是改下请求参数的测试,我们可以考虑引入参数化到概念。

    参数化只需简单五步就能搞定:

    准备数据、配置元件、设置参数、引用参数和执行用例

    这里介绍两种参数化的方式:函数助手,CSV Data Set Config

    1、数据准备

    用记事本写了五个用户名和密码,保存为.dat/.txt/.csv格式的文件,编码问题在使用CSV Data Set Config参数化时要求的比较严格,记事本另存为修改编码UTF-8.注意用户名和密码是一一对应的,中间用户逗号(,)隔开。将这个文件放在( C:\JmeterWorkSpace\t.dat  )路径下

     

    2、设置引用参数

    方式1、借助函数助手的方式

    a、点击菜单栏“选项”---->函数助手对话框,看下图:  CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推。

     

    b、复制生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以啦。

     

     

    方式2、借助jmeter中的配置元件(CSV Data Set Config)

    a、选中线程组,点击右键,添加-配置元件-CSV Data Set Config

     

    b、引用以上设置的参数

    这里设置了两个参数,第一个地方是请求路径里面,将citycode参数化了,第二个地方是断言里面,将城市参数化了

    1.讲请求路径里面的citycode换成:${citycode}

     

    2.将断言里面的城市名称,换成:${city}

     

    9、逻辑控制器

    仅一次控制器表示在该控制器下的Http Request,每个Thread只执行一次,不会循环loop

    交替控制器表示在该控制器下的Http Request,Thread会依次执行,而不是乱序执行

     

     

    10、如何解决json中文乱码问题?

    方法1:将该采样器中的“http请求”中的“contentencoding”值改成utf-8

    方法2:将jmeter.property文件中“sampleresult.default.encoding=。。”改成sampleresult.default.encoding=utf-8

    方法3:线程组添加后置处理器-beanshell postprocessor,在框子输入:prev.setDataEncoding(“utf-8”)

    了解更多测试知识访问如下链接

    https://edu.csdn.net/course/detail/22948

    https://edu.csdn.net/lecturer/3215

    https://edu.csdn.net/course/detail/30898

    https://edu.csdn.net/course/detail/25768

     

     

     

     

    展开全文
  • 软件测试-接口测试

    2018-04-14 11:44:52
    接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。
  • http接口测试软件

    2018-09-21 10:57:03
    http接口测试软件,ajax,表单提交post和get请求接口测试
  • 软件测试接口测试总结 一 API接口 1.什么是接口 通过API接口实现计算机软件之间的相互通信 2.为什么要做接口测试? ①.不通过前端UI界面,或者前端UI界面还没设计出来 ②.需要对功能做测试,这也是测试工程师需要...

    一 、API接口

    1.什么是接口

    通过API接口实现计算机软件之间的相互通信(接口测试是一种针对服务端的功能测试)
    

    2.为什么要做接口测试?

    ①.不通过前端UI界面,或者前端UI界面还没设计出来
    ②.需要对功能做测试,这也是测试工程师需要尽早介入测试
    ③.业务的逻辑,数据的资源,安全,都需要通过接口去测试
    

    3.接口测试流程

    需求评审-接口评审---->需求分析-接口分析---->接口用例设计---->执行测试用例---->bug的定位与追踪---->接口测试报告
    

    4.接口分类

    ①.对象分类
    	a.内部接口-集成测试,灰盒(一般开发负责)
    	b.外部接口-联调测试,方案,联调测试通过准则
    ②.协议分类
    	a.Webservice接口--soap协议
    	b.http api接口---http协议
    

    5.接口文档

    ①.接口名称-功能描述
    ②.接口URL
    ③.支持的格式(xml/json)-请求数据格式
    ④.请求方式-get/post/put/head/delete/trace/opions/Connect/java/dubbo
    ⑤.请求参数-参数名称,类型,是否必填,参数说明请求头(测试用例设计)
    ⑥.返回参数-返回码,返回值信息,返回xmll/json信息(预期结果)
    

    6.接口测试过程

    ①.excel表存储接口测试用例
    ②.使用postman/jmeter进行接口测试
    ③.记录测试结果,提交bug
    ④.在接口测试过程中,如果系统已经完成,验证地方(1.接口响应值  2.系统对应的功能数据  3.数据库的数据验证)
    

    二、接口测试要点

    1.了解接口的功能,提交的方式(get/post),接口的URL,接口参数(必填/选填参数)
    2.明确接口正常请求,正常情况接口会返回哪些响应参数
    3.通过性验证:
    	①.按照接口文档上的参数,正常传参数值,是否可以返回正确的结果
    	②.接口的容错性,例如传递数据的类型错误时是否可以处理.(整数  小数  字符串)
    	③.接口参数的边界值.
    	④.接口的性能,接口处理数据的响应时间
    	⑤.接口的安全性,尤其是外部接口
    

    三、接口测试用例

    1.正常场景
    功能是否按照接口文档要求的功能实现

    2.异常场景
    参数为空
    参数多填
    参数少填
    参数类型错误
    参数数值范围错误
    异常场景下是否有正确的处理逻辑以及响应提示

    3.必填参数
    对于必填参数需设计传参数和不传参数,接口的返回情况
    必填参数传参
    必填参数都正确
    必填参数类型错误(非法 特殊字符)
    必填参数数值范围错误(超过边界)
    必填参数空格(前 中 尾)
    必填参数不传参
    必填参数全部为空
    必填参数部分为空

    4.选填参数
    一般接口对于非必填参数都不会做非正常性传值的判断,只需要测试接口返回的内容是否正确.
    如果有接口文档说明对非必填参数做了非正常的验证,也要对其进行再次验证
    覆盖所有参数,正向用例
    覆盖左右必填参数,正向用例
    某一必填参数,逆向用例
    必填参数的基础上,少传一个参数
    多传一个参数,逆向用例
    必填参数数据类型错误,数据值错误,逆向用例(整数型—>字符串)
    任意组合可选参数,正向用例
    与业务逻辑相关的,用户身份认证为空或错误,逆向用例
    字段的唯一性校验,如:插入数据字段不能重复,发送两次请求,查看第二次返回的结果

    三、接口测试质量评估标准:

      1. 业务功能覆盖是否完整
    
      2. 业务规则覆盖是否完整
    
      3. 参数验证是否达到要求(边界、业务规则)
    
      4. 接口异常场景覆盖是否完整
    
      5. 接口覆盖率是否达到要求
    
      6. 代码覆盖率是否达到要求
    
      7. 性能指标是否满足要求
    
      8. 安全指标是否满足要求
    
    展开全文
  • 软件接口测试

    2020-11-01 19:03:08
    1.接口测试:是测试系统组件间接口的一种测试,主要包括同一个系统中模块与模块间的接口/前后端接口,另一个是跨系统平台的对接(内部接口,外部接口)如第三方支付平台,短信验证码; 2.常见接口类型和协议: HTTP...
  • 接口测试用例设计 随着测试分析和分层测试的深化,“接口测试”出现在我们视野的频次越来越高。那么接口测的用例设计常用哪些方法呢?本文将详细描述。 接口测试 1.1 接口测试 接口:主要是子模块或者子系统...
  • 软件测试之Http接口测试 **写在前面:测试不是一种目的,而是一种保证软件质量的手段** 根据工作中对Http接口测试的经验,粗略总结了一下Http接口测试的思路,如下: PS:对于接口返回值的内容验证,也可以...
  • 软件测试】——接口测试
  • 测码学院软件测试学习-如何开始接口测试?首先明确一下接口测试的目的:测试的用途在于检查外部系统与所测系统之间,所测系统模块之间的信息传递,侧重检查数据交互、传递以及系统间的相互依赖关系。其次,选择好...
  • 软件测试4-接口测试

    2020-03-15 01:37:27
    1.接口----接口测试 接口:规范、解耦合、 接口测试测试后端实现是否符合接口规范;模拟客户端发送数据查看响应 根据B/S、C/S分类:web接口测试(分为服务器接口测试、第三方接口测试)、模块接口测试 ...
  • 接口测试测试系统组件间接口的一种测试接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点联系,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。...
  • 软件测试 —— 接口测试

    千次阅读 2019-05-16 16:02:13
    1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等; 2、http api接口:是走http...
  • 接口测试的相关知识:①接口;②前端和后端;③接口测试
  • 软件接口测试规范

    热门讨论 2011-10-19 10:58:56
    提供软件测试接口测试规范文档,主要介绍接口测试的概念,希望对大家有帮助。
  • 接口测试的目的是为了测试接口(听起来怪怪的),尤其是那些与系统相关联的外部接口测试的重点是要检查数据的交换,传递和控制管理过程,还包括处理的次数。本文主要介绍了接口测试用例类型,让我们一起来看。 AD...
  • Lookout时间软件测试中如何进行接口自动化测试自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际...
  • 接口测试顾名思义就是对测试系统组件间接口的一种测试接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系...
  • Postman和Jmeter都是接口测试常用工具。Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get/post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运行,并支持用例导出、导入。...
  • 软件测试之App测试-接口测试

    千次阅读 2018-03-08 12:01:38
    接口测试 服务端一般会提供JSON格式的数据给客户端,所以我们在服务端需要进行接口测试,确保服务端提供的接口并转换的JSON内容正确,对分支、异常流有相应的返回值。此块测试可以采用itest框架进行测试。最方便的...
  • 软件测试工程师面试被问到:“你做过哪些测试”。可是你会回到“做过接口测试”。 1,接口测试是什么呢? 简单回答:接口测试就是测试系统组件间的接口。测试接口间数据的交换,传递和控制管理过程,测试系统间的...
  • 目录 一、什么是接口 二、什么是接口测试 三、接口测试的类型 四、接口测试的方法 1、业务功能测试(等价类划分法) ...计算机系统中的接口:应用软件之间的程序接口软件和硬件之间的接口 二、什么是接口..
  • 本课程为接口测试以及抓包工具-Fiddler的项目实战应用。通过本课程的学习,可以基本了解接口接口测试的基本知识,通过和项目相结合,掌握Fiddler的最实用的功能和应用。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,622
精华内容 4,248
关键字:

接口软件测试