深信服面试问题:

  1. 你的自动化测试是怎么实现的?(必问)

根据自己的情况说吧,有些会设计的框架细分目录后,分别实现了什么功能?

接口自动化 python+unittest+ddt+HtmlRunnerNew

web自动化python+selenium+pytest+Allure

  1. 你对 selenium 二次封装的关键字,是怎么封装的?挑了一个等待元素的关键字问设计了哪些参数?
  1. 简述一下三大等待吧?

①显性等待:WebDriverWait,针对元素设置的等待时间,并只针对该元素有效,用来等待某个条件满足,默认会每隔 0.5 秒去找元素,检查是否满足条件,超时报异常。(面试官问的很细这个间隔时间是通过什么参数去控制的,当时记不住没答出来,回来看了,才知道是poll_frequency=POLL_FREQUENCY)

②隐形等待:implicity_wait,通过 driver 对象给所有元素设置的全局等待,在设置的时间范围内一直不断找元素,超时报异常。

③强制等待:sleep,不管什么情况都需要等

  1. Web 自动化编写了多少用例?执行一次需要多长时间?遇到过什么问题?针对这些问题你是如何解                                    答:编写了 xxx 多条(因为我的项目时间比较长,有的面试官会说这么多,我说系统的功能较多, 而且用例的颗粒度涉及的比较细较细),用例和时间根据自己实际写吧,切记 web  自动化需要等待时间,时间不要说的太短?遇到问题,一般是 1.元素难以定位,比如一些动态的元素,改用 CSS 定位;2.脚本不是很稳定,有些用例经常失败,但实际并不是 BUG,增加等待、改用相对定位、加入失败重运行、减少用例的依赖保证独立性、创建环境和清理环境走接 口.....
  1. 你做自动化的时候有没有遇到什么比较难解决的问题?(问题和上面的差不多)

①元素难以定位,比如一些动态的元素,改用 CSS 定位;②脚本不是很稳定,有些用例经常失败,但实际并不是 BUG,增加等待、改用相对定位、加入失败重运行、减少用例的依赖保证独立性、创建环境和清理环境走接口.....

  1. 如果你做接口测试,接口返回成功,但是实际数据库却没有相对应的数据?你觉得有可能是什么问题?如何定位?

① 如果此接口未对数据库数据进行操作,那个就可以忽略

② 如果此接口是修改数据数据,接口返回成功,而数据库中数据却未变更,那么说明此为 bug

定位:与接口文档进行对照,如果数据库校验的内容与接口文档不一致,这可以定位问题

  1. 性能测试?(性能测试必问,每一个都问!不会的话可以看一些文章,说有了解过能聊一下就行了)简述一下你做过的性能测试项目如何开展的?重点关注哪些性能指标?会性能调优吗?

性能测试包含:负载测试、压力测试、并发测试.....

看我写的关于性能的篇章

定义:在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资

开源工具 jmeter:开源免费,自由,操作较简单,能辅助完成日常的一些测试工作

  1. 如何需要模拟死锁的情况?你是如何模拟的?(这个没聊到性能测试一般不会问)

我的回答仅供参考:服务器在真正的压力下,慢慢增加并发用户数、和请求次,CPU 和内存资源的利用率会提高,达到峰值后,超过并发极限值后,CPU 或者内存资源会出现死锁的情况。

  1. 你除了使用过 unittest 和 pytest 之外有了解过其他的自动化测试框架吗?又运用到自己的项目当中吗?和你现在的框架对比?有什么优点?

Httprunnner 或者 RB,后面的问题大家根据自己实际情况去想吧

  1. 你会设计测试策略和测试方案?你是如何设计的?

测试策略:数据和数据库完整性测试、功能测试、用户界面测试、性能测试、安全性和访问控制测试、配置测试、安装测试;其实测试策略和测试方案是差不多的意思

  1. 测试计划你是如何设计的?主要包含哪些内容?

测试计划主要根据项目版本计划去设计;主要包含:测试的范围、质量目标(用例覆盖率、和缺陷发现密度)、测试提交的文档、测试进度(测试开始时间、实际开始时间、结束时间)、测试的准则(启动条件、结束条件)、测试阶段资源(人力资源、测试环境准备、测试工具)、系统风险、优先级(测试资源所需不足、测试业务及技能不足)、项目的控制、详细测试方法、测试规程设计

  1. 安全性测试做过吗?

这个绝大部分面试官都会问,目的是看你的测试的广度,不会不要紧,了解一下漏洞扫描和

SQL 注入、xss、css、php 代码注入 cookie 篡改,能聊天即可,实在不会就说不会吧

https://segmentfault.com/a/1190000020022428?utm_source=tag-newest

  1. Webdriver 的原理(被问了两次)
    由于客户端脚本(java, python, ruby) 不能直接与浏览器通信, 这时候可以把Webdriver 当做一个翻译器,它可以把客户端代码翻译成浏览器可以识别的代码(比如js).客户端(也就是测试脚本)创建 1 session,在该 session 中通过 http 请求向Webdriver 发送请求,Webdriver 翻译成浏览器懂得脚本传给浏览器,浏览器把执行的结果返回给 Webdriver,Webdriver 把返回的结果做了一些封装(一般都是 json 格式),然后返回给客户端,根据返回值就能判断对浏览器的操作是不是执行成功。
  1. 接口发生异常你如何去分析定位问题

