测试面试题

八股文 有道云笔记 (youdao.com)

软件测试工程师面试,常问的问题有哪些? - 知乎 (zhihu.com)

美柚

网络原理、手机APP闪退的原因,网络相关的问题、HTTP原理

1、了解软件测试工作基本流程、方法,熟悉缺陷的生命周期,熟悉使用常见的缺陷管理工具

2、熟悉计算机网络原理,对网络协议、通信协议等有基本了解

3、了解IOS、Android手机平台的特性,了解移动端环境及系统

4399

1、软件测试理论:常用测试方法(边界值、等价类、因果分析)

2、掌握一门编程语言,java、python,了解常用数据库

3、掌握一个测试工具Jmeter

国内游戏公司就业怎么选 - 知乎 (zhihu.com)

游戏设计行业标准测试:秘密收集-云桥网 (yunqiaowang.cn)

(6条消息) 功能测试常见面试题_功能测试思维面试题_longfei_2010的博客-CSDN博客

(6条消息) 软件测试功能测试全套常见面试题【功能测试】面试总结4-2_测试架构师北凡的博客-CSDN博客

一、测试题目

【测试工程师面试宝典】学习说明_互联网校招面试真题面经汇总_牛客网 (nowcoder.com)

1.测试的相关流程是什么?

测试最规范的过程如下

需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试

来自W模型

2.请回答数组和链表的区别,以及优缺点

在内存中,数组是一块连续的区域,而链表在内存中可以存在任何地方,不要求连续。数组随机访问性强,查找速度快,链表插入和删除速度快.

数组的优点是能够方便的查找元素,缺点是插入元素复杂度较高;链表的优点是插入、删除元素较方便,查找元素比较复杂

3.请你说几个基本Linux命令

1.cd 切换目录,

2.mkdir创建目录

3.mv移动或重命名 ,

4.cp复制,

5.touch 创建文件

6.vi编辑器,创建文件,

7.find查找

8.cat/tail/head/less查看

9.ps-ef查看进程

10.ifconfig 查看ip地址

11.rm删除

4.请你说一下如何写测试用例

按照需求文档的需求,先用xmind提取出测试点,也可以用画流程图的方法,梳理出每个场景的正常流和备选流,然后再根据等价类和边界值的方法,去细化测试用例;设计的时候要考虑到正常和异常的场景,分别设计正反面测试用例,还要考虑一些输入的边界值限制,比如输入字段有没有限制。 测试用例的设计要尽量站在客户的角度去设计,保证测试用例覆盖的全面性。 要考虑到正确性测试,错误测试,安全测试,兼容性测试,界面测试,性能测试等。

5.请你说一说测试的常用方法

测试数据的选择:等价类划分法,边界值分析法(适合有文本框的输入)

测试步骤的选择:因果图法,判定表法(适合条件组合的情况)

场景法(适合业务流程明确的情况,用于冒烟测试,屏蔽具体的功能细节)

正交试验法(适合软件存在参数设置的情况)

功能图法(也叫作状态迁徙法)(适合软件的状态会随着条件或者操作的变化而有明确变化)

其他:monkey测试,探索性测试,测试大纲法

1.界面测试:是否美观;

2.功能测试:能否装水,能否喝水,会不会漏水;

3.安全测试:水、瓶子是否含有有毒物质;

4.易用性:喝水是否方便,有无防滑设计,是否烫手;

5.兼容测试:能否装其他液体,酒精果汁汽油等;

6.压力测试:放24小时是否泄漏

黑盒测试方法:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

白盒测试方法:代码测试。性能测试、稳定性测试、压力测试等。

6.请你说出几种基本的数据结构

链表:通过指针连接元素,非顺序;

栈:先进后出;

队列:先进先出;

树:非线性数据结构

7.请问你了解什么测试方法

等价类划分,边界值分析,错误推测,因果图法,逻辑覆盖法,程序插桩技术,基本路径法,符号测试,错误驱动测试

8.请你设计一个微信朋友圈点赞的测试用例

功能测试: 点赞某条朋友圈,验证是否成功

接口测试: 点赞朋友圈,验证朋友能否收到提示信息

性能测试 点赞朋友圈,是否在规定时间显示结果,是否在规定时间在朋友手机上进行提示

兼容性测试 在不同的终端比如ipad,手机上点赞朋友圈,验证是否成功

从外观上,点赞按钮是否大小合理,样式是否合适,颜色是否搭配。

从功能上,点完赞之后,是否有什么提示,比如被点的记录颜色改变,点赞数量是否改变等。

从性能上,频繁的点赞取消,是否导致功能卡顿,系统卡死

9.请你说一下HTTP的报文段是什么样的?

请求的HTTP报文段:请求行,请求头,空一行,请求体(行、头、空、体);

响应的HTTP报文段是:状态行、响应头、空行,响应体

请求行(请求方法,协议,url,协议版本)请求头(content_type) 请求体(用户输入的数据)

11.请问你怎么看待软件测试的潜力和挑战

虽然现在流传一种说法说是软件测试不行了,互联网遭遇寒冬,但一个行业必然不可能一直飞速发展,体量大了,发展势头势必要缓下来,计算机正逐渐成为像水电铁路一样的基础设施,所以可能目前就业比较困难,但不代表他没有前途,最起码吃饱饭是可以的,那只要持续学习,随着经验资历的增长,心满意足是必然的

软件测试的潜力在于;随着人工智能等新型信息技术的发展,软件测试也将随之开发一些高端的自动化测试框架,减少人工测试的工作量。挑战在于:需要挑战原始的测试方法和流程,使用新的测试方法和测试程序,以便发现更多的问题,提升软件产品的质量。

12.你觉得软件测试的核心竞争力是什么

测试人员的核心竞争力在于提早发现问题,并能够发现别人无法发现的问题。

1、早发现问题:问题发现的越早,解决的成本越低。如果一个需求在还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的。

2、发现别人无法发现的问题:所有人都能发现的问题,你发现了,那就证明你是可以被替代的。别人发现不了,而你可以发现,那么你就是无法被替代。

13.请问你觉得测试项目具体工作是什么?

搭建测试环境

撰写测试用例

执行测试用例

写测试计划,测试报告

测试,并提交BUG表单

跟踪bug修改情况

