赞
踩
这种题目,考的就是你的软性能力,比如表达能力,理解能力,协调能力,一个词概括就是套路。这类题目会在面试开始热身的时候,问一道两题,不会多,但是如果你能回答的有条不紊,清晰达意,那么就会给面试官留下非常好的印象,大致的题目如下:
介绍下你负责的公司项目
你有什么优点和缺点?
在同一个项目组内,你认为你怎么做会比另外一名测试更加优秀?
- 工作积累经验和此份工作的契合度;
- 硬实力:列举专业技能
- 软实力:协作能力、规划能力等
- 自己对面试岗位的理解和自己未来能给他们带来什么
- 你的测试技能能否发掘出更多问题
- 你的测试技能是否能提高效能
- 是否会主动推进问题,让上级领导省心
- 你是否可以让程序更容易接受你的观点
这类题目就是考测试工程师的基本能力了,比如测试计划,测试流程,如何bug,你做过哪些测试,一般我们认为这些能力做的再好都是应该的,不会有加分,但是只要做的不好,那就是个不合格的测试工程师了。这种题目也不会问的太多,大概题目如下:
需求分析讨论-确定测试策略-设计测试用例-测试用例评审-beta测试-uat测试-测试报告
- 1.没有实现需求说明书列出的功能
- 2.出现了需要说明书提到不应出现的事情
- 3.实现了需求说明书未提到的功能
- 4.没有实现说明书中没有提到但应该实现的功能
- 5.难于使用,运转速度很慢,用户认为没有达到预期
- 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。利用其检查功能是否符合需求说明书,能够正常使用,
- 白盒测试:已知产品的内部工作过程,可以进行测试证明每种内部操作是否符合设计规格要求,所有内部成分是否经过检查
- 利用其检查程序模块的内部逻辑走向,主要覆盖程序内的逻辑。
- 掌握边界值分析、等价类划分、错误推测等方法来设计测试用例
- 是一个完备的集合,它能够覆盖所有等价类以及各种边界值;需要从软件功能需求出发,全面地,无遗漏地识别出测试需求;最好是代码覆盖测试也全面的测试
- 掌握边界值分析、等价类划分、错误推测等方法来设计测试用例
- 是一个完备的集合,它能够覆盖所有等价类以及各种边界值;需要从软件功能需求出发,全面地,无遗漏地识别出测试需求;最好是代码覆盖测试也全面的测试
测试用例全部跑完并且bug都已经关闭,然后业务验收后可以上线
这类题目就是考验你作为测试leader或者测试负责人的管理能力了。
- 依据代码review的结果和影响范围,对测试内容进行适当的裁剪。
-
- 借助自动化工具的支持,提高测试案例的执行效率。
-
- 调整组内任务的优先级,进行人力协调,优先投入最紧要的项目。
-
- 必要的情况下加班
- 测试技术组和业务测试组。
-
- 测试技术组主要进行工具考研、工具开发和工具维护,为业务测试效率提升和基础建设做支撑。
-
- 业务测试组主要进行具体业务测试和工具的落地使用,具体测试内容覆盖功能、性能、兼容、稳定性、接口等。
- 一方面制定KPI的时候根据团队成员的职级和能力进行区分,制定合理且细化明确的指标,指标包含测试质量保证、测试效率提升、自动化事务、培训分享。
-
- 进行KPI考核的时候一方面依据KPI的指标达成度、达成时效打分,另一方面不在 KPI内的创新型事务会作为加分项。
如今是移动互联网的天下,谁家没有个应用,所以这一块基本都会问到,同时也会看你的简历,如果你没有做过,基本也不会问的太深,如果你是专门做这一块的,那么要好好准备了。
概念题
- Web 测试和移动应用测试的共同点在于:都要覆盖接口、功能、兼容、性能、稳定和安全的测试。
-
- 差异点在于:兼容考虑的范围不一样,web重在PC系统和浏览器。
- 移动重在机型分辨率和系统版本。 另外移动用户要考虑手机特性相关的影响,网络、冲突、耗电和流量。
- 硬件兼容:机型、分辨率、系统、版本、网络
-
- 软件兼容:输入法键盘、相机、安全清理工具类
-
- 数据兼容:低升高、高降低的用户信息和数据的兼容,还有跨平台的数据兼容
请讲出客户端下 3 个常用的性能指标的名称与具体含义?
iOS应用和Android应用测试有什么侧重点?
- iOS 覆盖的分辨率和系统是有限的。
-
- Android 比较碎片化,覆盖的机型版本比iOS 更多
-
- android有各种定制rom,手机型号太多。
- 内部二维码下载
-
- 白名单用户方式
-
- 国内小市场先上,国外用 Google Play的 β版,默认开放5%
-
- 后台控制的方式,开放给一定比例的用户
实践题
- OOM
-
- 代码异常如除以零、未对返回的列表做判空、数组越界、空指针异常及其他运行时异常
- 安装的途径:
-
- 通过手机助手安装
-
- 通过adb命令安装
-
- 通过应用市场安装
-
- 安装:
-
- 卸载安装
-
- 升级安装
-
- 升级后数据的一致性。如旧版本的账号密码仍能登录到新版本,保存在本地的信息能同步到新版本。如手势密码。
- 常规登录账户密码的字符类型校验、长度校验、匹配性校验
-
- 性能:响应时间、并发量
-
- 安全性:加密传输
-
- 各种登录方式优先级
-
- 不同设备之间切换登录方式
-
- 登录的有效时长
功能: 入口图标的标识度 进入和退出操作简易度 取景框大小 拍景和自拍切换 视频的像素限制 视频的时长限制 发送的进度提示 性能: 发送的时间 操作是否卡顿 兼容: 不同机型分辨率 不同系统版本 不同网络情况 不同流量情况
卡的类型(一类户:借记卡、信用卡、各个开户行) 二类户:虚拟账户如微信里的零钱账户、支付宝的余额宝、电子账户 二维码的商户类型(微信、支付宝、汇宜、银联) 支付限额(单笔限额、累计限额、日累计、月累计、支付笔数) 退款(退款入口、退款进度、退款结果) 对账 资金流动(我方扣款数额正确,对方收款数额正确)数额及时效 支付结果展示、交易明细 支付接口安全性、接口的性能 异常情况(卡异常、余额不足) 连续扫码支付,每天的扫码支付次数限制及数额限制 二维码有效期 有无相机权限 前后置摄像头 像素低端的手机能否扫码成功 兼容性(不同手机厂商自带相机功能实现不一致)
什么都离不开服务端,所以这是你逃不开的,一般来说服务端会问接口测试,性能测试,更深一点,埋点监控止血也会有。
-
- swagger 、 接口自动化脚本
- Jemeter
-
- 接口测试质量评估标准是什么?
-
- 接口表现与接口文档的一致性
-
- 请求参数:必选和非必选、长度、字符类型、为空、缺失、组合、重复
-
- 返回数据:正常和异常
-
- 性能,1000以内并发时小于3s
-
- 请问你们公司是如何做性能测试的?请讲诉性能测试的相关指标?
-
- 压力测试和负载测试的区别
-
- 压力测试是在高负载情况下对系统的稳定性进行测试。是在高负载(大数据量、大量并发用户等)下的测试,观察系统在峰值使用情况下的表现,从而发现系统的功能隐患。
-
- 负载测试:多用户,用户数渐增,持续同时发同一业务请求,产出最大TPS
-
- 压力测试:多用户,资源使用饱和,持续同时发同一业务请求,产出系统瓶颈或使用极限
-
- 服务器中一般要监控哪些数据,如何监控的,怎么从监控数据中发现问题?
-
- 基础监控和应用监控。基础监控包括机器是否死机,cpu,内存,磁盘使用率等
-
- 应用监控包括日志监控、端口监控、进程数监控等。
- 接口表现与接口文档的一致性
- 请求参数:必选和非必选、长度、字符类型、为空、缺失、组合、重复
- 返回数据:正常和异常
- 1.做性能需求分析,挑选了用户使用最频繁的功能来做性能测试,比如:登陆,搜索,提交订单,确定性能指标,比如:事务通过率为100%,90%的事务响应时间不超过5秒,并发用户为1000人,CPU和内存的使用率为70%以下
- 2.性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具的选择
- 3.编写性能测试用例
- 4.搭建性能测试环境,准备好性能测试数据
- 5.通过性能测试用例,编写性能测试脚本
- 6.性能测试脚本进行调优,设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余的脚本等
- 7.设计性能测试场景,使用nmon工具监控服务器,运行测试场景
- 8.分析性能测试结果,如果有问题(性能瓶颈),收集相关的日志提单给开发修改
- 9.开发修改好后,回归性能测试
- 10.编写性能测试报告
- 相关指标:响应时间、并发数、吞吐率、资源利用率、TPS
- 负载测试是模拟实际软件系统所承受的负载条件的系统负荷,
- 通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,
- 以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题
- 压力测试是在高负载情况下对系统的稳定性进行测试。
- 是在高负载(大数据量、大量并发用户等)下的测试,观察系统在峰值使用情况下的表现,
- 从而发现系统的功能隐患
- 负载测试:多用户,用户数渐增,持续同时发同一业务请求,产出最大TPS
- 压力测试:多用户,资源使用饱和,持续同时发同一业务请求,产出系统瓶颈或使用极限
- 基础监控和应用监控。
- 基础监控包括机器是否死机,cpu,内存,磁盘使用率等;应用监控包括日志监控、端口监控、进程数监控等。
- 好处:防止系统B出错引起测试错误;不会因系统B的开发进度影响测试;mock后可以快速返回结果,提高测试效率
- 坏处:很多情况下无法完全模拟出服务器的所有可能的返回情况,另外,mock掉了关联方之后,整个环境的连通性可能测试的不到位。
服务器内存不够、服务器超出负载、并发量太大、遇到恶意攻击
自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。
理念和概念:
- 自动化适合做为回归测试的主要方式,新上线的功能一般都是用手动测试方式,
- 一些极端和用户习惯操作还是手动测试比较方便。尽可能线上稳定的功能模块都做成自动化,提供效率
自动化主要作为回归测试,减少测试时间。UI自动化么有弄,基本找不到bug 。
自动化测试用例的覆盖率多少?
完整运行一次自动化用例需要多久时间?
主要跑的是业务流,所以跑一次需要半个小时左右
金字塔结构, 最底层UnitTest,往上接口API/集成起来的service, 最上面UI自动化
提前准备好,在代码里的yaml文件
业务不变的情况下,一般脚本都是不坏不动的
工具使用
WebDriver 相关
请问你的定位策略是什么?
请问如何实现用例失败或者异常时候需要截图?
请问如何分布式执行webdriver用例?
如何在脚本中执行 JavaScript 代码?
移动应用相关
Appium 的定位策略有哪些?
请简述Appium的原理
iOS 和 Android 的 UI 自动化的原理是什么?
当定位策略都失败的时候,你该怎么做?
请问Monkey测试的优缺点?
如果使用monkey发现了一个毕现闪退,请问怎么使用monkey重现它?
Jmeter
你用jmeter做什么测试?
如果有一个登录接口需要服务端返回参数,再带着这个参数去请求才能完成登录,用jmeter 怎么做?
---------- 最后,来点硬题,嚯嚯嚯! ----------
所谓硬题就是答案一般都是固定或者标准的,答案也不会模棱两可,包括:算法,编程,sql,linux
算法:
请写出冒泡排序
1~9999数列中数字3出现的次数。用递推方法解出。
从一个数组中找出前4个最大的数,用最优解。
写一段程序,删除字符串a中包含的字符串b,举例 输入a = "asdw",b = "sd" 返回 字符串 “aw”,并且测试这个程序。
写一个方法,把字符串转为数字,比如 str="1234",变成 int 1234。并且测试这个程序。
编程:
什么是面向对象编程?
讲下Java多线程的使用
有三个线程T1,T2,T3,怎么确保它们按顺序执行?
Thread 类中的start() 和 run() 方法有什么区别?
请写一个线程安全的单例模型
SQL:
说下左连接和右连接
介绍下什么是索引
使用sql生产10万条数据
给你一张表,根据要求写sql,这个题目比较多,自己百度吧。
Linux:
你常用的命令是什么?
用什么查看log?
如何查找一个文件大小超过5M的文件
如何查看进程?
最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。