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

软件测试面试问题及答案_中软国际测试面试笔试题文章目录软测面试题附答案<二>二、接口面试题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)


相关推荐

  • NFS修改2049端口号

    NFS修改2049端口号欢迎大家搜素微信公众号“东面而视”,分项技术及讨论技术《什么是NFS》   就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据。(一般共享视频,图片等静态数据) 为什么修改NFS的2049端口1. 其他服务再用2049端口2. 由于某些规定(如端口号必须在10000以上)修改方法1. 检查LINUX是否按装NFS[root@CT5_6-32-22…

  • oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    2021年11月13日
  • Zabbix监控进程日志的配置过程[通俗易懂]

    Zabbix监控进程日志的配置过程

  • pca算法matlab代码(单因素方差分析原理)

    PCA主成分分析原理分析和Matlab实现方法(三)PCA算法主要用于降维,就是将样本数据从高维空间投影到低维空间中,并尽可能的在低维空间中表示原始数据。PCA的几何意义可简单解释为:0维-PCA:将所有样本信息都投影到一个点,因此无法反应样本之间的差异;要想用一个点来尽可能的表示所有样本数据,则这个点必定是样本的均值。1维-PCA:相当于将所有样本信息向样本均值的直线投影;2维-PCA:将样本的平面分布看作椭圆形分布,求出椭圆形的长短轴方向,然后将样本信息投

  • oracle r修改表名,oracle中修改表名「建议收藏」

    oracle r修改表名,oracle中修改表名「建议收藏」<<>>answer1:ALTERTABLEold_table_nameRENAMETOnew_table_name;(大写为系统命令)answer2:SQL>selecttnamefromtab;TNAME——————————TESTSQL>renametesttotemp;Tablere…

  • 虚拟存储管理_虚拟存储管理的基本条件

    虚拟存储管理_虚拟存储管理的基本条件必要性:前面的各种存储管理方式必须一次性全部装入内存才可以运行,直至作业运行结束才能释放全部内存资源,所以存在:(1)内存不满足作业地址空间要求时就不能运行(2)大量作业要求运行时只有少数作业装入内存运行,其他作业留在辅存等待程序执行呈现局部性特征,程序的执行局限于某个部分局限性⎧⎩⎨时间局限性{某条指令被执行,不久之后指令可能再次执行某条数据被访问,不久之后数据可能再次空间局限性…

发表回复

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

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