软件测试面试问题及答案_中软国际测试面试笔试题

软件测试面试问题及答案_中软国际测试面试笔试题文章目录软测面试题附答案<二>二、接口面试题1、你们公司的接口测试流程是怎样的?2、接口测试里面如何分析一个bug是前端还是后端的?3、Jmeter参数化的方式有哪几种可以实现4、在接口测试中关联是什么含义?一般什么场景需要用到,postman中是怎样用的?5、常用的性能指标名称与具体含义?6、没有接口和文档怎么进行工作?三、自动化面试题1、Selenium中有哪几种元素定位方式?2、隐式等待与显式等待有什么不同?3、自动化测试里面遇到验证码,一般怎么处理比较好?四、安全1、什么是SQL注入攻击

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

软测面试题附答案<二>

上一篇链接:软测面试题附答案<一>,主要内容为常规软测面试题。
下一篇链接:软测面试题附答案<三>,主要内容为测开相关面试题

二、接口面试题

1、你们公司的接口测试流程是怎样的?

  • 熟悉业务需求和测试要点(需求文档、接口文档)
  • 从开发处拿到API接口文档,了解接口业务、协议和token鉴权,返回格式等信息
  • 使用Postman或Jmeter工具执行接口测试
    • 如果产品比较稳定,会编写自动化测试脚本进行自动化测试
  • 编写接口测试报告

2、接口测试里面如何分析一个bug是前端还是后端的?

  • 前后端分离的项目
    • 抓包看看请求响应,对照接口文档协议,看是否符合要求,如果报文没问题,那就是前端问题
    • 如果返回的数据不对,或者协议不同,则是后端问题
  • 前后端一体的项目,这个需要前端和后端一起排查。

3、Jmeter参数化的方式有哪几种可以实现

  • 配置文件—用户定义的变量原件可以设置全局变量
  • 函数助手对话框中可以选择比如随机字符串、随机日期。随机数字作为参数化
  • 可以使用CSV文件作为参数化,通过配置文件中的csv data set config元件进行设置即可
  • beanshell进行二次开发读取

4、在接口测试中关联是什么含义?一般什么场景需要用到,postman中是怎样用的?

  • 关联就是把上一个接口返回值的奔放截取出来,作为下一个接口的参数,能让串口串联运行
  • 比如电商里面的取消收藏功能,需要从收藏列表获取某个商品记录id,并获取登录鉴权token,然后请求取消收藏接口
  • 在postman中设置管理的步骤如下:
    • 先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来
    • 使用设置全局变量的代码把取出来的值保存到全局变量
    • 在下一个接口中,使用{
      {全局变量}}代替要替换的静态值

5、常用的性能指标名称与具体含义?

  • 响应时间、并发用户数、吞吐量、性能计数器、TPS
    • 响应时间:指的是”系统响应时间”,定义为应用系统从发出请求开始到客户端接收到响应所消耗的时间。把它作为用户视角的软件性能的主要体现
    • 最大并发用户数:
      • 从业务的角度来模拟真实的用户访问,体现的是业务并发用户数,指在同一时间内访问系统的用户数量。
      • 从服务器端承受的压力来考虑,这里的”并发用户数”指的是同时向服务器端发出请求的客户数,一般结合并发测试使用,体现得到是服务器端承受的最大并发访问数。
    • 吞吐量:指”单位时间内系统处理的客户请求的数量”,直接体现软件系统的性能承载能力
    • 性能计数器:是描述服务器或操作系统性能的一些数据指标。例如,对Windows系统来说,使用内存数(Memory In Usage),进程时间(Total Process Time)等都是常见的计数器
    • TPS:每秒系统能够处理的交易或事务的数量。他是衡量系统处理能力的重要指标。

6、没有接口和文档怎么进行工作?

  • 公司里多数是前后端分离,项目启动后,开发人员应该先定义接口文档,测试人员应该尽早拿到接口文档进行编写测试用例。
  • 没文档情况:
    • 找上司或者对应的开发人员获取,确实没有,就抓包
      • 如果是后端返页面和数据,不是前后端分离的,则没法做接口测试
      • app:通过代理抓包
    • 如果里面参数涉及复杂的加密逻辑且开发人员不能协助,基本没戏

三、自动化面试题

1、Selenium中有哪几种元素定位方式?

八大定位方法,在之前的文章中也有详细讲到:Selenium备忘录

1id: find_element_by_id() 采用id属性进行定位
2、name: find_element_by_name() 定位方式和id定位相似,id、name和class一般在网页都至少会
有其中的一种
3class name: find_element_by_class_name() 定位方式和id定位相似,id、name和class一
般在网页都至少会有其中的一种
4、tag name:find_element_by_tag_name() 通过标签名去定位,用的少,如
find_element_by_tag_name("div")
5、link text: find_element_by_link_text() 超链接内容定位
6、partial link text:find_element_by_partial_link_text() 超链接内容定位,模糊匹配
7、xpath:类似xml格式进行选择元素
8、css selector:根据CSS属性定位,一般class是用.标记,id是用#标记,定位方式也会比xpath快

