软件测试面试一定会被问到的10个技术问题(附答案)
本文记得熟读并背诵,99%通过技术二
1、测试用例问题
范例回答:
一般都是让你对一个“书本”“水杯”“电梯”这些老例子做测试用例,这些答案百度一下全部都是,掌握好测试用例的方法,换成什么例子都可以讲的全面。
对方还会根据这个问题衍生出:你觉得什么样算是好测试用例,好的标准条件是什么?
答案没有特定的,你可以根据自己实际的工作情况,结合项目去讲解,比你单独说:要有完整性,准确性等要好得多。
2、你们怎么去定位bug的?
范例回答:
先分析是用户问题还是产品问题,接着看是前端还是后端问题;
bug定位通用思路:现象–>原因–>验证手段–>结论–>现象
这个问题还会衍生出:你都用那些bug定位工具的问题。
常用的就是fiddler。
3、在项目里你负责什么,你们测试流程是什么样子的?
范例回答:我主要负责功能测试,也会兼顾一部分的自动化测试。
测试流程的话先会做需求分析,然后根据需求做测试用例,如果时间宽裕还会进行用例评审,要不就直接做测试,后面产出测试报告,提交给主管。
衍生问题:测试报告会有那些部分?
4、了解计算机协议吗?
范例回答:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。
除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议
5、兼容性测试你们的策略是什么?
操作系统/平台兼容性测试
应用软件之间的兼容性测试
不同浏览器之间的兼容性测试
不同类型数据库兼容性测试
软硬件配合的兼容性测试
6、简单说一下测试方案的设计
· 需求说明
1.1 需求汇总
1.2 需求变更
· 总体计划安排和负责人
2.1 测试计划进度表
· 测试方案
3.1 测试重点
3.2 联测方案
3.3 测试策略方法
3.4 测试工具平台
· 环境搭建部署及数据准备
4.1 环境拓扑
4.2 应用部署
4.3 数据准备
· 测试执行计划
5.1 测试计划
5.2 正向用例
5.3 反向用例
5.4 用例评审
· 测试工单
6.1 冒烟工单
6.2 单侧工单
6.3 联测工单
6.4 预发布验证工单
6.5 灰度验证工单
6.6 线上验证工单
· 测试限制及无法测试功能列表
· 测试情况日汇总&风险点,待确认列表
8.1 每日测试情况及风险点
7、为什么进行性能测试?
1、稳定运营—长时间、高负载测试下交易成功率、资源稳定性。
2、成本的优化配置–最优CPU数量、内存数量、服务器数量、专线带宽
3、用户眼中的良好形象:“快”
4、节省成本–性能测试的分析结果可以精确的判断需要多少个服务器,服务器上需要多少CPU和内存,租用带宽数量
5、判断目前系统的性能瓶颈
6、系统应用能够适应未来的业务增长
衍生问题:常见的性能测试有哪些?
8、说几个常用的Linux命令
1、file
2、mkdir
3、grep
4、cal
5、sync
6、shutdown
9、解释一下什么叫黑盒测试
黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试
10、移动端和web端测试的区别是什么
单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的。
根据两者载体不一样,则区别如下:
·系统结构方面
web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步会更新。
app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。
·性能方面
web项目 需监测 响应时间、CPU、Memory
app项目 除了监测 响应时间、CPU、Memory外,还需监测 流量、电量等
·兼容方面
(1)web项目:
浏览器(火狐、谷歌、IE等)
操作系统(Windows7、Windows10、Linux等)
(2)app项目:
设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows、OSX(Mac)
手机设备可根据 手机型号、分辨率不同
相对于 Wed 项目,APP有专项测试
干扰测试:中断,来电,短信,关机,重启等
弱网络测试(模拟4g,wifi网络状态以及丢包情况);网络切换测试。
安装、更新、卸载
安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况
卸载:需考虑 卸载后是否删除app相关的文件
更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新
界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换
安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等
边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等
权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等
测试工具方面
自动化工具:APP 一般使用 Appium; Web 一般使用 Selenium
性能测试工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter
下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!