软件自动化测试工程师面试题集锦(1)
1.自我介绍
答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目
参考:面试官您好,我叫xxx,我是xxx年xxx专业毕业的。进入测试行业已经xxx年了,前xxx年我主要做的功能测试,积累不少测试经验,整个系统测试过程中的需求分析、用例编写、用例评审,用例执行、bug记录,跟踪验证bug,上线回归等已经非常熟悉了,能够独立带项目完成功能测试工作。后面我主要负责自动化测试,包括ui自动化和接口自动化。我有一定的python代码基础,能够独立编写自动化脚本,熟练使用数据驱动思想搭建框架,就拿我最近做的项目,这个职工管理系统,除了使用python+selenium实现主要业务功能的ui自动化外,还使用python+request实现了所有接口的自动化,框架中用到了pymsql库和 unittest库,还有对Excel、json等格式的文件读取方法的封装。另外我对性能测试和APP测试也有一定了解,能够设计拱形场景和门型场景,完成基础的性能测试,对于负载测试,压力测试数据的分析有初步的认识;APP测试会使用monkey测试以及python+appium完成自动化测试。这次来是求职一份自动化测试工作,希望有机会共事,谢谢
2.项目介绍
答:项目什么类型,哪种语言写的,主要功能,项目周期,自己承担的职责等方向说
参考:这是一个使用java语言开发的web端系统,用于企业人力资源管理,在员工入职到离职过程中,可以从员工信息,职位部门,合同工资,考勤方面进行全面的管理。系统主要包括员工信息管理,部门管理,考勤管理,工资管理,合同管理。这个项目历时一年,我们测试部门从需求分析阶段开始就介入,整个项目中不仅做了功能测试,还做了gui,接口自动化测试和性能测试。本项目大版本大约一个月会迭代一次,一共迭代12次,中间还有一些小版本,一般两天左右会更新一次。大版本之间通常是添加了新功能或者有一二级bug的修复,在每次大版本迭代前都会做需求分析;小版本主要修复了一些缺陷。本项目中我主要负责搭建和优化自动化测试框架,还有测试方案,测试报告的编写,框架中用到了pymsql库和 unittest库,还有对Excel、json等格式的文件读取方法的封装。
这个项目中,在这个项目中,令我印象最深的一个缺陷是:系统左侧有可以伸缩的导航栏,我们只是在进入系统主页进行了一个点击测试,有一次我在新增工资信息的时候,把导航栏点击收缩起来了,然后点不开了,因为界面中没有其他能返回和跳转的按钮,只能退出系统或者关闭浏览器才能继续操作。最后当三级bug提给开发修复了。
3.git和svn有什么区别?
答:git是分布式,svn不是。
4.给你一个登录页面怎么测?(比如淘宝,美团)
从功能,性能,安全,兼容,界面测试等方向回答
5.会java吗?
答:会,这时候面试官会问具体的java情况,比如公共类私有类,数据类型,声明变量等
6.linux常用命令
答:cd,ls,ll,ping,ifconfig,reboot,vi,touch,mkdir.rm,free,top,ps,wc,df,kill,mv,cp,find,cat等等
7.mysql增删改查各举一个例子
答:增加列:alter table user add address varchar(20);
增加一条数据:insert into uesr (address) values ('zhongguo hubei');
删除列:alter table user drop address;
删除某条数据:delete from uesr where address='zhongguo hubei'';
修改列:alter table change address newaddress varchar(50);
修改某条数据:updata user set address='zhongguo shanghai'' where uid=1;
8.get和post的区别
答:最大的区别,是get通过url传递参数,post的参数写在body里面。因此get不太安全,直接暴露在url中,且会在历史记录中查到。所以一些敏感操作一般使用post,如增删改操作
9.怎么判断一个bug是前端还是后端的
答:可以通过F12看后台是否有请求,请求的参数是否正确,如果不正确说明前端bug;如果服务器没响应或返回数据有错误,一般是后端bug。
10.ui自动化有时候找不到元素,你怎么处理?
答:很有可能是元素尚未加载,可以添加隐式等待implicity_wait或显示等待WebDriverWait(),再不行使用强制等待time.sleep()
11.怎么查看App测试日志
答:使用adb命令,adb logcat
12.弱网测试和低电量测试怎么做?
答:弱网可以使用fiddle或者腾讯的QNET工具测试,低电量可以使用iTest工具。指标可以参考竞品
13.性能测试流程?报告主要内容
答:流程:分析,设计,实现,执行;主要内容:范围,环境,场景,方法,结果,瓶颈等
14.cookie和session有什么区别?
答:cookie保存在客户端,session在服务端,session关闭浏览器和服务器断开连接就失效了。相对来说cookie不太安全,但session会给服务器造成一定压力
15.你认为自己做测试有什么优势?
答:从技能,职业素养,性格等方面回答
16.python常用数据类型,列表和元组的区别
答:六种基本数据类型,数字,字符串,列表,元组,字典,集合。列表和元组都是序列,都可以通过下标访问,可以互相嵌套,支持切片;列表是长度可变,元组不可变
17.selenium常用的定位方式
答:classname,id,xpath,partial_link_text
18.功能测试你常用的测试方法
答:主要是边界值和等价类划分法,还有正交实验,流程分析法
19.数据库三大范式
答:
第一:确保每列保持原子性:指列不能再拆分。(自动满足第一范式)
第二:每个实例或行必须可以被唯一的区分。(就是必须要有主键)
第三:确保每列都和主键列直接相关,而不是间接相关。(通过外键区分)
20.tcp和http有什么区别:
答:tcp是传输层协议,http是应用层协议,http承载在tcp上。
备注:其实经常面试会问tcp和udp的区别,http和https的区别。