执行自动化测试,编写脚本,执行,分析,报告

进行性能测试,压力测试等其他测试,执行,分析,调优,报告

14.请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试

单元测试:基于代码走查方式检查代码结构逻辑

集成测试:把各个子模块通过接口组成系统进行测试

系统测试:通过单元测试 功能 测试 性能测试,

接口测试,兼容测试,安全测试

验收测试:把所有业务流程及功能运行一遍

回归测试:验收上次版本修改bug是否解决

15.请问你在项目中关于功能测试和接口测试是怎么做的

  1. 功能测试:需求分析,编写用例,用例评审,执行用例,回归测试,验收测试
  2. 接口测试:根据API文档编写用例,分别测试单接口功能,以及业务多接口功能

16.请问你有用过什么测试工具吗,用过哪些?

分析测试点使用xmind、

编写测试用例使用Excel、

数据库使用navicat连接mysql

linux使用xhsell连接,

接口测试使用jmeter,

性能测试使用jmeter、loadrunner

抓包工具Charles

17.请你说一下软件质量的六个特征

按照软件质量国家标准GB-T8566–2001G,软件质量可以用下列特征来评价:

a.功能特征:与一组功能及其指定性质有关的一组属性,这里的功能是满足明确或隐含的需求的那些功能。

b.可靠特征:在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

c.易用特征:由一组规定或潜在的用户为使用软件所需作的努力和所作的评价有关的一组属性。

d.效率特征:与在规定条件下软件的性能水平与所使用资源量之间关系有关的一组属性。

e.可维护特征:与进行指定的修改所需的努力有关的一组属性。

f.可移植特征:与软件从一个环境转移到另一个环境的能力有关的一组属性。

19.请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?

集成测试的测试方法一般是黑盒测试和白盒测试相结合,而系统测试的测试方法一般为黑盒测试

20.请你回答一下什么是α测试和β测试,以及什么时候用到他们

α测试:在受控的环境中进行,由用户在开发者的场所进行,并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题
β测试:在开发者不能控制的环境中的真实应用,由软件的最终用户们在一个或多个客户场所下进行,由用户记录在测试中遇到的一系列问题,并定期报给开发者。

22.请问黑盒测试和白盒测试有哪些方法

黑盒测试方法有等价类划分,边界值分析,错误推测,因果图法

白盒测试方法有逻辑覆盖法,程序插桩技术,基本路径法,符号测试,错误驱动测试

23.请你说一说简单用户界面登陆过程都需要做哪些分析

一、功能测试

1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。

2.输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。

3.登录成功后能否能否跳转到正确的页面

4.用户名和密码,如果太短或者太长,应该怎么处理

5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况

6.记住用户名的功能

7.登陆失败后,不能记录密码的功能

8.用户名和密码前后有空格的处理

9.密码是否非明文显示显示,使用星号圆点等符号代替。

10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使 用者),刷新或换一个按钮是否好用

11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确

12.输入密码的时候,大写键盘开启的时候要有提示信息。

13.什么都不输入,点击提交按钮,检查提示信息。

二、界面测试

1.布局是否合理,testbox和按钮是否整齐。

2.testbox和按钮的长度,高度是否复合要求。

\3. 界面的设计风格是否与UI的设计风格统一。

\4. 界面中的文字简洁易懂,没有错别字。

三、性能测试

1.打开登录页面,需要的时间是否在需求要求的时间内。

2.输入正确的用户名和密码后,检查登录成功跳转到新页面的时间是否在需求要求的时间内。

3.模拟大量用户同时登陆,检查一定压力下能否正常登陆跳转。

四、安全性测试

1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)。

2.用户名和密码是否通过加密的方式,发送给Web服务器。

3.用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript 验证。

4.用户名和密码的输入框,应该屏蔽SQL注入攻击。

5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)。

6.防止暴力破解,检测是否有错误登陆的次数限制。

\7. 是否支持多用户在同一机器上登录。

\8. 同一用户能否在多台机器上登录。

五、可用性测试

\1. 是否可以全用键盘操作,是否有快捷键。

\2. 输入用户名,密码后按回车,是否可以登陆。

\3. 输入框能否可以以Tab键切换。

六、兼容性测试

1.不同浏览器下能否显示正常且功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)。

2.同种浏览器不同版本下能否显示正常且功能正常。

2.不同的平台是否能正常工作,比如Windows, Mac。

3.移动设备上是否正常工作,比如Iphone, Andriod。

4.不同的分辨率下显示是否正常。

七、本地化测试

\1. 不同语言环境下,页面的显示是否正确。

24.请你对朋友圈点赞功能进行测试

1.是否可以正常点赞和取消;

2.点赞的人是否在可见分组里;

3.点赞状态是否能即时更新显示;

4.点赞状态,共同好友是否可见;

6.性能检测,网速快慢对其影响;

7.点赞显示的是否正确,一行几个;

8.点赞是否按时间进行排序,头像对应的是否正确;

9.是否能在消息列表中显示点赞人的昵称、5.不同手机,系统显示界面如何;

备注;

10.可扩展性测试,点赞后是否能发表评论;

11.是否在未登录时可查看被点赞的信息。

25.如果做一个杯子的检测,你如何测试

1.功能

(1)水倒水杯容量的一半

(2)水倒规定的安全线

(4)水杯容量刻度与其他水杯一致

(5)盖子拧紧水倒不出来

(6)烫手验证

2.性能

(1)使用最大次数或时间

(2)掉地上不易损坏

(3)盖子拧到什么程度水倒不出来

(4)保温时间长

(5)杯子的耐热性

(6)杯子的耐寒性

(7)长时间放置水不会漏

(8)杯子上放置重物达到什么程度杯子会被损坏

3.界面

(1)外观完整、美观

(2)大小与设计一样(高、宽、容量、直径)

(3)拿着舒服

(4)材质与设计一样

(5)杯子上的图案掉落

(6)图案遇水溶解

4.安全

(1)杯子使用的材质毒或细菌的验证

(2)高温材质释放毒性

(3)低温材质释放毒性

5.易用性

(1)倒水方便

(2)喝水方便

(3)携带方便

(4)使用简单,容易操作

(5)防滑措施

6.兼容性

(1)杯子能够容纳果汁、白水、酒精、汽油等。

