史上最全软件测试工程师常见的面试题总结多测师
Posted xiaoshubass
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了史上最全软件测试工程师常见的面试题总结多测师相关的知识,希望对你有一定的参考价值。
1) 负载测试和压力测试区别?
2) 1000个用户的并发测试怎么测?
3) 一个杯子从哪方面测?
4) jenkins怎么用的?
5) 第一个项目哪些方面做了自动化?
6) 哪些方面可以做性能测试?
7) 搭建性能环境从哪几个方面考虑?
8) 手机app测试和web测试的区别?
9) get请求和post请求的区别(安全性,表单)?
10) 怎么设计测试用例(正常和异常)?
11) 怎么测需求文档?XXX
12) 答案:静态测试,需求文档功能,界面;
13) 怎么用自动化测试,原理?
14) web服务器的区别?
15) 怎么定位,遇到定位不到的情况,js定位?
16) 自动化中的三个库,关键字有哪些?
17) 传输层有哪些协议,端口号?XXX
18) tcp/ip的区别?
19) QQ登陆用的是什么协议、发消息?
20) 测试计划最重要的是什么?
21) 作为web测试 从哪几个方面做测试,从哪些方面制定测试范围?
22) 怎么看待测试这个行业;
23) 你遇到过最有意义BUG是什么? 让你印象深刻 为什么?
24) 你认为测试计划最理想的一个流程?
25) 有没有做过性能测试?
26) 1000个人做并发怎么开展?
27) 性能测试环境怎么搭建,有5台服务器 怎么去分配?
28) 怎么去获取性能需求的? XXX
29) 什么样子的项目适合用自动化?
30) 测试的准入和准出是什么?XXX
31) 如何维护自动化测试用例?
32) 测一款手机app除了测他的最基本的功能还需要考虑什么特性?XXX
33) 答案:电话来了 短信来了 闹钟响了异常退出
34) 性能测试关注哪些指标?XXX
35) 答案:CPU,内存,代码 软件 硬件 数据查询语句太复杂 硬件需要加服务器这些;
36) 数据库怎么测试?XXX
37) oracle和mysql的区别?XXX
38) 数据库为什么要建视图呢?XXX
39) 能独立搭建自动化测试环境 能不能具体说一下?XXX
40) 写测试用例有哪些方法 各举例说明一下?哪个项目用的正交表,等价类,边界值?XXX
41) 什么时候使用自动化进行测试?XXX
42) 自动化测试的原理是什么?XXX
43) 你在工作当中做过最高的职位是什么?
44) 作为测试小组的组长 你平时的工作有哪些?
45) 自动化你有用过哪些框架RF具体说一下,整体的说一下?
46) 给你一个桌子怎么测?
47) B/C 系统从哪些方面进行测试; 怎么进行设计?
48) 怎么查看数据库的日志?
49) 给你5台服务器 怎么进行性能测试配置?XXX
50) 我们做的是支付的项目 你应该从哪些方面入手 关注点是什么?需要保证最基本的功能?XXX
51) 你用过因果图没有?你解释一下因果图吧?XXX
52) 搭建性能环境会吗?XXX
53) 你用过数据库吗?有个外键怎么用你知道吗?有什么好处?XXX
54) 一个用户没有root权限 想给他root权限 怎么操作? XXX
55) 在linux下 一个用户没有root权限 想给他root权限 怎么操作?XXX
56) 连接数据库 连接不上 怎么去定位分析 从哪里入手? XXX
57) 在什么情况下使用视图?XXX
58) 你对数据库了解有多少? 索引有几种 唯一索引是什么?XXX
59) delete 和drop 有什么区别?XXX
60) linux 下打个gz包怎么打?XXX
61) 写10个命令 每个命令挑着问你怎么用?XXX
62) SCP和sftp 有什么区别?XXX
63) 你口述一下你心里最理想的测试流程?XXX
64) 做完项目有没有什么感想?XXX
65) char 和varchar有什么区别?XXX
66) 用例评审分几轮评审?XXX
67) 你觉得你在团队中最突出的是什么? 可以具体举例吗?XXX
68) 你觉得你在团队中的一些缺点有什么? 可以具体举例吗?XXX
69) 性能测试里面负载测试和压力测试的区别?
70) 数据库怎么去做自动化?XXX
71) 为什么要创建视图?XXX
72) 说一下H模型和V模型的区别? XXX
73) 四年的测试经验有没有觉得最有意义的BUG;印象最深刻?XXX
74) 四年的测试 说一下对软件测试行业的看法?XXX
75) 你为什么选择测试这个行业?XXX
76) 抓包工具 抓不到要获取的内容你是怎么解决的?XXX
77) 性能为什么要参数化 参数化有什么好处?XXX
78) 我们这边需要搭建环境 你会吗? 你说你只会录制一些脚本? 如果真的要搭建环境你会从哪些方面去考虑??XXX
79) 怎么搭建httpd环境?
80) 你在工作中最擅长哪个部分啊?XXX
81) 在测试当中你觉得自己最突出的技能是哪些? XXX
82) 查询所有的进程信息? XXX
83) 你做了4年的测试 你做了几个项目 叫什么名字?
84) 都是做功能的测试吗? 这是你自己做的项目吗? 你确定吗?
85) 那这4年你哪一块做的比较多? 你比较强项的地方是什么?XXX
86) 数据库中group by,order by是干嘛的?XXX
87) 用过视图吗?在数据库里面 如果我这张表我要对AB字段创建视图怎么创建 XXX
88) chmod chgrp chown 更改权限的三剑客?XXX
89) grep(文本过滤器),sed(流编辑器),awk(文本格式化工具)? XXX
90) 我一张中国银行卡去建设银行ATM机去取钱 应该怎么设计测试用例?XXX
91) 自动化常用的关键词,数据库常用的关键字有哪些?XXX
92) 你们项目什么时候用自动化呢? XXX
93) 你用的最多的linux基本命令?mkdir cd touch pwd 等等XXX
94) 性能中有俩个场景 这俩个场景有什么区别? 那你只是录制脚本是吧?那你做过脚本增强咯? 为什么插入集合点XXX
95) 你做过的性能测试遇到过哪些性能瓶颈??XXX
96) 集合点能不能在结束的地方插入?集合点必须在事务前面插入 XXX
97) 遇到性能瓶颈怎么进行调优?你会从哪几个方面入手?CPU 内存 代码 数据库等方面入手 XXX
98) 系统测试的重点是什么??XXX
99) 你怎么什么情况下 使用抓包工具? 举个例子说明一下咯?XXX
100) fiddler 你是怎么进行调试的啊?XXX
101) 检查点是插在事务的里面还是外面?集合点是插在事务的前面还是后面?XXX
102) web_find 和web_reg_find有什么区别?XXX
103) 简单说一些for循环?XXX
104) linux下内存使用情况是什么命令? def
105) 半年项目 三个人 一共5-6K条用例
106) http中状态码 200 404 500是什么意思?XXX
107) 性能测试中 吞吐量是什么? 场景是什么? 怎么设置场景?XXX
108) 测试用例和测试脚本有什么区别? XXX
109) 你认为测试的优势在哪里??你是怎么看待测试这个行业?XXX
110) Python不支持哪些数据类型? XXX
111) 测试过程中如何保证软件的质量??XXX
112) 答案:1)交叉测试,谁都认为自己的用例是正确的 2)加大对用例的评审 3) 用例的执行度;
模拟面试资料:
1.α测试和β测试的区别:
α测试是内测,β测试是外测,先进行内测然后进行外测;
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试;
β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在测试现场,Beta测试不能由程序员或测试员完成;
2.一般来说环境都是由运维来搭建的,测试是没有权限的;
3.Jenkins是一款可持续化集成工具;可以用来跑自动化测试用例,性能测试用例,和接口测试用例,还有shell脚本,一般和SVN和Git等管理工具使用,可以把封装好的脚本放在SVN里面, 在Jenkins里面构建触发器设置定时任务,然后填写SVN的账号和密码还有地址,定时设置每天的早上10:00和
晚上的20:00定时跑脚本,然后输出报告;
4.什么是系统瓶颈?瓶颈主要是指软硬件系统某些方面能力不能满足用户的特定业务要求,所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的;
例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见,
因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求,
在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为该系统没有瓶颈或者瓶颈不会影响用户工作;
因此我们测试系统瓶颈主要是实现下面两个目的:
1) 发现“表面”的瓶颈,主要是模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标;
2) 发现潜在的瓶颈并解决,保证系统的长期稳定性,主要是考虑用户在将来扩展系统或者业务发生变化时,系统能够适应变化;
满足用户目前需求的系统不是最好的,我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适应新的变化;
linux拓展命令:
α测试是内测,β测试是外测,先进行内测然后进行外测;
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试;
β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,开发者通常不在测试现场,Beta测试不能由程序员或测试员完成;
2.一般来说环境都是由运维来搭建的,测试是没有权限的;
3.Jenkins是一款可持续化集成工具;可以用来跑自动化测试用例,性能测试用例,和接口测试用例,还有shell脚本,一般和SVN和Git等管理工具使用,可以把封装好的脚本放在SVN里面, 在Jenkins里面构建触发器设置定时任务,然后填写SVN的账号和密码还有地址,定时设置每天的早上10:00和
晚上的20:00定时跑脚本,然后输出报告;
4.什么是系统瓶颈?瓶颈主要是指软硬件系统某些方面能力不能满足用户的特定业务要求,所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的;
例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见,
因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求,
在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为该系统没有瓶颈或者瓶颈不会影响用户工作;
因此我们测试系统瓶颈主要是实现下面两个目的:
1) 发现“表面”的瓶颈,主要是模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标;
2) 发现潜在的瓶颈并解决,保证系统的长期稳定性,主要是考虑用户在将来扩展系统或者业务发生变化时,系统能够适应变化;
满足用户目前需求的系统不是最好的,我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适应新的变化;
linux拓展命令:
日志:
tail -f
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
系统:
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lsusb -tv # 列出所有USB设备
# env # 查看环境变量
资源:
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区:
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络:
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程:
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户:
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务:
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序:
# rpm -qa # 查看所有安装的软件包
tail -f
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
系统:
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lsusb -tv # 列出所有USB设备
# env # 查看环境变量
资源:
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区:
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络:
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程:
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户:
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务:
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序:
# rpm -qa # 查看所有安装的软件包
以上是关于史上最全软件测试工程师常见的面试题总结多测师的主要内容,如果未能解决你的问题,请参考以下文章