拿下3个大厂offer的软件测试面试宝典,面试一文搞定

我是谁、工作几年、你上家公司做什么、负责什么、你的优势、为什么适合这个职位、我想做什么、在这个职位上想得到什么

【呕心沥血】耗时7天整理的金三银四必看的软件测试频面试题 涵盖 接口自动化测试框架面试题_哔哩哔哩_bilibili【呕心沥血】耗时7天整理的金三银四必看的软件测试频面试题 涵盖 接口自动化测试框架面试题共计22条视频,包括:金三银四必备之接口测试用例设计需要考虑哪些方面、金三银四必备之那么是怎么做接口测试的?(接口测试流程)、金三银四必备之cookie,session,token有什么相同点和不同点等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1Fx4y157Xt/?spm_id_from=333.999.0.0

有自信、不能吞吞吐吐

时间长度2-3分钟

2编写测试用例有哪几种方法?

     等价类、边界值、因果图、流程分析、错误分析、正交法、场景法、大纲法

3.测试的六条基本法则是什么?

 一功二可三易四效五维六移,即一功能,二可维护性,三易用性,四效率,五可维护性,六可移植性

4.软件测试分类有哪些?(从是否关心软件内部结构的角度划分)

黑盒、白盒、灰盒

5.软件测试的测试流程是什么?

首先拿到需求文档》需求评审》编写测试计划》测试计划评审》编写测试用例》测试用例评审》开始测试》第一轮测试》第二轮测试》迭代》直至项目上线,提交测试报告。冒烟测试不属于测试流程,一般冒烟测试最多半天时间

6.编写测试用例的原则是什么?

百分之百的覆盖需求

7.接口测试的功能?

1) 请求参数、返回值

2) 不仅可以测试返回值还可以测试等价类、边界值、必填项,包括逻辑、功能、场景,还可以测试逆向思维的流程,还可以测试错误的流程,也可以测试正确的流程

3) 接口测试可以提高效率,缩短测试周期,在页面未出来之前也可以测试

4) 接口测试可以测大部分功能,但是测不了ui、兼容性

5) 接口只能测后端,用java写的

8.自动化工具都有哪些?

QTP既可以测B/S,也可以测C/S, 支持的脚本语言是vbscript, Selenium属于B/S工具,支持java,python语言,app自动化工具属于c/s架构

9..软件测试过程中必须经历那些阶段?

单元测试》集成测试》系统测试》验收测试

10. 黑盒测试包含那些测试内容?

逆向思维测试、冒烟测试、易用性测试、接口测试、兼容性测试

11. 如何确定一个问题是不是bug呢?

根据需求,与需求不一致,就是bug

12. 缺陷严重程度分别是什么?并将每个严重程度进行简单的描述?

致命、严重、一般、轻微、建议,致命级别指使系统崩溃、宕机,报404、500错误的,导致软件没有办法再使用下去,严重指该功能阻碍测试,影响测试,一般指等价类、边界值、ui、兼容性,不影响测试,轻微指一个字、一句话、不伤大雅的错误,建议其实不是bug,只是个人觉得不太合理,需求文档里面就没有。

13.缺陷优先级有哪些?从高到低排列?

P1、p2、p3、p4、p5,p1优先级最高,p5优先级最低

14.如何有效的记录缺陷?

保证该缺陷能复现出来,能记录该缺陷的每一个步骤是如何操作的

15.缺陷报告的准则规范是什么?

简洁、清晰、准确、完整、一致

16.基于过去行为的问题

比如你之前弄过的项目,出现的质量问题,你是怎么解决的

17..基于未来可能发生的行为问题

比如别的部门转过来一个岁数比较大的人,也不思进取,你怎么办

18..post和get有什么区别?

A.post是给服务器发送请求,get是从服务器获取请求

B、get提交的数据会放在url之后,以?分割url和传输数据,参数之间以&相连,如:EditPosts.aspx?name=test1&id=123456,POST方法是把提交的数据放在http包的body中

C、get提交的数据大小有限制,因为浏览器对url的长度有限制,而post方法提交的数据没有限制

D、get方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值

E、get方式提交数据,会带来安全问题,如登录,用户名和密码将出现在url上,如果页面可以被缓存或其他人访问,可以从历史记录获得该用户的账号和密码

19.那个阶段做接口测试?

集成测试的时候做接口测试

20.集成测试的策略有哪些?

自顶向下  自底向上   广度优先  深度优先

21.接口测试能做哪些事或者接口是啥?

 软件里面的任何请求,任何方法,从服务器上传、下载数据都是通过接口完成的  