7.震动测试

(1)杯子加包装(有填充物),六面震动,检查产品是否能应对铁路/公路/航空运输。

8.可移植性

(1)杯子在不同地方、温度环境下都可以正常使用。

26.如何对一个页面进行测试

1、UI测试:页面布局、页面样式检查、控件长度是否够长;显示时,是否会被截断;支持的快捷键,Tab键切换焦点顺序正确性等。

2、功能测试:页面上各类控件的测试范围,测试点。结合控件的实际作用来补充检查点: 比如, 密码框是否*显示, 输入是否做trim处理等。

3、安全测试:输入特殊字符,sql注入,脚本注入测试。后台验证测试,对于较重要的表单 ,绕过js检验后台是否验证;数据传输是否加密处理,比如, 直接请求转发,地址栏直接显示发送字符串?

4、兼容性测试

5、性能测试

27. 如何对一瓶矿泉水进行测试

界面测试:查看外观是否美观

功能度:查看水瓶漏不漏;瓶中水能不能被喝到

安全性:瓶子的材质有没有毒或细菌

可靠性:从不同高度落下的损坏程度

可移植性:再不同的地方、温度等环境下是否都可以正常使用

兼容性:是否能够容纳果汁、白水、酒精、汽油等

易用性:是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对的用法、限制、使用条件等有详细描述

疲劳测试:将盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

跌落测试:测试在何种高度跌落会破坏水瓶

28. Alpha测试与beta的区别

区别:两者的主要区别是测试的场所不同。

Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。

而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。

一般地,alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长。如果产品通过了beta测试,那么就可以正式发行了。

Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。

Beta测试 当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

29.游戏登录过程用例设计

链接:https://www.nowcoder.com/questionTerminal/50c0a772bef84c43bb11e7d687dc7dbe
来源:牛客网

ui:

1.界面文字显示是否有误?

2.输入框、图标、按钮显示是否合适?

\3. 界面显示是否和ui设计的一致。

功能:

1、用户名、密码非法输入(输入为空,过长或过短,非法字符,),点击登录,查看对应提示信息是否合适。

2、输入正确的用户名密码,点击登录按钮,查看是否成功登录

3、密码输入框输入密码,密码是否能正常隐匿

4、点击账户框下拉框按钮是否能正常显示账号信息

5、点击密码框显示/隐匿按钮,是否能正常显示/隐匿密码。

6、点击其他登录方式,是否能正常的跳转到对应登录界面

7、点击登录框的关闭按钮,是否能正常关闭窗口。

8、点击“用户协议”和“隐私协议”,是否能正确显示各协议内容。

9、点击勾选框,是否能够正常勾选/取消。

10、在输入正确的账号密码时,勾选/取消协议勾选框,是否能正常登录。

性能:

打开游戏,进入界面需要几秒。

成功登录后,进入游戏需要几秒。

兼容:

使用不同系统和型号手机,能否进入登录界面并正常显示。

可用性

是否支持各种输入法和键盘

30.自顶向下测试、自底向上测试

链接:https://www.nowcoder.com/questionTerminal/782a98dd29b0484ba73ee0a037a4d55d?
来源:牛客网

自顶向下测试:是从程序的初始模块开始测试。

(1)该方***在早期发现顶层的错误。

(2)早期的程序框架可以进行演示

(3)需要开发桩模块辅助测试。有些甚至需要多个桩模块辅助,加大了桩模块本来的错误影响。

(4)测试完一个上层模块后,挑选哪个模块作为下一个测试模块,以及测试的顺序没有唯一的界定标准。

优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。

缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。

自底向上测试:是从程序的底层模块开始测试。

(1)I/O操作可以提前测试,更好提交测试用例。

(2)测试后比较容易观察输出。

(3)需要开发驱动模块。

(4)直到最后一个模块提交,程序才能完整的系统测试。

优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。

缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。

31.单元测试依据详细设计,集成测试依据概要设计,系统测试依据需求文档

32.软件验收测试分为三类

软件验收测试分为三类:

正式验收测试;

非正式验收测试其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。)

​ 和β测试(内测后的公测,即完全交给最终用户测试。)

33.验收测试怎么做?

1、界面测试;指软件产品所有的页面浏览时功能按钮或者界面是否能正常显示。

2、功能测试;产品的功能是否都能正常实现。

3、性能测试;发现性能瓶颈的过程,包括对CPU、内存、网络环境、版本等多项测试内容。

4、安全测试;产品的信息保密,密码保护等功能的测试。

34.冒烟测试的目的

为正式测试前,验证是否产品或系统的主要需求或预置条件是否存在bug。

35.回归测试怎么做?

1、在测试策略制定阶段,制定回归测试策略

2、确定需要回归测试的版本

3、回归测试版本发布,按照回归测试策略执行回归测试

4、回归测试通过,关闭缺陷跟踪单(问题单)

5、回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试

36.需求分析的目的

第一、把用户需求转化为功能需求:1)对测试范围进度量 2)对处理分支进行度量 3)对需求业务的场景进行度量 4)明确其功能对应的输入、处理和输出 5)把隐式需求转变为明确。

第二、明确测试活动的五个要素:测试需求是什么、决定怎么测试、明确测试时间、确定测试人员、确定测试环境:测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等等。测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解。

37.简述你对黑盒测试与白盒测试的理解?并列举白盒/黑盒测试的方法有哪些?

白盒测试(结构测试,逻辑驱动测试)

  • ​ 检查程序内部逻辑,对所有的路径进行测试,是一种穷举路径的测试方法
  • ​ 测试方法:语句覆盖,条件覆盖,判定覆盖,条件组合覆盖,基本路径覆盖
  • ​ 优点:可以检测代码的每一条分支和路径,揭示隐藏在代码中的错误,对代码的测试比较彻底
  • ​ 缺点:耗费比较大,不能检测到代码中遗漏的逻辑

黑盒测试(功能测试,数据驱动测试)

  • ​ 不查看代码内部的而逻辑,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否恰当地接收输入数据而产生正确的输出信息
  • ​ 测试方法:等价类划分,边界值分析
  • ​ 优点:容易实施,不需要关注内部实现
  • ​ 缺点:覆盖率比较低

38.游戏测试

