软件自动化测试工程师面试题集锦

Posted 自动化软件测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件自动化测试工程师面试题集锦相关的知识,希望对你有一定的参考价值。

以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出····

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的区别。

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

)

以上是关于软件自动化测试工程师面试题集锦的主要内容,如果未能解决你的问题,请参考以下文章

测试面试题集-测试用例设计:登录购物车QQ收藏表情转账充值提现

测试面试题集锦| 测试工具篇(附答案)

软件测试面试宝典「Linux 数据库 测试工具 自动化 性能测试」

测试面试题集-生活物品测试:杯子伞钢笔桌子

精准测试的软件产品质量效率变化分析

Dotest--用例该如何书写?完整示例-软件测试