接口测试工具jmeter、soapui、postman,接口压测更适合用jmeter,适合单接口测试,而loadrunner更适合测试场景、流程

22..想要测试一个网站最多能容纳多少人?

用负载测试,看网站进到多少人的时候开始出错,开始卡了

23.想要测试网站上的一个商品在整点秒杀的时候,最多能承受多少人点击这个按钮?

测试并发,必须能承受大批量的并发

24.有一个网站在高强度的用户活跃量情况下能不能正常运行?

测试稳定性,稳定性指找到网站最多能承受的最大用户量,然后用最大用户量在系统上长时间运行,以测试稳定性

25.你觉得你有哪方面优点,可以胜任这份工作?

本人比较细心认真,具有一定的计算机理论基础,良好的沟通能力,遇到问题及时沟通解决的能力

26.你觉得你有哪些缺点?

本人比较固执

27.回归测试

修改代码后,重新进行测试以确认修改没有引入新的错误,没有影响之前的功能,与本次修改有关系的部分也需要进行测试,保证以前版本功能正常

28.c/s与b/s架构的区别?

b/s架构用浏览器请求访问,是基于网页的系统,如一般的网站;c/s架构要有客户端和服务器端,如qq

29.http的URL包括哪些部分?

协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分,如:http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

30.软件测试的目的是什么?

确认产品能工作、确保程序按预期结果执行、尽早尽可能多的发现不足、通过最少的资源,最大化的提高产品质量、测试是将软件质量化的过程、软件质量的度量和评估

31.测试计划包含那些内容?

概述、编写目的、项目背景、项目质量目标、预期读者、参考资料、测试环境、系统架构、软硬件环境要求、测试环境部署图、测试规划、测试范围、测试工具、人员、角色及职责、测试策略、系统测试、业务流程测试、功能点测试、UI界面测试、性能测试、兼容性测试、安全测试、测试进度安排、工作汇报

32..数据库常用sql语句

1)、创建数据库:create database database-name

2)、删除数据库:drop database database-name

3)、创建新表:create table depart(dept_id int (11) not null auto-increment,dept_name varchar(255) default null,primary key(dept_id))

4)、删除新表:drop table table_name

5)、表增加一列:alter table tabname add column column_name type

6)、查询语句:select * from table where 范围

7)、插入语句:insert into table(field1,field2) values(value1,value2)

8)、删除语句:delete from table where 范围

9)、更新语句:update table set field1=value1 where 范围

10)、查找语句:select * from table where field like '%value1%'

33.软件开发流程

可行性分析、需求分析、概要设计、详细设计、编码、测试、运行维护

34.白盒测试逻辑覆盖方法有哪些?

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖

语句覆盖:每条语句至少执行一次

判定覆盖:每个判定的每个分支至少执行一次,也称为分支覆盖

条件覆盖:每个判定的每个条件应取到各种可能的值

判定/条件覆盖:同时满足判定覆盖条件覆盖,是判定条件覆盖的交集

条件组合覆盖:每个判定中各条件的每一种组合至少出现一次

35.白盒测试法的覆盖标准有哪些?

逻辑覆盖、循环路径覆盖、基本路径覆盖

基本路径覆盖:并不是测试所有路径的组合,仅保证每条基本路径被执行一次

36.查询数据库中指定行的方法

select * from table_name limit 5,10; 取数据库中从第5条开始的10条记录

或者 select top n * from(select top m * from table_name order by column_name) a order by column_name desc;查询第n到m条记录,也是常用分页方式

37. hosts原理

将一些常用的网址域名与其对应的ip地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的ip地址,一旦找到,系统会自动打开对应网页,若没有找到,系统会将网址提交dns域名解析服务器进行ip地址的解析。

38.alpha测试,beta测试

alpha测试:模拟用户环境测试,beta测试:真实用户环境测试

39.白盒测试方法

分为静态方法和动态方法两大类。静态分析是一种不通过执行而进行测试的技术;动态分析的特点是当软件系统在模拟的或者真实的环境中执行之前、之中和之后,对软件系统行为的分析,常用的六种覆盖测试方法属于动态分析方法。

40.白盒测试的重点是什么?

覆盖率测试为白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准

41.linux系统版本?

redhat系列、ubuntu

42.http协议

1)、http协议是无状态的

2)、http协议定义了很多与服务器交互的方法,最基本的有四种,分别是get、post、put、delete,对应着对这个资源的查、改、增、删4个操作,get一般用于获取/查询资源,post一般用于更新资源信息

