• 15
  • 16
分享

1、请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?

1.png

UI与接口测试的协同可以从下面的方向考虑:

  1. UI的操作实际上就是用另一种方式调用接口,那么接口有多少种参数组合就要求UI用例要构造多少种操作进行调用;

  2. UI操作所需要的数据可以用接口来生成;

  3. 接口测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界面展示的逻辑正确性;

  4. UI测试需要重视接口调用不成功或者接口异常情况下UI的呈现方式和用户体验;

  5. UI中可能会有一些状态的缓存信息(这样就不需要每次频繁调用接口去获取了),比如鉴权信息等,需要重点关注这些缓存的更新策略。

2、接口测试中上下游接口有数据依赖如何处理?

上下游接口的数据依赖无非就是准备测试数据。

假如一个事务需要顺序调用2个接口:A和B接口, B依赖A接口的响应数据,这时候在执行B接口之前必须完成A接口,并通过某些手段获得A接口的特定数据给B接口使用。

数据一般有三种方式获得:

  1. 独立统一的测试数据库, A、B需要的数据都可以从库里拿到

  2. 假如B依赖A创造的数据,那么每次执行B之前必须执行A去做数据创建

  3. 通过正则表达式动态获得A的返回数据,并保存到变量中,通过参数化的方式传递给B接口

3、依赖于第三方数据的接口如何进行测试?

可以使用SoapUI等工具直接调用第三方数据接口的webservice,通过返回值来查看第三方数据的接口是否调用正常。

也可以利用一些工具来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖。

4、接口测试中依赖登录状态的接口如何测试?

依赖登录状态的接口的本质上是在每次发送请求时需要带上Session或者Cookie才能发送成功,在构建POST请求时添加必要的Session或者Cookie。

如果使用python+requests实现的话,可以使用session对象发送接口请求。

5、webService接口测试是什么?

webService接口有一套完整的协议标准,主要为soap协议,用来进行消息的传递,返回结果需要包装在一个soap协议指定的语法格式中。即使你只需要简单的返回字符1,也需要包装在协议种返回,协议描述了成功失败否,结果值等,可以通过soapUI测试工具去进行接口的模拟及测试。

web service接口的特点:

  • 接口中实现的方法和要求参数一目了然;

  • 不用担心大小写问题;

  • 不用担心中文 urlencode 问题;

  • 代码中不用多次声明认证(账号,密码)参数;

  • 传递参数可以为数组,对象等。

6、如何获取接口的参数?

设计接口测试用例时,涉及的是电商系统,其中包括很多修改,如商品、商家、店铺等等,针对这些数据的修改,会涉及到很多参数。如商品的名称,商品的尺码,商品的颜色等等。

那在设计实现“修改”接?口时,如何确定要传哪些参数?是只需要传我要修改的参数,还是全部参数都要传?

方式一、关键还是看后台逻辑实现

举例:User有两个属性username,password

后台逻辑实现:update User set username=? where id=xxx;

那么,如果你只想更新username的时候,可以不传password,其值是保持不变的。

后台逻辑实现:udpate User set username=?,password=? where id=xxx;

这种情况下,即使你只想更新username,也需要传password的值给后台,不然password就会被更新为空。

此外,还有一些数据如id等,如果sql中没有写,那即使传递了本字段的参数,数据库也不会更新。因此,在写关于“修改”的接口时,需要考虑一下,后台的逻辑是怎么实现的,然后确认要传递哪些参数。

方式二、抓包工具直接抓取接口情况分析

如果系统已经实现了,并且已经确定了接口逻辑,那么我们通过Fiddler等抓包工具,抓取到对应业务的请求报文,分析其中传递参数信息即可。

7、为什么要做接口测试?

接口是获取和操作资源的方式,而大部分系统和产品中,资源一般都是产品的核心,比如微信核心资源就是通讯录关系链和聊天记录等,因此资源是必测的。

另外接口中大部分的内容是数据,通过数据的对比我们能推测到系统和产品的逻辑,测接口就是测逻辑。

最后接口中的返回相对单纯,不像web页面,html代码中有太多ui的东西,ui最不稳定,变化太快,接口相对稳定一点点,但是里面的干扰信息更少,断言相对容易很多。

8、HTTP接口传递数据最常用的方式?

Get方式是从服务器上获取数据;在做数据查询时,建议用Get方式;如:商品信息接口、搜索接口、博客访客接口等。

Post方式是向服务器传送数据 ;在做数据添加、修改或删除时,建议用Post方式 ;如:微博图片上传图片接口、登录注册接口等。

9、什么是接口测试?

接口测试是测试系统组件间接口的一种测试。

接口测试的重点是检查数据的交换,传递的正确性,以及接口间逻辑依赖关系。

提交接口测试的重要意义:实现开发期并行测试,减少页面层测试的深度,缩短整个项目的测试周期。

10、我们测试的接口属于哪一类?

大多数的接口指的是HTTP接口,通常是指 B/S架构,由客户端(浏览器)调用,或模拟客户端(浏览器)调用服务器提供的API接口,由接口完成处理并返回一个应答的过程。

常见接口类型还有:Webservice接口,http接口,jms接口,hessian接口、REST接口。

11、接口测试用例编写的要点都包含哪些?

  • 测试每个参数类型不合法的情况(等价类)

  • 测试每个参数取值范围不合法的情况(等价类)

  • 测试参数为空的情况(等价类)

  • 测试参数前后台定义的一致性

  • 测试每个参数的上下限(边界值)

  • 如果两个请求有严格的先后顺序,需要测试调转顺序的情况(参数组合和顺序)

  • 接口参数有可选和必选情况的参数组合测试(参数组合和顺序)