发生异常了,查看是数据返回有问题,还是数据库数据未变更,多种情况去分析

  1. 你是专职做自动化吗?自动化和功能测试时并行进行吗?占比多少?

不是,功能和自动化都做,串行,先功能测试后自动化测试,占比 80%功能,20%自动化(二八定律),自动化测试比例高于功能测试,面试官会很怀疑。

  1. 黑盒用例设计技术,及在你工作中的应用场景?

等价类、边界值、错误推测法、场景法、因果图、判定表、正交分解

我举例我工作中设计缴费模块为例,用比较多是等价类、边界值设计技术

  1. 你们公司用什么前端框架,后端技术?前端人员、后端开发、和测试的比例是多少?

前端用的 VUE,后端用的 java;人员比例 2:3:1

  1. 在数据库中插入一条重复的数据 100 次(这个问题没回答上)

答:使用jmeter轮询100次数据插入请求

  1. 现在有个部门表,需要你查询出入职最早,排名前 10 的员工,你怎么查?

Select  员工名 from  部门表 order by  时间 limit 0,10 (MySQL 数据库用这种)

select 员 工名 from 部门表 order by  时间 and rownum <=10 (oracle 用这种)

  1. Pytest 的参数化如何实现?
  2. 接口自动化的参数你是如何实现的?说说你的想法

Re 模块+sub 方法去替换

  1. 如果测并发测试的时候,并发 100 次,前面 99 个通过了,其中有一个失败了,状态码返回 500?你觉得会是什么问题?你怎么分析定位问题?

大佬的回答:1.可能是服务器的问题,并发到第 100 个,把服务器弄崩了,服务器内存,

性能需要提升;并发 90 个试下

  1. 你说说你在功能测试这块比较擅长什么?举个例子这个各取所长吧
  2. 如何使你的接口自动化测试用例直接跳过前面几条,直接执行第 7 条?

1、可以在 Excel 创建一列,指定是否跳过,然后在用例时,过滤掉这些用例

2.使用条件判断,通过 case_id==7 来决定是否执行

3.使用 pytest 中的 skip 也可以跳用例,具体看官网https://docs.pytest.org/en/latest/skipping.html#skipping-test-functions

  1. 如何使你的接口自动化脚本,对于同一个请求让同一个用户请求多次?

也可以在 Excel 中设置相关执行次数的字段,在 ddt 数据驱动时,使用代码来控制执行次数。或者使用 pytest 来代替 unittest

  1. 如果你遇到了这种情况,原迭代版本计划的测试时间是 2 周,测试时间是 7 天,后来开发开发了 12 天,留给你测试的时间是 2 天,这种情况你会怎么办? 我的回答仅供参考:①对整个项目流程和测试流程提出改进,需要对测试的项目进行风险评估和风险应对,如果此方法不行;②可以将整个项目的功能划分为模块,开发开发完后,单元测试通过后,告知我们测试重点,和最可能出现问题的功能,我们针对这个功能重点测试,单个模块测试完成后,开发完成了整个版本的开发,提测时就可以重点测涉及业务流的模块,减少测试的时间;③如果还不行,那只能提前和领导反馈沟通,增加测试人员的投入,去弥补时间的不足;

大佬的回答:1.测试进度变慢,无法保证在预订时间内上线。

  1. 如果需要在预订的时间上线,必须需要测试任务或者测试版本的达到某某要求或者某某标准。
  2. 如果无法在预订时间内上,给相关人员评估无法上线的原因和风险,输出测试结果。
  1. selenium 中 hidden 或者是 display = none 的元素是否可以定位到? 不能
  1. 如何提高 selenium 脚本的执行速度?

我和 web 自动化测试关注的并不是脚本的执行速度,而是脚本的稳定性,要以稳定性为主的情况下提升执行速度;首先分析脚本的执行速度受到多方面的影响,比如脚本等待时间、页面加载的速度、网速、设备性能,还有自动化测试用例的繁琐程度,这对这些情况:

①减少操作步骤,减少脚本用例不必要的步骤

②设置等待时间的时候,可以 sleep 固定的时间,也可以检测某个元素出现后中断等待也可以提高速度

③实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下, 尽量设置多线程运行,提高执行速度。注意说了这个很容易被面试官反问,怎么实现多线程的?

  1. webdriver 的协议是什么?

JsonWire Protocol

  1. 自动化测试的时候是不是需要连接数据库做数据校验?
    当然不需要啦,接口自动化的时候已经做了
  1. 点击链接以后,selenium 是否会自动等待该页面加载完毕?
    会的
  1. 自动化测试产出比你觉得怎么样?
    自己思考吧
  2. 你封装了 requests 请求库,发送请求后如何获取相应报文?
    封装后返回的是一个response 对象。res.json()转换为字典

