移动端软件测试⾯试题及答案-2021年最新版
⼀、基础题(软能⼒)
主要考察⾯试者的语⾔表达能⼒、逻辑思维能⼒、反应能⼒、理解能⼒、协调能⼒等,⼀般会在⾯试开始热⾝的时候问⼀两道题。
1、⾃我介绍
2、换⼯作的意图,遇到了什么问题,你想要新的公司/团队给你带来什么?
3、为什么选择软件测试这⼀⾏,觉得⾃⼰有什么优势或劣势?
沟通能⼒强,善于与⼈打交道;
是⼀个⽐较细⼼且有耐⼼的⼈;
有点强迫症,追求完美;
爱总结,会将测试过程中发现的问题进⾏归纳总结,形成经验教训;
爱学习并且善于学习,能很快掌握新⼯具的使⽤;
综合起来我觉得我是胜任这个⼯作的。
4、你未来的职业规划?
5、当开发⼈员说不是bug时,你如何应付?
⼆、测试理论(基础题)
主要考察⾯试者的基本能⼒,⽐如测试计划、流程、bug的定义、做过哪些测试。⼀般我们认为这些能⼒做的再好都是应该的,不会有加分;但如果做的不好,那就是个不合格的测试⼯程师了。
1、请描述你上个项⽬的测试流程?
参与需求评审->编写测试计划->设计测试⽤例->⽤例评审->执⾏测试⽤例->缺陷提单->编写测试报告
细⼀点的话,可以将冒烟测试-接⼝测试-UAT⽤户验收测试等也加⼊进去,视情况⽽定。
2、请描述下bug的⼏个要素?
包含:标题、问题描述,详细操作步骤,发现时间,系统环境,硬件环境,严重程度,功能模块,是否会重现,最好提供:有问题的账号、对应的报错截图、或者报错⽇志等。
3、测试分为哪⼏个阶段,分别由谁来负责?
⼀般来说分为5个阶段:单元测试、集成测试、系统测试、验收测试
单元测试⼀般由开发⼈员进⾏⾃测;
集成测试和系统测试,由测试⼯程师负责;
验收测试,则由甲⽅或者业务⽅进⾏验收。
三、移动端测试(专项题)
如今是移动互联⽹的天下,⼤部分公司都有APP应⽤、⼩程序、等,做好响应准备是必备的。
1、你是如何做应⽤的兼容性测试的?
主要涉及iOS和Android端,
(硬件⽅⾯)
1)设备类型:区分iOS不同机型、Android不同机型、平板电脑、穿戴式设备等;
2)⽣产商:Android⼿机不同⼚商会有定制化差异
3)显⽰屏:屏幕⼤⼩、分辨率、刘海屏、⼤屏、⼩屏、折叠屏、曲⾯屏等
4)、不同系统(12、13、14、15等)
(软件⽅⾯)
操作系统:安卓不同版本的系统、鸿蒙系统、iOS不同版本的系统等;
(其他⽅⾯)
1)开发技术、语⾔的不同:RN、H5、native等;
2)⽹络:2G、3G、4G、5G、wifi、弱⽹等;
3)⽤户使⽤习惯:如⼤字体的适配、语⾔的变化(中⽂、英⽂、繁体)等。
2、举⼏个你测试过程中遇到的兼容性问题?
1)H5页⾯中CSS样式兼容:样式错乱、布局不灵活、样式便捷处理不好看,导致窄屏⼿机显⽰异常等;(⼀些属性的浏览器标⽰前缀没有添加,导致默认浏览器不认识这个属性,所以样式错乱)
2)H5页⾯缓存问题:页⾯⼀直显⽰修改前的样式,需要强制刷新页⾯或者清除缓存才⽣效;
3)上下滑动卡顿:安卓和⼤部分iOS⼿机上下滑动顺滑,⼩部分iOS⼿机卡顿等
3、你觉得哪些场景需要做兼容性验证?
UI显⽰
多次快速点击
拉起虚拟键盘挡住输⼊区
虚拟物理按键收起与显⽰
多个输⼊框来回切换
控件焦点热区⽂体
前后台、多个应⽤切换
指纹识别和faceid等
框架升级
⽹络
新⽼版本兼容
第三⽅依赖库或者SDK升级
前后端版本兼容
安装卸载更新
4、有没有遇到过⼿机崩溃(闪退)?碰到了怎么解决,通常是什么原因造成的?⼀般怎么抓取⽇志?
1)系统不兼容,版本不兼容,导致⼀安装就闪退;
2)空指针:对象没有初始化就使⽤了(点击某个功能的时候闪退);
3)代码错误:没有经过测试的新功能,可能会导致App在⽣产环境中失败等。
四、接⼝测试
1、在接⼝测试过程中发现的bug多不多?能举⼏个例⼦?
⽐如,输⼊框,在页⾯上输⼊负数,肯定是⽆法提交过去(前端页⾯会判断⾦额),如果我不⾛前端,直接⽤接⼝⼯具发请求,输⼊⼀个负数过去。 (假设服务端没做提现⾦额数据判断) 余额=当前余额(100)-提现⾦额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越⼤了。
1)数字录⼊框:输⼊⾮数字
2)长度校验:输⼊超过最⼤长度、输⼊空等
2、你们公司的接⼝测试流程是怎样的?
⾸先是从开发那⾥拿到API接⼝⽂档,了解接⼝业务、包括接⼝地址、请求⽅式,⼊参、出参,token鉴权,返回格式等信息。
然后使⽤Postman或Jmeter⼯具执⾏接⼝测试,⼀般使⽤Jmeter的步骤是这样的:
1)在测试计划下新建⼀个线程组;
2)添加HTTP请求默认值(输⼊接⼝服务器IP和端⼝);
3)添加对应的HTTP请求,⼀个请求⼀个⽤例(包括输⼊接⼝路径,访问⽅式,参数等);
4)然后创建断⾔和查看结果树;
5)最后调试并执⾏⽤例,最后编写接⼝测试报告。
3、jmeter中如何实现关联?
先从上⼀个接⼝中通过正则表达式提取器或jsonpath解析器截取下⼀个接⼝需要的参数值保存到变量,然后在下⼀个接⼝中通过${变量名}去获取。
4、谈谈你对HTTP协议的了解?
http:超⽂本传输协议,端⼝为80,特点(⽆记忆功能、快速)是由请求和响应两部分组成。请求由请求头、请求⾏、请求正⽂组成;响应是由响应头、响应⾏、响应正⽂组成,之前我们公司的接⼝是采⽤https协议的。
前端测试和后端测试的区别https:http+ssl协议,端⼝443,⾯向安全的超⽂本传输协议,较http更安全。
5、get和post请求有什么区别?
get和post请求都是客户端向服务器提交的⼀种请求⽅式
get是明⽂传输参数、倾向于请求服务器资源。⽐如打开⽹站
post传输数据不可见,安全性⾼,倾向于向服务器提交数据,⽐如注册等
五、SQL数据库(必备技能)
1、说下左连接和右连接的⽤法?
left join (左连接)、right join (右连接)、inner join (等值连接或者叫内连接)、full join (全外连接)
⽤法:select * from A表 left join B表 on A.id = B.id;
2、写⼀个更新语句?
update 表A a set a.phone = '188XXXXXXXX' where a.id = '2212';
3、模糊查询⽤什么关键词?like
六、Linux(必备技能)
1、说说你常⽤的linux命令?
2、查⽇志⼀般⽤什么命令?tail
3、查⽇志时,搜索关键词的命令?
tail -f log |grep '188XXXXXXXX'
4、如何查看进程,CPU使⽤率?top
七、敏捷开发模式(项⽬模式)
1、有做过敏捷项⽬吗,和传统的项⽬有什么区别,使⽤了什么措施?
敏捷项⽬:每⽇站会,看板监控,燃尽图,开短会,计划发布,迭代复盘会议等,
敏捷相对于传统项⽬迭代会更快,⼀般2周⼀个迭代,快速响应需求,需求变更频繁等。
2、敏捷测试下的⼯作流程?
1)更侧重于⽤x-mind编写测试场景,进⾏测试场景评审,减少测试⽤例、测试计划等⼯作的⽐重 2)在前后端联调期间即进⾏接⼝测试,尽早开始测试;
3)关注持续迭代的新功能,针对新功能进⾏⾜够的SIT测试;
4)引⼊探索性测试,由于时间原因,⼀般只进⾏⼀轮回归测试等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论