链接:https://www.nowcoder.com/questionTerminal/50c0a772bef84c43bb11e7d687dc7dbe
来源:牛客网

ui:

1.界面文字显示是否有误?

2.输入框、图标、按钮显示是否合适?

\3. 界面显示是否和ui设计的一致。

功能:

1、用户名、密码非法输入(输入为空,过长或过短,非法字符,),点击登录,查看对应提示信息是否合适。

2、输入正确的用户名密码,点击登录按钮,查看是否成功登录

3、密码输入框输入密码,密码是否能正常隐匿

4、点击账户框下拉框按钮是否能正常显示账号信息

5、点击密码框显示/隐匿按钮,是否能正常显示/隐匿密码。

6、点击其他登录方式,是否能正常的跳转到对应登录界面

7、点击登录框的关闭按钮,是否能正常关闭窗口。

8、点击“用户协议”和“隐私协议”,是否能正确显示各协议内容。

9、点击勾选框,是否能够正常勾选/取消。

10、在输入正确的账号密码时,勾选/取消协议勾选框,是否能正常登录。

性能:

打开游戏,进入界面需要几秒。

成功登录后,进入游戏需要几秒。

兼容:

使用不同系统和型号手机,能否进入登录界面并正常显示。

可用性

是否支持各种输入法和键盘

1

39. web和APP测试有何区别?【高频】

【参考答案】

相同点:

(1)同样的测试用例设计方法;

(2)同样的测试方法;都会依据原型图或者效果图检查UI;

(3)测试页面载入和翻页的速度、登录时长、内存是否溢出等;

不同点:

(1)app的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启);

(2)app的安装卸载:全新安装、升级安装、第三方工具安装、第三方工具卸载、直接删除卸载;

(3)消息推送测试、手机授权测试、前后台切换、网络环境(wifi/2G/3G/4G/无网络);

(4)兼容性测试:web项目考虑不同浏览器的兼容;app需要考虑手机不同操作系统、不同机型、不同屏幕等;

(5)web自动化测试工具较常用selenium,而手机自动化monkey、monkeyrunner;

40、给你一个项目,你会怎么测试?

【参考答案】

按工作流程来回答:

(1)需求分析

(2)制定计划

(3)编写测试用例以及相关文档

(4)执行测试/回归测试/提交bug

(5)出具测试报告/上线后进行维护性测试

按测试方法来说:

黑盒测试/功能测试:我们重点体现在:测试用例的设计,采用常用的设计方法:等价类划分、边界值、错误推测法、场景法

41.一天能写多少条用例?能执行多少条用例?发现多少bug? 如何保证测试用例的覆盖率?

【参考答案】

一天写多少用例或者是执行多少用例、发现多少bug是根据项目的需求是否明确,项目功能模块是否复杂、程序员的代码质量以及当天的时间安排来确定的。

举例说明:我最近测试的一个XXXX功能,由于是功能升级,所以我们一天就写完用例了,只重点关注XXXX这一块的功能,大概写了200多条用例,执行我们用了3天的时间,bug一共大约是80多个。

如果问:bug这么少?—直接回答,可能是我们程序员的需求分析做的好,功能代码写的六;

保证用例覆盖率的话,首先自己在编写测试用例的时候,尽量覆盖所有的功能+功能业务,采用合理的用例设计方法去包含所有的正面、反面的测试点,然后我们会开展测试用例评审会议,开发测试产品一起讨论,进一步保证用例已全部覆盖所有的需求功能;测试执行过程中,发现的未被覆盖完整的用例,测试完整后,会进行用例完善。尽量确保下一次用例的覆盖完整。

42、说说你对集成测试中自顶向下集成和自底向上集成两个策略的理解,要谈出它们各自的优缺点和主要适应于哪种类型测试;

自顶向下集成

优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。

缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。

适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。

2、自底向上集成

优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。

缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。
适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。

二、语言基础

1.什么是多态?

什么是多态?

多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。

Java实现多态有三个必要条件:继承、重写、向上转型。

继承:在多态中必须存在有继承关系的子类和父类。

重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。

向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。

Java中有两种形式可以实现多态,继承和接口:

基于继承的实现机制主要表现在父类和继承该父类的一个或多个子类对某些方法的重写,多个子类对同一方法的重写可以表现出不同的行为。

基于接口的多态中,指向接口的引用必须是指定这实现了该接口的一个类的实例程序,在运行时,根据对象引用的实际类型来执行对应的方法。

2.请问Java中接口与抽象类是否相同?

不同, 抽象类是用来捕捉子类的通用特性的。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。

什么时候使用抽象类和接口:

如果拥有一些方法并且想让它们中的一些有默认实现,使用抽象类。 如果想实现多重继承,必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。 如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。

从语法层面来说,

1、抽象类可以提供成员方法的实现细节,而接口中只能存在抽象方法

2、抽象类中成员变量可以是多种类型,接口中成员变量必须用public,static,final修饰

3、一个类只能继承一个抽象类,但可以实现多个接口

4、抽象类中允许含有静态代码块和静态方法,接口不能

从设计层面而言

1.抽象类是对整一个类的属性,行为等方面进行抽象,而接口则是对行为抽象。就好比飞机和鸟,抽象类抽象出的是飞行物类。而接口则是抽闲出飞行方法。

2.抽象类是一个模板式的设计,当在开发过程中出现需求更改的情况,只需要更改抽象类而不需要更改它的子类。接口是一种辐射性设计,当接口的内容发生改变时,需要同时对实现它的子类进行相应的修改。

3.抽象类可以类比为模板,而接口可以类比为协议

3.请你说一下Java中的异常处理机制

在Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。

抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息。运行时系统负责寻找处置异常的代码并执行。

捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler)。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器。运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含有合适异常处理器的方法并执行。当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止。同时,意味着Java程序的终止。

通常使用关键字try、catch、finally来捕获异常:

try块:用于捕获异常。其后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块。

catch块:用于处理try捕获到的异常。

finally块:无论是否捕获或处理异常,finally块里的语句都会被执行。当在try块或catch块中遇到return语句时,finally语句块将在方法返回之前被执行。在以下4种特殊情况下,finally块不会被执行:

4.请你来聊一聊集合类和内存

一、集合类。