面试经历深信服面试问题相关推荐

  1. 深信服面试之 活下去

    ** 深信服面试之 活下去(希望自己能够通过) ** 作为2021届毕业的我,首先写这个文档之初,没什么炫耀之类的意思:其次写这个文档主要原因是想通过自己的面试总结,让自己在以后的面试中能够把控好,更 ...

  2. 关于深信服面试的经历反省

    面试之后的总结,面试太紧张了答得不好,一次很深刻的经历. 1.简单的自我介绍 2.说一下简历上写的一个校园网经历 答:在校期间参加的一个校举办的校园网搭建竞赛,以三个人小组为单位,完成了一个以本校为模 ...

  3. 2020校招面试之深信服

    2019.10.14投递的简历,软件测试工程师(网络安全.云计算,北京研究所). 2019.10.15上午收到下午5:00的面试通知.现场面试的顺序是按照签到的顺序.然后一面结束后,说第二天会通知HR ...

  4. 阿里巴巴2015校园招聘面试经历(笔者面试问题----倾情奉献)

    8.29号笔试,9.1号官网显示笔试通过请预约面试时间,预约了9.17号下午三点面试. 投入更加紧张的准备中,先把项目中的各种可能被问到的细节问题想到,然后再总结自己当时的解决办法和思路.最后,把各种 ...

  5. JAVA高级工程师-面试经历(含面试问题及解答)

    经过了几个公司的面试,谈谈我这次找工作的面试经历. 工作快五年了,所以给自己定位是找一份Java高级工程师的工作. 由于疫情原因基本都是先电话面试(PS:更多的原因是me在上海,想要找重庆或成都的工作 ...

  6. 最完整的面试经历 - FaceBook PHD面试经历

    最完整的面试经历 2014-01-16 MITBBS 待字闺中 昨天收到FB的电话,我的OFFER已经批下来了,这也意味着我的JOB HUNTING结束了,下 面是我这两个月来申请结果汇总: Appl ...

  7. 深信服面试常见算法题整理笔记

    ⭐️我叫恒心,一名喜欢书写博客的研究生在读生. 原创不易~转载麻烦注明出处,并告知作者,谢谢!!! 这是一篇近期会不断更新的博客欧~~~ 有什么问题的小伙伴 欢迎留言提问欧. 文章目录 1 反转链表 ...

  8. 最新深信服面试笔试题

    (12X4分,选择题含多项选择题) 二进制1011010的十六制值是 5A 计算机系统出现死锁是因为 ABCD A.系统中有多个阻塞进程 B.资源数大大小于系统中的进程数 C.系统中多个进程同时申请的 ...

  9. 美团java面试经历_美团面试经历+答案

    我认识不少在美团工作的朋友,从他们口中得知美团的技术面试,面试官都会从几百道基础题中随机拿十来道来考察应聘者的基础实力,只有过了这些基础才会有下文,我记得我的读者中曾经有一位分享过美团的面试成功的经历 ...

最新文章

  1. 数字电路中时钟抖动 Jitter 和 偏移 Skew
  2. java parsedouble valueof_java String.valueOf() 方法的使用
  3. SpringBoot实现定时器定时处理任务
  4. Java中的8种原始类型
  5. java getname_Java文件类字符串getName()方法(带示例)
  6. 【CodeForces - 1038C】Gambling (博弈问题,优先队列模拟,贪心)
  7. 【英语学习】【医学】Unit 09 The Respiratory System
  8. ENC28J60 驱动开发要点
  9. eclipse乱码解决
  10. pku2250--Compromise(最长公共子串,记录结果)
  11. shell 函数和数组
  12. Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
  13. 单片机c语言带参数子函数,单片机C语言教程:C51函数
  14. Hive数据分析案例——汽车销售数据分析
  15. R语言--(8)--描述统计量
  16. 原型模式,孙悟空都会用,猴毛变出的小猴子!
  17. 人人都是网站分析师(从分析师视角理解网站和解读数据)-读书笔记4(完结)
  18. 如何在Windows 7中将管理工具添加到开始菜单
  19. 英语音标,元音汇总(0基础学英语!必备!)
  20. 2023年国家司法考试报名条件有哪些 非法学可以考吗

热门文章

  1. 采集工具助力企业拓客,让你的业务快速扩张
  2. 解决video标签在部分安卓默认浏览器上的播放样式问题
  3. 挖掘长尾关键词的五大思路
  4. 利用手机访问电脑上开发的html页面
  5. 机器视觉_相机开发(二)——大恒相机
  6. 关于arduino的各种网站
  7. 安装java和scala语言开发环境
  8. 包邮再送500份!我们自制了一张【数据分析知识鼠标垫】,抓紧领取
  9. br模式edr模式_蓝牙BR/EDR 和Bluetooth Smart的十大重要区别
  10. 2020,不会分布式怎么可以,这2份pdf共1000+,从原理到系统实现都包含了