目录:导读
前言
测试面试之测试工具考点
介绍一下测试中常用的工具(必备基础,必须掌握!)
需求问题跟进、测试计划、风险评估登记、测试报告、复盘会议:wiki
测试用例:Xmind 编写,Testlink 管理
测试执行:ELK、Xshell等
Bug 管理:Jira、bugfree、禅道等
接口测试相关:Charles、Fiddler、Postman、JMeter等
自动化相关:Selenium、Appium、pytest、Locust、JMeter等
用什么工具对用例进行管理?
Testlink 管理用例的一般步骤:新建计划、新建版本、上传xml文件、添加测试用例到测试计划中、分配测试用例给开发、查看用例执行报告。
Xmind:(略…)
Excel:(略…)
怎么使用 ELK 定位日志?
查看产品推送是否成功。产品从 A 平台推送到 B 平台,根据 A 平台的链接 id,搜索对应的日志。搜索不到,则为 A 平台推送失败。搜索到了,查看推送的状态,进一步判断问题所在。
使用官方文档,可以进一步了解 ELK 日志查看。
Xshell如何登录,如何切换目录?
使用 SSH 密钥登录:生成密钥公钥和私钥-上传公钥到服务器-配置 Xshell 使用密钥认证方式登录到服务器;
使用账号密码登录:配置中输入被连接服务器的账号、密码、IP 及端口连接;
埋点测试怎么测试,使用什么工具,数据要不要入库?
使用 Charles、Fiddler 抓包,查看对应的来源记录、事件等必要参数是否正确,查看数据库记录是否正确
介绍 Fiddler 和 Postman 的区别?
Fiddler 主要是抓包,Postman 主要进行接口请求;
怎么使用 Postman 进行多个接口请求?
将多个接口请求归纳到一个集合里,在集合的右上角点击展开箭头,点击 Run;
日常工作中 JMeter 是怎么用的?
接口测试:通过对指定接口进行请求访问,验证数据出入的准确性与安全性;
性能测试:编写对应的测试集,通过脚本控制线程数,实现逐步加压等;
结合自己项目经验,没有经验千万不能盲目举例乱说,避免坑自己;
例举熟悉的自动化测试工具,并说明其实现原理
调用 Android adb 完成基本的系统操作
向 Android 上部署 BootStrap.jar
BootStrap.jar Forward Android 的 4723 端口到 PC 机器上
PC 上监听端口接收请求,使用 webdriver 协议
分析命令并通过 forward 端口发给 BootStrap.jar
BootStrap.jar 接收请求并把命令发给 UIAutoMator
UIAutoMator 执行命令
运行用 Python 写好的 Selenium 脚本,它会像 Web Service 中发送一个 HTTP 请求;
浏览器驱动中的 Web Service 会根据这个请求生成对应的 JS 脚本,因为不同的浏览器,相同的操作生成的 JS 脚本会有所不同,因此不同的浏览器要有不同的驱动;
JS 脚本驱动浏览器,产生各种操作,并返回给 Web Service;
Web Service 将结果通过 HTTP 响应的形式返回给客户端;
介绍一下测试流程(常见)
需求评审、测试计划、测试用例、用例评审、冒烟测试、测试执行、验收测试、风险评估、上线观察、问题跟进、测试报告、复盘会议;
根据自己的日常经验来回答,每个点的工作内容都需要清晰掌握,有可能就某个点如何工作进行提问。
介绍一下测试方法
按阶段:单元测试、集成测试、系统测试、验收测试
按手段:黑盒测试、白盒测试、灰盒测试
其他:冒烟测试、回归测试
介绍一下测试用例设计方法(用例设计方法&测试方法需分清楚)
黑盒测试用例设计:等价类划分法、边界值分析法、错误推测法、因果图法、正交试验分析法、流程分析法
白盒测试:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖、判定/条件覆盖、路径覆盖
设计一个登录页面的用例(提供某个场景设计用例重点!)
功能测试:正确输入、为空输入、字符类型校验、长度校验、密码是否加密显示、大写提示、跳转页面是否成功、登出后用另一个账号登录
UI:界面布局合理、风格统一、界面文字简洁好理解、没有错别字
性能测试:打开登录页面需要几秒、点击登录跳转首页需要几秒、多次点击、多人点击
安全性:用户名和密码是否加密发送给服务器、错误登录的次数限制(防止暴力破解)、一台机器登录多个用户、一个用户多方登录、检查元素能否看到密码
兼容性测试:不同浏览器、不同的平台(Windows、Mac)、移动设备能否工作
易用性:输入框可否tab键切换、回车能否登录等
举例说明项目推进的能力(针对个人评价的举例说明)
(例)推动开发解决菜单权限需退出登录才可应用的问题。
描述:XX项目上线后,由于权限更新导致用户无法使用旧界面+用户不懂得自己退出登录以应用新菜单权限,线上多个用户反馈平台相关功能无法使用。
处理:远程操作+线上指导出现问题的用户退出登录,凌晨脚本批量强制用户退出登录。
推进:在下一次版本中,推动开发处理菜单权限更新问题,以防每次更新菜单都出现用户使用不了功能的问题。
结果:处理为用户登录期间仍可使用旧界面,直到用户退出重新登录后,才应用新菜单权限;
推动冒烟测试:冒烟不通过,测试召开会议罗列项目不通的模块、存在的问题,一一对应到每个人去跟进,得到解决的时间,后续项目群说明并艾特每个人跟进。测试准时验收。
推动文档质量:在日常工作中遇到需求文档、设计文档、接口文档不规范或不详细的在绝大多数,这个时候就要通过沟通或以bug的形式,促使各个岗位将各自的文档完善。
结合自己的个人经验,从问题描述+处理过程+推进表现+结果,一一说明。
测试中遇到的比较难的一个项目是?(掌握自己简历上的项目)
XX项目:这个项目是一个新项目、需要对接第三方、从协助测试产品模块到转手负责整个项目加强了一定的需求理解难度、订单逻辑不熟悉、其中需求的问题推进比较困难。
针对这些困难,测试方面:先快速了解需求,并与原先的测试负责人了解具体的进度和需要注意的测试点。
开发方面:迅速与开发人员了解订单逻辑,以及与第三方对接的过程。
产品方面:遇到某个需求问题产品不接受、最后汇报领导+开会讨论了较好的处理方案。虽然过程问题比较多,但是通过项目组的集体努力,最后项目得以按时上线
说明项目(最好是简历上的项目方便面试官进一步提问)。描述有难度的地方+如何处理+结果
印象深刻的一个bug?
隐藏得比较深的bug、影响比较大的bug、处理过程比较曲折的bug。根据自己的经验描述:如何发现的、如何处理、影响、结果、反思。
举例说明:如升级版本兼容性问题、接口安全性问题、数据库安全性问题、服务器资源占用溢出问题、代码逻辑问题等
你们公司是不是敏捷开发?介绍一下敏捷开发?
是,敏捷快速迭代、多版本同时迭代
敏捷开发属于增量式开发,对于需求范围不明确、需求变更较多的项目而言可以很大程度上响应和拥抱变化、主张简单、拥抱变化、可持续性、递增的变化、高质量的工作、快速反馈、软件是你的主要目标
复盘会议的主要内容有哪些?
这点需要结合自己平时参与的项目会议举例说明。如线上bug分析、优化改进策略、bug优先级等等
App 的兼容性怎么测,App 的接口测试怎么测?
系统兼容(ios、安卓)、机型兼容(iPhone、华为、小米、三星、vivo、OPPO)、分辨率兼容、软件本身向前向后兼容
接口测试:获取接口文档,使用fiddler抓包工具获取接口的请求方式、url、请求参数、返回参数,然后使用postman、jmeter进行测试
最新最全花1W买的Python+Selenium全栈Web自动化测试
下面是我整理的2025年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
人生最精彩的不是实现梦想的瞬间,而是追梦路上那个永不言弃的自己。那些看似遥不可及的目标,终会在你日复一日的坚持中触手可及。别怕慢,怕的是停下;别怕难,怕的是放弃!
你比自己想象的更强大!每个挫折都是成长的契机,每次坚持都在改写命运的轨迹。当别人选择放弃时,你的执着就是胜利的开始。向前奔跑吧,整个世界都会为追光者让路!