3)、get和post的区别

a、get提交的数据会放在url之后,以?分割url和传输数据,参数之间以&相连,如:EditPosts.aspx?name=test1&id=123456,POST方法是把提交的数据放在http包的body中

b、get提交的数据大小有限制,因为浏览器对url的长度有限制,而post方法提交的数据没有限制

c、get方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值

d、get方式提交数据,会带来安全问题,如登录,用户名和密码将出现在url上,如果页面可以被缓存或其他人访问,可以从历史记录获得该用户的账号和密码

4)、http协议中的5类状态码:

1xx 提示信息,表示请求已被成功接收,继续处理

2xx 成功,表示请求已被成功接收,理解、接受,常见200,OK

3xx 重定向,要完成请求必须进行更进一步的处理。常见302 Found,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的request. 304 Not Modofied,代表上次的文档已经被缓存,还可以继续使用。如果不想使用本地缓存,可以用ctrl+F5强制刷新界面。

4xx 客户端错误,请求有语法错误或请求无法实现。400 Bad Request,客户端请求有语法错误,不能被服务器所理解。403 Forbidden, 服务器收到请求,但是拒绝提供服务。404 Not Found,请求资源不存在

5xx 服务器端错误,服务器未能实现合法的请求。500 Internal Server Error 服务器发生了不可预期的错误。503 Server Unavailable ,服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

5)从HTTP/1.1 起,默认都开启了Keep-Alive,保持连接特性,即当一个网页打开完成后,客户端和服务端用于传输HTTP的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

43.软件测试的目的

1)为了发现错误而执行程序的过程

2)测试是为了证明程序有错,而不是证明程序无错,发现错误不是唯一目的

3)一个好的测试在于它发现至今未发现的错误

4)通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用软件过程的缺陷,以便改进

5)没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。一个经过测试而正常运行了n个小时的系统有继续正常运行n个小时的概率

44.做好测试用例设计工作的关键是什么?

以较少的用例覆盖模块输出和输入接口,以最少的用例在合理的时间内发现做多的问题

45.做好测试计划工作的关键是什么?

一个测试计划,核心的三个要素是时间、资源、范围,时间就是什么时候做以及要花多久做,资源就是你要协调的人力、机器等资源,范围是你要测试的东西以及测试重点,测试策略具体就是怎么测试,风险控制就是一旦有问题采取什么应急措施等。

46.bug生命周期

新建、已分配、已打开、提交测试、已关闭或者重新打开

47.软件生命周期

问题定义、可行性研究、需求分析、开发阶段、测试阶段、维护

48.软件开发流程

需求分析、概要设计、详细设计、编码、测试、维护

49.压测时请求的参数从哪里来?

get请求是在request.querystring,post请求是在request.form里

  1. lINUX环境部署和搭建:

A.常用命令:

①linux系统下的文件复制

cp 源文件  目标文件  ,如将test1目录下 的file1复制到test3目录下,并将文件名改为file2,命令为:cp  /test1/file1  test3/file2

②linux下的文件移动命令

1)mv 源文件  目标文件, 如将test1目录下的file1复制到test3目录下,并将文件名改为file2,命令为:mv /test1/file1  test3/file2

2) linux当前目录所有文件移动到上一级目录,命令为:mv *../

③.文件删除命令

rm [fir] 文件或目录,如删除/test目录下的file1文件,可以输入以下命令:rm -i /test/file1

④.从本地上传文件至linux服务器,或从linux服务器下载文件至本地

首先服务器安装了rz、sz,命令为yum install lrzsz;

然后通过xshell连接服务器;

命令rz  文件名,将文件传至linux服务器;sz  文件名,将文件下载到windows本地

⑤到目录cd  解压缩unzip tar  编辑vi  vim  性能top 授权chmod 改变文件所有者chown

设置用户密码passwd 查看日志cat tail 用于比较两个文件或目录的不同 diff

  1. 接口测试需要提供什么?

开发提供接口文档

  1. 接口文档的内容包括:

一个规范的接口文档,要包含以下信息:
1)基本信息(接口名称、请求方法、请求路径、接口描述)
2)请求参数(请求头、请求体)
3)返回数据(不同情况的响应状态码、响应数据)

近几千道题+答案,太多了这里就展示了其中的一部分如果大家有需要的话可以点击文章末尾的小卡片备注000领取哈

总结:下方是作者花费三年打造的软件测试到测试开发全职业生涯资料包,有需要的话可以点击文章末尾的小卡片备注000领取哈

 

你可能感兴趣的:(软件测试面试题,单元测试)