Java中的集合包含多种数据结构,如链表、队列、哈希表等。从类的继承结构来说,可以分为两大类,一类是继承自Collection接口,这类集合包含List、Set和Queue等集合类。另一类是继承自Map接口,这主要包含了哈希表相关的集合类。

5. 请你说一说class和interface的区别

1、接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引的组合而已,并且也只能包含这四种成员;类除了这四种成员之外还可以有别的成员(如字段)。

2、不能实例化一个接口,接口只包括成员的签名;而类可以实例化(abstract类除外)。

3、接口没有构造函数,类有构造函数。

4、接口不能进行运算符的重载,类可以进行运算符重载。

5、接口的成员没有任何修饰符,其成员总是公共的,而类的成员则可以有修饰符(如:虚拟或者静态)。

6、派生于接口的类必须实现接口中所有成员的执行方式,而从类派生则不然。

6.请你说一下Java里integer和int的区别,以及如何比较相等

Integer和int的区别:

1、integer是int的包装类,int是Java的一种基本数据结构

2、integer变量必须实例化后才能使用,int变量不需要

3、integer实际是对象的引用,int是直接存储数据值

4、integer的默认值是null,int的默认值是0

如何比较相等,首先要明白equals和==的区别

Equals通常用来比较两个对象的内容是否相等,用来比较两个对象的地址是否相等,Object类中的equals方法定义为判断两个对象的地址是否相等(可以理解成是否是同一个对象),地址相等则认为是对象相等。这也就意味着,我们新建的所有类如果没有复写equals方法,那么判断两个对象是否相等时就等同于“”,也就是两个对象的地址是否相等。但在我们的实际开发中,通常会认为两个对象的内容相等时,则两个对象相等,equals返回true。对象内容不同,则返回false。

所以可以总结为两种情况

1、类未复写equals方法,则使用equals方法比较两个对象时,相当于==比较,即两个对象的地址是否相等。地址相等,返回true,地址不相等,返回false。

2、类复写equals方法,比较两个对象时,则走复写之后的判断方式。通常,我们会将equals复写成:当两个对象内容相同时,则equals返回true,内容不同时,返回false。

7.请你回答一下protected,public,private的区别

作用域  当前类  同一package 子孙类 其它package

public   √ √   √    √

protected √    √ √ ×

friendly   √ √   × ×

private   √   × × ×

8.请你说一下List和ArrayList的区别,以及arrayList和HashSet区别

List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。它继承 Collection。

List有两个重要的实现类:ArrayList 和 LinkedList
ArrayList:我们可以将其看作是能够自动增长容量的数组。
利用ArrayList的toArray()返回一个数组。
Arrays.asList()返回一个列表。
1.ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组
2.如果增加的元素个数超过了10个,那么ArrayList底层会新生成一个数组,长度为原数组的1.5倍+1,然后将原数组的内容复制到新数组当中,并且后续增加的内容都会放到新数组当中。当新数组无法容纳增加的元素时,重复该过程。
3.对于ArrayList元素的删除操作,需要将被删除元素的后续元素向前移动,代价比较高。
4.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中。
5.集合当中放置的都是Object类型,因此取出来的也是Object类型,那么必须要使用强制类型转换将其转换为真正的类型(放置进去的类型)

三、网络

1.请你说一下HTTP的报文段是什么样的?

1、请求方法

GET:请求获取Request——URL所标识的资源

POST:在Request——URL所标识的资源后附加资源

HEAD:请求获取由Request——URL所标识的资源的响应消息报头

PUT:请求服务器存储一个资源,由Request——URL作为其标识

DELETE:请求服务器删除由Request——URL所标识的资源

TRACE:请求服务器回送收到的请求信息(用于测试和诊断)

CONNECT:保留

OPTIONS:请求查询服务器性能

2、URL