12、接口测试的基本步骤?

1)获取请求报文数据

通过fiddler工具或者API接口文档获得请求报文参数,其中就包括请求方式(get、post、put等)、URL地址、请求的query string parameter以及请求的body数据。

2)借助工具模拟请求报文并发送

把第一步中获得的参数,整理到jmeter、postman、soapui等接口参数工具中,模拟接口请求并发送该请求。

3)获得响应结果

使用接口测试工具发送请求后,会返回响应报文,分析响应报文中的数据是否是符合要求的。

4)断言:判断实际结果是否与预期相同

在工具中也可以添加预设的断言,在运行接口测试后,会自动返回接口是否实现正确。我们可以使用响应报文的响应状态码、响应的headers头部或者响应的正文数据(html、json格式等)进行断言。

13、HTTP协议的特点是什么?

1)HTTP是无连接

无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

2)HTTP是媒体独立的

这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

3)HTTP是无状态

HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

14、HTTP客户端请求消息包含哪几部分?

  • 客户端发送一个HTTP请求到服务器的请求消息包括以下格式:

  • 请求行(request line)

  • 请求头部(header)

  • 空行

  • 请求数据

2.jpg

15、HTTP服务器响应消息包含哪些信息?

  • HTTP响应由四个部分组成,分别是:

  • 状态行

  • 消息报头

  • 空行

  • 响应正文

3.jpg

16、常见的HTTP状态码

  • 200 - 请求成功

  • 301 - 资源(网页等)被永久转移到其它URL

  • 404 - 请求的资源(网页等)不存在

  • 500 - 内部服务器错误

作者:小码哥说测试

原文链接:https://blog.csdn.net/jiangjunsss/article/details/119547545

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   苹果公司在欧盟委员会的一次官方听证会上表示,尽管竞争对手提出了投诉,但苹果公司已经完全遵守了新的《数字市场法》(DMA)。现在,《数字市场法》已在欧盟全面生效,欧盟监管机构有权调查合规情况,并在必要时对违反新法的大型科技公司处以罚款。在欧盟委员会的听证会上,苹果公司表明了自己的立场,并反驳了竞争对手的批评。  据路透社报道,欧盟委员会的听证会为期一天,苹果公司与竞争对手以及应用程序开发商和企业用户出席了听证会。苹果公司的律师凯尔-安迪尔(Kyle Andeer)在欧盟委员会听证会上表示,该公司已专门为遵守《数字市场法》重新设计了系统。  安迪尔在听证会上说:"我们首先要确保我们遵...
            0 0 897
            分享
          • (一)Monkey简介Monkey意指猴子,顽皮淘气。所以Monkey测试,顾名思义也就像猴子一样在软件上乱敲按键,猴子什么都不懂,就爱捣乱。Monkey原理也是类似,通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、滑动Trackball、手势输入等操作),来对设备上的程序进行压力测试,检测程序多久的时间会发生异常,在功能测试完成后进行monkey测试。Monkey包括许多选项,它们大致分为四大类:(1)基本配置选项,如设置尝试的事件数量;(2)运行约束选项,如设置只对单独的一个包进行测试;(3)事件类型和频率;(4)调试选项;总结:Monkey测试用于发现App测试中的问题(如AN...
            15 15 1908
            分享
          • 一、前言说到底,你真的会造火箭吗?常说面试造火箭,入职拧螺丝。但你真的有造火箭的本事吗,大部分都是不敢承认自己的知识盲区和技术瓶颈以及经验不足的自嘲。面试时:我希望你懂数据结构,因为这样的你在使用HashMap、ArrayList、LinkedList,更加得心应手。我希望你懂散列算法,因为这样的你在设计路由时,会有很多选择;除法散列法、平方散列法、斐波那契(Fibonacci)散列法等。我希望你懂开源代码,因为这样的你在遇到问题时,可以快速定位,还可能创造出一些系统服务的中间件,来更好的解耦系统。我希望你懂设计模式,因为这样的你可以写出可扩展、易维护的程序,让整个团队都能向更好的方向发展。所...
            14 15 1925
            分享
          •   据 C114 通信网报道,中国联合网络通信集团有限公司(中国联通)发布《2023 年度供应商黑名单》公告。  根据《中国联通供应商黑名单管理办法》(中国联通集团〔2021〕150 号)相关规定,2024 年 8 月 8 日,经集团公司总经理办公会议审议决定,在集团公司范围内对 17 家供应商采取禁入措施,对 7 家供应商采取限制措施,禁入及限制时间自 2024 年 8 月 8 日起计算。  《黑名单禁入型》供应商中包括:  1、慧与(中国)有限公司(曾用名:中国惠普有限公司)  · 业务限制年限 3 年  2、威睿(VMware)信息技术(中国)有限公司  · 业务限制年限 2 ...
            0 0 299
            分享
          • 负载测试1、定义:负载测试是逐渐增加系统负载,测试系统性能的变化,最终确定系统在满足性能指标的情况下所能承受的最大负载的测试。2、目的:在不挂系统的情况下进行测试,使系统在最大压力下正常运行。获取系统指标。3、方法:持续增加请求压力,直到服务器的某个资源项达到饱和(如CPU使用率达到90%)或某个指标达到安全临界值(如监控报警阈值或运维拐点)。系统负载压力包括并发用户数、连续运行时间和数据量。并发用户数是负载压力的重要指标。并发测试1、定义:检查系统是否存在并发问题,如内存泄漏、线程锁、资源争用等。2、目的:要确定并发用户数,必须知道系统承载的在线用户数。然后在单位时间(S)内同时发起一定数量...
            0 0 833
            分享
      • 51testing软件测试圈微信