2、隐式等待与显式等待有什么不同?

  • sleep():强制等待,设置固定休眠时间。后脚本的执行过程中执行 sleep()后线程休眠,而另外两种线程不休眠。
  • implicitly_wait():隐式等待,是设置的全局等待。设置等待时间,是对页面中的所有元素设置加载时间,如果超出了设置时间则抛出异常。隐式等待可以理解成在规定的时间范围内,浏览器在不停的扫描页面,直到找到相关元素或者时间结束。
  • WebDriverWait():显式等待,是针对于某个特定的元素设置的等待时间,在设置时间内,默认每隔一段时间检测一次当前页面某个元素是否存在,如果在规定的时间内找到了元素,则直接执行,即找到元素就执行相关操作,如果超过设置时间检测不到则抛出异常。默认检测频率为0.5s,默认抛出异常为:NoSuchElementException

3、自动化测试里面遇到验证码,一般怎么处理比较好?

  • 激活成功教程验证码
    • OCR识别:tesseract-orc
    • AI机器学习
  • 绕过
    • 让开发人员临时关闭验证码
    • 提供一个万能的验证码
    • 使用cookie(登录主要是为了拿cookie,获取登录凭证)

四、安全

1、什么是SQL注入攻击,如何避免

SQL注入是一种注入攻击,可以执行恶意SQL语句,它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器。攻击者可以使用SQL注入漏洞绕过应用程序安全措施;可以绕过网页或Web应用程序的身份验证和授权,并检索整个SQL数据库的内容;还可以使用SQL注入来添加,修改和删除数据库中的记录。

  • 如何防止SQL注入攻击?
    • 不要使用动态SQL
    • 避免将用户提供的输入直接放入SQL语句中;最好使用准备好的语句和参数化查询,这样更安全。
    • 不要将敏感数据保留在纯文本中
    • 加密存储在数据库中的私有/机密数据;这样可以提供了另一级保护,以防攻击者成功的排出敏感数据。
    • 限制数据库权限和特权
    • 将数据库用户的功能设置为最低要求;这将限制攻击者在设法获取访问权限时可以执行的操作。
    • 避免直接向用户显示数据库错误。

2、有没做过安全测试?什么是XSS攻击?

  • 安全测试:在任何软件(Web或基于网络)的应用程序中找到漏洞,并保护其数据免受可能的攻击或入侵者
  • 什么是XSS攻击
    • XSS或跨站点脚本是黑客用来攻击web应用程序的漏洞类型。他允许黑客将HTML或JAVASCRIPT代码注入网页,网页可以从cookie中窃取机密信息并返回给黑客。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187987.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 免费的ssl证书申请_公需课怎么申请证书

    免费的ssl证书申请_公需课怎么申请证书第一步:在阿里云上申请免费的https证书先点击Symantec然后选择1个域名然后选择免费型DVSSL第二步:我的订单页面完成信息的补全第三步:点击详情查看DNS信息,并且配置DNS信息第四步:下载证书,上传到nginx服务器第五步:配置nginx代理,并重启nginx服务第六步:访问https的接口或者页面,查看是否配置正确。

  • Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

    Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONTIntent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

  • Retrofit2.0 请求数据 一直出返回网络错误,错误代码 414

    Retrofit2.0 请求数据 一直出返回网络错误,错误代码 414今天使用rettorfit去请求数据一直不成功,请求逻辑上以及请求参数上都没有问题,后台也验证过是通的(我用xutils3请求也是成功的,后来意识到xutils3是将参数放在请求体里面),但是就是一直不能请求成功,后来终于发现还是参数的问题。由于使用的是retrofitPOST请求,查询字段用的是@QueryMap,而这个查询时是直接拼接在url的后面,但是url的请求接口是有长度限制的…

  • phpspreadsheet使用实例_php获取html中文本框内容

    phpspreadsheet使用实例_php获取html中文本框内容目录安装引用导入Excel获取日期格式安装composerrequirephpoffice/phpspreadsheet引用usePhpOffice\PhpSpreadsheet\Reader\Xlsx;usePhpOffice\PhpSpreadsheet\Reader\Xls;usePhpOffice\PhpSpreadsheet\IOFactory;usePhpOffice\PhpSpreadsheet\Cell\Coordinate;usePhpOffice\PhpS

  • ccf csp认证真题(护师考试历年真题)

    CSP认证考什么怎么考?CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/C++语言编写,将逐步增加Python和Java的解题程序。程序中附有注释,力求解题思路清晰简洁,值得珍藏与模仿。逐题改写过程中,富文本编辑器写的博客将全部用Markdown编辑器改写。改写的第一题,都增加了Python和Java的解题程序。2021.04第22次:CCF202104-1灰度直方图(100分)【计数】CCF202104-2邻域均值(100分.

  • jetty—jetty自动重启问题

    jetty自动重启问题

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号