URI全名为Uniform Resource Indentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成。URL全名为Uniform Resource Locator(统一资源定位),通过描述资源的位置来标识资源。URN全名为Uniform Resource Name(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化。

3、协议版本

格式为HTTP/主版本号.次版本号,常用为:HTTP/1.1 HTTP/1.0

4、请求头部

Host:接受请求的服务器地址,可以是IP或者是域名

User-Agent:发送请求的应用名称

Connection:指定与连接相关的属性,例如(Keep_Alive,长连接)

Accept-Charset:通知服务器端可以发送的编码格式

Accept-Encoding:通知服务器端可以发送的数据压缩格式

Accept-Language:通知服务器端可以发送的语言

2、状态码,100199表示请求已收到继续处理,200299表示成功,300399表示资源重定向,400499表示客户端请求出错,500~599表示服务器端出错

200:响应成功

302:跳转,重定向

400:客户端有语法错误

403:服务器拒绝提供服务

404:请求资源不存在

500:服务器内部错误

3、响应头部

Server:服务器应用软件的名称和版本

Content-Type:响应正文的类型

Content-Length:响应正文的长度

Content-Charset:响应正文所使用的编码

Content-Encoding:响应正文使用的数据压缩格式

Content-Language:响应正文使用的语言

2.请你说一说osi七层模型

物理层,链路层,网络层,传输层,会话层,表示层,应用层

3.请你回答一下TCP三次握手,以及为什么不是两次

第一次握手A先给B发送一个请求,尝试建立连接;第二次握手B给A发一个响应,包括对A的请求的确认,还有一个建立连接的请求; 第三次握手A给B发送一个响应,确认建立连接;两次不能确认双方均可以发送和接收数据,

第一次握手A先给B发送一个请求,尝试建立连接;第二次握手B给A发一个响应,包括对A的请求的确认,还有一个建立连接的请求; 第三次握手A给B发送一个响应,确认建立连接;两次不能确认双方均可以发送和接收数据,

4.TCP/IP网络协议

链接:https://www.nowcoder.com/questionTerminal/31eec95a7a7f4855846230dfa5708466?
来源:牛客网

应用层:文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

传输层:提供端对端的接口 TCP,UDP

网络层:为数据包选择路由 IP,ICMP,RIP,OSPz`F,BGP,IGMP

数据链路层:传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层:以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2 (来源于网络)#

5.GET和POST的区别

GET在浏览器回退时是无害的,而POST会再次提交请求。

GET产生的URL地址可以被保存为书签,而POST不可以。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求在URL中传送的参数是有长度限制的,而POST没有。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在请求Body中。

GET产生一个TCP数据包,POST产生两个TCP数据包。

GET请求的URL传参有长度限制,而POST请求没有长度限制

GET请求的参数只能是ASCII码,所以中文需要URL编码,而POST请求传参没有这个限制;

GET产生一个TCP数据包;POST产生两个TCP数据包

POST和GET 的区别是什么?

【参考答案】

(1)GET提交的数据会放在URL之后,以 ?分割URL和传输数据,参数之间用 & 相连;POST方法是把提交的数据放在HTTP包的Body中;

(2)GET提交的数据大小有限制(注意:HTTP协议规范没有对URL长度进行限制,这个限制是特定的浏览器及服务器对它的限制);POST方法提交的数据没有限制;

(3)对参数的数据类型,GET只接受ASCII字符;而POST没有限制;

(4)GET请求参数会被完整保留在浏览器历史记录里;而POST中的参数不会被保留;

(5)GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息;

6.HTTPS和HTTP的区别

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

7.Session与Cookie有什么区别?

保存位置。SESSION 数据保存在服务器端,Cookie 数据保存在客户端浏览器。

保存方式。SESSION 默认被存在在服务器的一个文件里,可以手动设置放在文件、数据库、或内存中;Cookie 默认保存在客户端内存中,如果设置了过期时间就保存在硬盘中。

依赖关系。SESSION 依赖 Cookie 来识别 session_id,如果浏览器禁用了 Cookie,SESSION 也会失效,此时可以通过 url 传递 session_id。

安全性。因为 SESSION 数据保存在服务端,所以 SESSION安全性比Cookie 高。

尺寸大小。SESSION 基本上没有大小限制,COOKIE 保存的内容比较小,具体由浏览器决定。

服务器性能。SESSION 对服务器的压力会更大一些,而 Cookie 放在客户端,所以对服务器基本没影响。

8.Cookie 保存在哪里?

如果设置了过期时间,Cookie 保存在硬盘中。

如果没有设置过期时间,Cookie 保存在内存中。

9.TCP和UDP有什么区别

TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。

TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

TCP首部开销20字节;UDP的首部开销小,只有8个字节

TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

10.B/S架构和C/S架构区别

B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,维护成本低,但是个性化能力低,响应速度较慢

C/S响应速度快,安全性强,一般应用于局域网中,因为要针对不同的操作系统,需要针对性的开发,并且维护成本高

11.https进行通信的过程

1、客户端发起HTTPS请求用户在浏览器里输入一个https网址,然后连接到服务器的443端口

2、服务端的配置

3、传送服务器的证书给客户端

4、客户端解析验证服务器证书

5、客户端将加密信息传送服务器

6、服务端解密信息

7、服务器加密信息并发送信息

8、客户端接收并解密信息

四、数据库

1.MySQL存储引擎有哪些?

MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。

可以使用SHOW ENGINES;语句查看系统所支持的引擎类型

2.数据库事务的四大特性

原子性、一致性、隔离性、持久性

3.请写出内连接,左连接,右连接的关键字,并分别简述其作用。

【参考答案】

LEFT JOIN:左连接,会读取左表全部数据,即便右表没有对应数据。左连接从左表产生一套完整的记录,和右表匹配的记录 .如果右边没有匹配记录,右侧结果集字段将为null

RIGHT JOIN: 右连接,以右表为基础,与LEFT JOIN相反

INNER JOIN :内连接,或等值连接,可以获取两个表中字段匹配关系的记录。

4.对SQL优化,创建索引要注意什么

五、Linux

1.Linux 文件权限一共10 位长度,分成四段,第三段表示的内容是

2.linux修改文件的命令:

1、vi或者vim:可用于修改文件的内容;

2、mv:由于修改文件的名称;

3、chmod、chgrp、chown:用于修改文件的权限;

4、touch:用于修改文件的时间

六.面试

1.面试官:为什么选择测试岗位而不选择开发岗位呢?

我:其实我一开始是按开发路线学习的,但是后面接触到测试相关的知识以及工作流程之后,我认为它的非常适合我的性格,自己也非常感兴趣。同时我也了解到国内测试行业即将迎来发展的黄金期,自己对它未来的发展也是十分看好的。所以我对自己测试方向发展也做了详细的规划,主要以技术为主管理为辅,不断学习行业尖端技术来提升自己的核心竞争力。

1、好记性不如烂笔头,无论是自我介绍、八股文、项目还是实习相关都建议提前用备忘录或者笔记本用自己的话总结好。特别是八股文一定要分模块总结到一起,不要有面试了到处找八股文,没面试又都删除,反反复复太浪费时间了。为什么说要用自己的话总结呢,有些时候因为紧张或者准备不充分,经常在面试的时候语无伦次说不到重点。面试过程中遇到项目和实习方面的问题,面试结束后也要及时记录并自己解答,不能在一个坑里摔倒两次。

2、精雕细琢自我介绍,切勿三言两语直接结束,这里面我们可以大作文章。除了基本信息外的介绍外,我们还要引导面试官到自己优势的方向。比如有实习经历可以侃侃而谈自己的实习成功:写了多少条用例、测了多少bug、写了多少代码、用了什么框架,比起八股文面试官更喜欢问实习经历。如果是项目比较优秀可以介绍项目的难点或创新点,提前做好相关问题和回答准备。如果什么优点都没有怎么办?那自我介绍就把自己掌握最好的领域介绍,比如介绍自己熟悉数据库实现原理,然后把什么隐藏关键字、事务日志、ReadView摆出来,起码能体现自己能有深度学习的态度和能力。当然上面都只是我举的例子,具体每个人掌握和擅长的不同,大家根据自身情况来选择就好了。

3、在面试过程中,当面试官抛出问题后,无论会与不会都不要急于回答,留给自己一个思考的时间。如果是比较熟悉的问题,就尽量回答的清晰一点。如果遇到某一个知识点不太熟悉,在表达有些遗忘后可以反手介绍一波相关的自己熟悉的领域,看面试官是否进行提问,在自己熟悉的领域就必须好好发挥,突出深度。举一个例子,不然总感觉很抽象。

面试官:学过java是吧,介绍一下lock锁吧。

我:面试官,不好意思lock锁这一块自己用的不多,不太熟悉;但是我对java中synchronized锁的实现以及底层有一点了解。

面试官:那你讲一下synchronized锁吧。

当然以上情况完全随缘,谁也说不准,主要是提供一种思路化劣势为优势。

4、面试结束后的提问环节也是有说法的,如果提问的好可以祝自己一臂之力,反之也会葬送之前的面试表现。下面我分享一下加分提问和减法提问。

加分:①如果有幸面试通过,是否可以申请提前实习?

​ (同等条件下没有公司能拒绝来提前实习的同学,同时表明了自己强烈的意愿。)

​ ②我想咨询一下您对国内测试行业的看法以及对我们应届生有什么宝贵的建议?

​ (一方面这个问题可以让我们通过面试官的视角来了解当前测试行业现状是怎样的,另一方面面试官也比较喜欢对岗位比较了 解而且有规划的同学。之前虎牙二面提问后,面试官花了近二十分钟给我分析行业和指导发展。)

​ ③我想请您介绍一下部门业务以及技术栈。

​ (表达自己的意愿以及学习的态度)

​ ④作为应届生,我们肯定有很多不足的地方,所以我想请您介绍一下公司对于应届生的一个培养体系和流程。

​ (给面试官一种虚心求教,真心实意的感觉)

减分:①请公司介绍一下岗位日常工作流程?

​ (肯定很多人疑问,这不是必问的问题吗?怎么还成了减分项了。主要考虑到面试官每天要回答十几遍会厌烦,没实习经历的可以问,有实习的慎重。楼主之前就因为这个被中新赛克面试官喷了

​ ②请介绍一下公司的主要业务和方向?

​ (生怕面试官不知道你是海投的是吧\,海投归海投。面试的公司一定要提前了解,如果被问到,回答的不错也是很加分的)

​ ③可以介绍一下公司的文化氛围吗?有没有wlb?

​ (好了,这位同学可以出去了。企业最害怕的就是奔着摆烂躺平的应届生,还有心里话只能放在心里,千万不要说出来\。一切等拿到offer再说)

​ ④希望您就此次面试,觉得我还有那些地方需要提高?

​ (非要面试官把你的缺点重新复习一遍是吧,如果面的很优秀可以问,如果表现一般的话,面试官可能为了回答你的问题,把你的缺点又加深了一遍,其实对你更加不利)

面经二

  1. 编写测试用例所用方法,结合项目举例介绍(因为简历有写到项目的测试)
  2. 测试用例包含的要素
  3. bug包含的要素
  4. 购物车价格出现错误,怎么定位?(答了可以判断前后端)
  5. 怎么判断是前端还是后端的问题?(答了抓包,疯狂给自己挖坑sos)
  6. 平时用什么抓包工具?
  7. 前端数据怎么看?
  8. linux系统熟悉吗?有没有搭建环境?
  9. 用过什么命令?(随便说了一些)
  10. 修改配置文件命令?保存?
  11. 新建文件?
  12. 查端口是否占用?
  13. 查数据库进程是否启用?
  14. Mysql熟悉吗?用过哪些?
  15. 查询今日订单怎么查?
  16. 更改商品价格?
  17. 项目所用中间件?
  18. 个人项目还是小组项目?
  19. HTTP中并发与并行有什么区别;
  20. 1000以内的自幂数(说了下思路)

缺点

缺点:要有技术含量地说一些小缺点,比如我的记忆不太好,但是我认识到了,所以平时我会弄很多小标签、备忘录来提醒自己;

你每天的工作内容是什么?你平常都会看一些什么网站?

【参考答案】

如果是项目期间,一般都会通过公司邮件发布测试任务,然后每天基本的工作内容就是进行测试,下班之前会提交工作日报,包括今天测试了什么项目,测试进度,测试出的问题等;如果是非项目时间,会进行一些文档的整理,比如说测试用例的完善;或者是自我技术提升的学习;

可以讲一些技术博客,技术论坛等;比如****、博客园;千万不要说什么视频网站、天猫淘宝、王者荣耀之类的,要考虑面试官问这个问题的用意!

你还有什么问题想问吗?【高频】

【参考答案】

企业不喜欢求职者问个人福利之类的问题!不要问薪资待遇等,最好体现出你对学习的热情和对公司的忠诚度以及你的上进心。

例如:我们的项目团队人数是多少?测试多少开发多少?目前做的项目是什么?等不要主动问对方公司有无培训?!

参考答案: 您担任的职位是?公司现在的规模是什么样的?有多少人?项目在公司的地位?项目目前的状况,发布了几个版本,以后的计划?我如果入职的话,以后从事的是哪一块的工作?

如果面试情况不好,可以直接问刚刚没回答的某一个问题,请教面试官。反例:反套路(动辄上升渠道和培训机会),没问题(缺乏思路和主动能力)。不要问薪资待遇福利(HR问)福利待遇在人事沟通的时候再问,不适合面试的时候问。

目的:考察主动思考能力,对公司职位的青睐性。原则:一定要问,但是不要问多(1-3个),体现自己对这份工作的热情。比如:团队现状,项目现状;主要业务,对于公司,职位,感兴趣的技术咨询;

用python如何实现接口自动化测试?

(1)安装requests库 pip install requests;

(2)根据接口文档,使用python编写接口请求;

(3)根据测试方法,编写正常、异常测试用例;

4399 测开

2.玩过的游戏,喜欢的机制,有哪些bug,游戏时长
3.对测试方法、测试流程、游戏开发引擎的大概了解,弱网环境需要怎么测试
4.刚进去主要还是做业务上的测试,对此有什么看法
5.反问,我问了部门分配和这个岗位的培养机制,面试官告诉我部门的话是双向选择,然后这个岗位是21年才开招的,刚开始主要还是做测试,培养机制上是测试为主,开发为辅

反问:1、公司所开展的业务以及测试的工作情况

1、自我介绍
2、通过你的自我介绍知道你是社团负责人
3、你可以讲讲对于活动的策划相关内容吗
4、你所负责的赛事小程序的调试讲讲
5、对于测试行业的认识
6、你对于赛事程序的测试需求分析和用例编写是怎样的
7、测试用例一般包含哪些信息
8、你认为个人的优点
9、你在你过往项目中学到了什么
10、最印象深刻的一次是什么
11、你对未来的规划
反问
1、公司所开展的业务以及测试的工作情况
2、应该具备的技能

讲一下jmeter压测?
知道哪些测试工具?
给你一个vx添加好友的场景,如何测试,要关注什么?
你知道哪些压测指标?

1.做一些自我介绍
2.软件测试的分类有哪些
3.什么是等价类划分法?
4.什么是边界值法?
5.软件测试的流程
6.测试用例有哪些
7.根据你的项目设计一下测试用例

1,软件测试流程
2,测试方法
3,测试方案
4,边界值和等价类
5,接口测试流程,postman和jmeter流程
6,web自动化环境搭建
7,appim过程
8,web自动化过程
9,jmeter参数化
10,元素定位
11,遇到的难点和缺陷
12,fiddler能干啥
13,性能测试指标有啥
14,java重写和重载

2、你是自学测试的吗
3、对软件测试的理解
4、说说自己测试的学习路线
我讲了自己的测试小项目
说自己编写过测试用例
5、可以介绍下如何编写登录界面的测试用例吗
6、你对测试开发和测试区别的认识以及测开和测试的工作内容

聊项目(真的是聊,不是一个人干巴巴的说) 10分钟

4、ip地址的划分

  1. TCP如何保证可靠传输
  2. python当中的全局解释锁
  3. 多进程和多线程的区别,以及什么时候用多进程,什么时候用线程
  4. 如果听音乐时耳机忽然没声音了,如何测试
  5. 在前两轮面试中你觉得自己有哪些表现的不够好的地方
  6. 有哪些优点和缺点

如何测试百度首页?

  1. 功能测试:测试百度首页的各项功能是否正常,例如搜索框、热搜词、各类搜索功能、登录、注册等等。
  2. 兼容性测试:测试百度首页在不同浏览器、操作系统和设备上的兼容性,例如 Chrome、Firefox、Safari、IE 等主流浏览器。
  3. 响应式测试:测试百度首页在不同屏幕大小、不同设备上的显示效果,确保页面能够适应不同的屏幕尺寸并保持良好的用户体验。
  4. 性能测试:测试百度首页的页面加载时间、响应时间、并发用户数等性能指标,找出性能瓶颈并提出优化建议。
  5. 安全测试:测试百度首页的安全性,包括 XSS、CSRF、SQL 注入等安全漏洞。
  6. 用户体验测试:测试用户在使用百度首页时的整体体验,例如页面布局、字体大小、颜色搭配、交互设计等。
  7. 可访问性测试:测试百度首页的可访问性,包括对残障人士的支持、对多语言的支持等。

Linux和进程、端口查看相关的命令

已知进程名称查看进程pid: ps -ef | grep 进程名

已知进程pid查看占用端口: netstat -nap | grep pid

已知端口查看进程: netstat -nap | grep port

已知进程pid查看对应程序:ll /proc/pid/cwd

有没有用fidder抓过包

jmeter用过什么元件

对jmeter的了解

了解sdk吗

对水杯进行测试用例

自动化有多了解(回答了python的slumun的操作过程)

有没有做过接口自动化

知不知道数据库索引是干什么的

有没有用fidder抓过包

jmeter用过什么元件

对jmeter的了解

了解sdk吗

对水杯进行测试用例

2.项目介绍 项目来源?学校项目还是自己发起的?团队项目?介绍设计的表 :数据库表的设计?某一张表怎么设计的?

3.数据库最简单的查询语句 查最近用户信息 修改某一用户信息

3.python 数据类型哪几种? 最常用的? List去重? 项目中有用到字典吗?

4.测电梯 找好测试点 组织思路 不要想到什么说什么

5.测试流程

结合你以前的学习和工作经验,你认为如何做好测试?

根据我以前的工作经验还有学习能力,我认为做好工作首先需要有一个良好的沟通,只有沟通没有障碍才会有好的协作能力,才会有更好的效率提升,还有就是技术一定要过关,要熟练,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要立刻去问,去解决。随时与同事沟通,这样的话才能做好测试工作。还可以提高工作效率。

七、自己

1.自我介绍

面试官您好,我叫****。今天来应聘的岗位是软件测试岗位。我上一份工作主要是负责对装备管理系统进行用例编写以及根据用例进行测试。在这过程中,我写了近5000条测试用例,发现了近300个bug。在项目中我主要负责的是功能测试,也有自己学接口测试,学习jmeter。

功能测试和接口测试的流程,怎么做的。

web测试的理解,方法

做过压力测试安全测试吗?没做过,但是了解具体流程是*** * 怎样的

2.职业发展:

测试的确没前途,但仅限于一辈子做测试的人,我身边但凡做测试的,基本上都在五年内转了策划或项目经理(也有做了十年才转的,但基本上已经晚了,即便转了也没太大竞争力,因为测试经验超过五年都是虚度光阴,相当于你本身能力是100分,测试第五年爬到巅峰,然后每超1年降20分),然后这俩位置在游戏行业都是转制作人最容易的岗位,所以他们这帮人只要还留在游戏行业,基本上现在都是制作人或主策划。

最后,给个建议,做测试,不要着重去研究测试方面的技术,而是去研究开发方面的技术,深入了解开发流程、项目管理与质量管理流程,然后写得一手好报告,报bug报到技术心坎里(即深入了解技术后,你基本上能猜测出bug产生的原因,并提供性价比最高的修改方案),对你日后转PM有极大的帮助。

平时多看看组长每天在做什么,想想如果是自己会怎么做,该怎么做。

然后给自己3年时间,内部转管理,如果没戏,跳槽转。

测试组长甚至经理的工作也没什么技术含量,无非制定测试计划,review组员写的用例,整理并输出当前版本质量报告,凭借经验尽早发现并预防设计中的问题以及背锅,基本就是这些玩意儿

作者:东东
链接:https://www.zhihu.com/question/546252972/answer/2602524966
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

现任软件测试,想转项目经理。可以通过考PMP这条路径进行转岗吗? - 知乎 (zhihu.com)

3.你们的测试流程是什么样的

4.你对加班怎么看

5.介绍你的项目

6.对测试行业的理解

你可能感兴趣的:(python,压力测试,单元测试)