• 0
  • 0
分享
  • 服务端测试工程师面试经验——软件测试圈
  • 恬恬圈 2024-09-14 10:54:28 字数 2755 阅读 425 收藏 0

  像APP、WEB这种测试工程师入门级测试技能,对大家来说经常是点点点,但是现在业内大多岗位都是服务端测试,从前端页面发起的测试很容易被替代。

  面试一般会重点考察服务端的测试,说到服务端的话当然离不开接口测试,互联网测试从业者的要求越来越高,不仅仅局限于术,更要在道上有所造诣,在面试过程中的考察点一般会涉及以下几点:

  1、软实力考察

  面试官会给到候选人一个比较有挑战性的任务,考察其面对问题的态度、分析问题的思路;如果给一个需求如何保证质量,考察责任心;沟通过程是否主动,因为测试工程师对沟通的要求相对来说是比较高的;测试的过程描述是否详细,认证细致也是测试工程师及其优秀的一种品质。

  2、测试基础

  什么是API?

  API是(Application Programming Interface)首字母缩略词,即应用程序编程接口。API是一组用于构建软件应用程序的规程,协议和工具。API充当软件应用程序之间的接口,并允许两个软件应用程序相互通信。API是一组软件功能,可以由其他软件执行。

  什么是API测试?

  API测试是一种软件测试,涉及直接测试API,也是集成测试的一部分,用于检查API是否满足应用程序的功能,可靠性,性能和安全性方面的期望。在API测试中,我们主要关注软件架构的业务逻辑层。可以在包含多个API的任何软件系统上执行API测试。测试人员模拟客户端向服务器发送报文请求,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程。

  涉及两大类:

  1)代码内部接口调用,代码A与代码B在组合的时候,必然需要定义一些名称以及参数、类型,这种在测试中一般划分在白盒测试中,对内部逻辑进行测试。

  2)系统与系统之间,通过网络数据的传递进行交互,这种在测试中一般划分在黑盒测试中,也就是看不到代码,但可以通过各种手段将网络数据发送到接口从而得到接口的响应信息,达到测试的目标。

  常见的API测试类型有哪些?

  API测试通常涉及以下实践:

  单元测试:不依赖外部的数据库,本地调试接口,确保接口的请求、返回符合预期

  功能测试:针对接口业务功能做用例设计,通过接口调用工具发起测试执行

  负载测试:通过压力测试评估接口的性能

  安全测试:检测接口是否存在安全漏洞

  故障测试:模拟超时、依赖服务故障、网络故障等,检测接口稳定性

  3、网络通讯协议和RPC通信

  常见的网络协议有TCP、UDP、HTTP,常用的rpc框架有dubbo、thrift、sofa等,面试时经常会了解如下内容:

  HTTP: HTTP(超文件传输协议)是一种应用层的网络协议,当前大多数web应用都构建在HTTP协议之上,目前广泛使用的是HTTP/1.1版本。它具有以下几个主要特点:

  1)客户机-服务器模型,用于本地浏览器与远程WEB服务器的信息交互 ;

  2)请求-响应模式,浏览器为单个事务发起连接请求,服务器在响应这个请求后立即关闭连接(开启了keep-alive除外);

  3)无状态协议,协议本身对事务处理没有记忆能力,同一台客户机和服务器的相邻两次连接在HTTP看来是完全无关的,为了记录连接的状态,所以引入了Cookie和Session机制;

  4)HTTP在传输层使用的是TCP协议,所以它可以保证信息传输的可靠性。

  Thrift:thrift主要用于各个服务之间的跨语言远程通信,thrift通过IDL(Interface Description Language)来关联客户端和服务端。thrift主要支持以下几种服务模型,TSimpleServer: 简单的单线程服务模型,常用于测试;

  TThreadPoolServer: 多线程服务模型,使用标准的阻塞式IO;TNonBlockingServer: 多线程服务模型,使用非阻塞式IO(需要使用TFramedTransport数据传输方式); THsHaServer: THsHa引入了线程池去处理,其模型读写任务放到线程池去处理,Half-sync/Half-async处理模式,Half-async是在处理IO事件上(accept/read/write io),Half-sync用于handler对rpc的同步处理。

  Dubbo:Dubbo是Alibaba开源的分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。其本质就是一个RPC分布式框架。

  4、API测试常用工具

  用于API测试的一些工具如下:

  Eolink: https://www.eolink.com/

  Curl

  httpie

  https://pypi.org/project/thrift/

  Postman

  Katalon Studio

  SoapUI

  Assertible

  Tricentis Tosca

  Apigee

  JMeter

  Rest Console

  RoboHydra Server

  SOAP Sonar

  5、 自动化测试

  测开工程师的职责除了业务质量保证之外,对提效的要求也非常高,一般通过自动化测试提高测试效率,Eolink平台提供了比较成熟的自动化测试工具。在Eolink(https://www.eolink.com/)平台编排自动化用例构建测试计划后,可发起自动化测试,用户可以根据自己的需求灵活编排冒烟测试计划或者回归测试计划,示例如下:

  创建自动化测试项目

  在API 自动化测试平台中,所有的测试用例都是以项目维度来进行管理,一个自动化测试项目可以从多个API文档项目中引用API信息来创建API测试用例。

  进入项目 项目列表页,点击新建自动化测试按钮:

1-1.png

  在弹窗中输入相应的信息,点击确定即可:

1-2.png

  创建自动化测试用例

  进入用例管理页面,点击 添加用例 按钮,在弹窗中输入测试用例的名称,然后点击确定:

1-3.png

  创建定时测试任务

  API自动化测试可以设置定时任务,实现项目在无人值守的情况下自动测试并且发送报告给相应的邮箱,监控项目监控情况。

  进入定时任务页面,点击 新建定时任务 按钮:

1-4.png

  在新页面中设置定时任务的周期:

1-5.png

  点击添加用例按钮,设置需要定时执行的测试用例:

1-6.png

  设置通知邮件的发送地址,然后点击 保存 按钮即可创建一个定时测试任务:

1-7.png

  查看定时测试历史

  在定时任务页面,点击相应定时任务的 【历史】 按钮:

1-9.png

  在弹窗中可以看到历史的测试报告,您可以将报告导出为文件:


作者:小Kit    

来源:http://www.51testing.com/html/02/n-7796402.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   我是一个刚进入社会的测试新人,在刚踏入社会时,根本不知道自己能够干嘛,自己想干嘛,我很羡慕那些知道自己喜欢什么,自己想干什么的人,有一件自己喜欢的东西真得很好。  我找工作的时候心情非常焦虑,因为没有什么面试机会,每天去招聘网站上跟人交流寻找面试机会,好不容易有几个面试机会,但也因为准备不充分等原因,没有通过面试,没有得到工作机会。  我很苦恼,我在想自己是否适合这个行业,是否适合这个工作岗位。家人呢也很关心自己的工作情况,每天会打电话询问,其实情况是很糟糕的,但不想让家人担心,只能说自己过得还挺好,面试机会也挺多,让他们不要跟着自己忧心。  因为刚出来没有什么收入,每天的开销也挺大,一直...
            14 14 1866
            分享
          • 沐沐这几年主要参与的是政务相关的产品测试,交付到项目现场的系统需要满足三级等保要求,因此对于系统的安全性要求较高。这里先简单的说明下等保测评,我国将信息系统的安全保护分为五个等级,等保测评主要内容有五个方面,即物理安全、网络安全、主机安全、应用安全、数据安全。沐沐参与测试的产品需要满足三级等保要求,作为测试人员,我们主要关注的就是应用的安全性。安全测试实际上是测试种类中门槛较高的一类,因此我们在安全测试过程中也主要是使用安全工具进行扫描。下文将简单的介绍一下沐沐日常工作中常用的几款Web端安全扫描工具。一、AppScanAppScan是IBM公司的出品的一款功能非常强大的Web 应用安全测试工...
            1 0 6702
            分享
          • 在进行性能测试方案设计前,需要对系统的并发数进行估算,在这里总结了几种计算方法可以提供参考平均并发数计算平均并发数 = (最大活跃用户数 * 访问页面所需时间) / 页面被持续访问时间最大活跃用户数: 不管采用什么公式计算,都只能使用最大活跃用户数进行计算,不能按用户总量计算;访问页面所需时间:单个用户在访问页面所需的单位时间,比如用户打开首页这个动作,从开始到加载完成所需要的时间;访问页面持续时间:活跃用户在高峰时间段访问页面的持续时间,如:早上9点半~10点是高峰访问时间段,则持续时间是30分钟;举个例子:某站有1W活跃用户,在9...
            0 0 2720
            分享
          •   什么是功能测试?  进行功能测试以确保应用程序的功能符合需求规范。这是黑盒测试,不涉及应用程序源代码的详细信息。在执行功能测试时,重点应放在应用程序主要功能的用户友好性上。  要首先执行功能测试,我们需要识别测试输入并使用选定的测试输入值计算预期结果。然后执行测试用例,并将实际数据与预期结果进行比较。  功能测试类型  让我们看一下针对移动应用程序的不同类型的功能测试。  单元测试  在单元测试中,在开发阶段将测试软件应用程序的各个组件。单元测试通常由开发人员而不是测试人员完成。测试一段代码形式的功能以验证准确性。驱动程序,单元测试框架,模拟对象和存根用于执行单元测试。  单元测试通常是自...
            14 14 2320
            分享
          • Loadrunner基本流程操作准备条件:一.安装loadrunner二.破解loadrunner(注:本次使用lr11版本可以兼容的IE浏览器版本为IE6–IE8;所以不要让IE进行更新)设置IE不自动更新的方法:不想更新的话,可以在系统更新Windows Update里重要更新中招待IE,将前面的对号点掉即可。当然以后出现新的系统补丁时候还要在点比较麻烦,可以右键IE更新,点其中的【隐藏更新】即可。性能测试一.生成脚本:1.协议选择:1)对于基于bs的网站选择web(HTTP/HTML)2)对于基于CS的要和开发沟通好其所使用的协议,然后选择对应的协议。2.录制选项设置:位置在:Tools...
            0 0 1609
            分享
      • 51testing软件测试圈微信