软件测试面试题分享-No.5

简介: 软件测试面试题分享
cookie和session的区别?

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份

区别:

1、数据存放位置不同:

cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、安全程度不同:

cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

3、性能使用程度不同:

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。

4、数据存储大小不同:

单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储于服务端,浏览器对其没有限制。



自动化测试中用例依赖的数据如何构造?

不管是接口自动化还是ui自动化都会存在自动化case依赖数据如何构造的问题,可以从三个方面去考虑:

第一个是在测试前采用接口去构造需要的数据;

第二个是使用初始化sql去初始化数据,但是如果说表结构复杂的话,sql编写也是比较大的工作量;

第三个方式是提前准备好一套数据,并且将该数据对应的数据库进行备份,在之后每次执行测试前先备份当前数据库数据,再导入之前的测试数据,再执行测试,测试执行完后再恢复原有的数据。

可参考之前写的文章:如何构造测试数据?


接口测试时碰到接口重定向如何去测试?

首先接口测试方式不同则处理方式不同,如果用的jmeter则无需特殊处理,jmeter默认会自动处理重定向接口,自动发起对重定向的接口地址的访问并返回结果;如果是采用代码框架的方式则有可能需要特殊处理,拿到第一个接口响应header中的location字段对应的接口地址,发起对该地址的请求。

感兴趣的朋友可以自己用以下的网址访问去测试一下各种方式发请求是否有区别:https://www.360buy.com,浏览器访问这个网址会自动跳转到京东首页。用python代码发请求的话,默认allow_redirects=True,会自动重定向,可以手动传Flase进去,然后看一下响应结果。可能其他框架有的没有做这种处理,测试的时候要注意一下。


微信图片_20220114142301.png


接口依赖第三方接口,但是第三方接口却有问题怎么办?

一般会采用mock来解决这个问题。但是要分场景去看是否要开发的支持,如果是客户端直接调用第三方接口的,这种测试人员自己mock就行。如果是开发人员自己包装了一个接口,然后再自己的接口里面再去调用第三方接口的,这种就需要开发的配合才行,将自己公司的接口调用指向mock出来的接口服务。


web自动化中有哪些场景需要特殊处理?

1. iframe元素,当要操作的元素在iframe中是需要先将driver切换至该iframe才能操作,切换方式有四种,通过id、name、索引、iframe元素对象,并且在多iframe切换时还需要进行各种转换

2. 新窗口打开,当要操作的元素在一个新窗口打开的页面上时,就需要先将driver切换至新窗口上才能进行操作

3. 时间控件,通常时间控件只能选择无法输入,那么可以采用js的方式修改时间控件的只读属性然后再进行输入,或者用js直接修改时间控件的readonly 属性。参考代码:


    document.getElementById("xxx").removeAttribute("readonly")

    4. 元素不在当前视野需要滚动才会出现,可以采用js的方式滚动,但是有时候界面中有多个滚动条js就会无效,则需要先将光标置入到滚动条区域然后模拟键盘的上下左右键来操作.

    相关文章
    |
    3月前
    |
    运维 测试技术
    拆分软件测试流程,一张图秒杀所有面试
    本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
    74 7
    拆分软件测试流程,一张图秒杀所有面试
    |
    2月前
    |
    NoSQL 测试技术 Redis
    第一次面试总结 - 迈瑞医疗 - 软件测试
    本文是作者对迈瑞医疗软件测试岗位的第一次面试总结,面试结果非常好,但面试过程中没有提问太多技术性问题,主要围绕个人介绍、互相了解、个人规划和项目亮点进行,因此作者认为这次面经的学习意义不大。作者还提到了实习岗位的待遇和工作内容,以及对不同阶段求职者的建议。
    56 2
    |
    4月前
    |
    SQL 安全 测试技术
    [go 面试] 接口测试的方法与技巧
    [go 面试] 接口测试的方法与技巧
    |
    4月前
    |
    自然语言处理 网络协议 JavaScript
    23.2月 可能七牛云实习测试面试(技术面一面)面经整理
    关于2月进行的七牛云实习测试面试(技术面一面)的面经整理,涵盖了多个技术问题,包括马尔可夫链的用处、软件测试工具、TCP/IP协议的三次握手过程、TCP与UDP的区别、网络诊断方法、DNS的作用、ifconfig命令的用途、Spring Boot的优势以及Java中Map的了解,还包括了一个编程题目:在n个书中找出k个最小的数。
    |
    5月前
    |
    IDE Java 测试技术
    Java面试题:什么是Java中的单元测试以及如何编写单元测试?
    Java面试题:什么是Java中的单元测试以及如何编写单元测试?
    198 1
    |
    6月前
    |
    jenkins 测试技术 持续交付
    30个接口自动化测试面试题,赶紧收藏
    接口自动化测试是使用工具验证接口功能、性能和安全性的自动化过程。它能提升测试效率,减少人工工作量,及时发现问题。常见工具包括Postman、SoapUI和JMeter。测试涉及需求分析、测试计划、用例设计、脚本编写、执行、报告生成及问题跟踪。测试用例涵盖输入数据、预期结果等,脚本包含请求和响应细节。断言验证接口正确性,数据驱动测试使用多数据验证,性能测试检查响应时间等,安全测试关注认证和加密,Mock测试模拟数据,集成测试验证接口交互,回归测试确保修改未破坏原有功能,异常处理确保测试稳定性,并发和压力测试检查系统负载,持续集成通过工具如Jenkins保证软件质量。
    237 3
    |
    5月前
    |
    IDE Java 测试技术
    Java面试题:描述在Java中使用JUnit进行单元测试的过程
    Java面试题:描述在Java中使用JUnit进行单元测试的过程
    55 0
    |
    6月前
    |
    安全 网络安全 网络协议
    精选30道“渗透测试工程师”面试题
    渗透测试 信息收集 网络安全 web安全
    312 3
    |
    6月前
    |
    测试技术 Linux 开发工具
    软件测试之【面试题综合训练题】
    软件测试之【面试题综合训练题】
    78 0
    |
    7月前
    |
    XML 安全 网络安全
    渗透测试初级面试题
    答:.先爆破用户名,再利用被爆破出来的用户名爆破密码;其实有些站点,在登 陆处也会这样提示;所有和数据库有交互的地方都有可能有注入。 如果你看到了这里,那就点个关注+评论呗! 如需资料可私信,回复不及时,请见谅! 网安面经,试题,题库,需要哪个评论区私信