我是谁、工作几年、你上家公司做什么、负责什么、你的优势、为什么适合这个职位、我想做什么、在这个职位上想得到什么
【呕心沥血】耗时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里
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)基本信息(接口名称、请求方法、请求路径、接口描述)
2)请求参数(请求头、请求体)
3)返回数据(不同情况的响应状态码、响应数据)