软件测试2025模拟面试

1、请进行自我介绍

背景​:

  • 3年软件测试经验,熟悉功能、接口、自动化测试,主导过电商/金融项目全流程测试。
  • 技术栈:Python + Selenium/Requests(UI/接口自动化)、JMeter(性能)、Postman/Charles(抓包调试)。

核心能力​:

  • 用例设计​:熟练运用等价类、边界值等方法,设计高覆盖率的测试用例。
  • 缺陷挖掘​:擅长定位前后端交互问题(如接口超时、数据不一致)。
  • 效率提升​:通过自动化脚本(Pytest+Allure)减少60%回归测试时间。

项目亮点​:

  • 在XX项目中,通过参数化+数据驱动测试,发现支付模块的并发扣款BUG,提升系统可靠性。

职业态度​:

  • 严谨细致,注重团队协作,持续学习新技术(如CI/CD集成测试)。

结束语​:
希望用我的经验为贵团队的质量保障贡献力量!

(可根据实际经历调整技术栈和项目细节)

2、请介绍一下你做过的这个电商项目,以及你在项目中的主要工作任务

项目简介​:
我参与过一个B2C电商平台测试,主要功能包括商品展示、购物车、订单支付、会员系统等,采用前后端分离架构(前端Vue.js + 后端Java Spring Boot)。

我的主要任务​:

  1. 需求分析​:参与评审PRD,提取测试点,输出测试用例(覆盖功能、边界、异常场景)。
  2. 功能测试​:执行订单流程、优惠券计算、支付接口等核心功能测试,提交Bug并跟踪修复。
  3. 接口测试​:用Postman+Newman做API自动化测试,验证数据一致性(如库存扣减)。
  4. 性能测试​:通过JMeter模拟高并发下单,分析响应时间及数据库瓶颈。
  5. 上线支持​:监控生产环境日志,复现用户反馈问题,推动优化。

成果​:发现并修复关键Bug 30+,支付成功率提升5%。

(可根据实际项目调整技术栈和细节)

3、请围绕APP前台的订单功能,包括下单到发货再到收货再到评价,完整个的介绍订单业务及你测在测试时都覆盖了哪些测试点?

1. 订单业务全流程

  1. 下单​:选择商品→填写地址→选择支付方式→提交订单→支付成功→生成订单。
  2. 发货​:商家后台审核订单→仓库拣货→物流发货→更新物流信息。
  3. 收货​:用户确认收货→订单状态更新为“已完成”。
  4. 评价​:用户对商品/服务评价→评价内容展示→商家回复(可选)。

2. 测试覆盖点

​(1)下单阶段

  • 功能​:商品库存实时扣减、优惠券/积分抵扣、多支付方式(微信/支付宝/银行卡)兼容性。
  • 异常​:库存不足提示、支付超时/失败订单回滚、重复提交防抖。

​(2)发货阶段

  • 数据一致性​:订单状态同步(“待发货”→“已发货”)、物流单号正确性。
  • 异常​:发货超时提醒、物流信息未更新兜底逻辑。

​(3)收货阶段

  • 超时自动确认​:N天后未操作自动收货(如7天)。
  • 退款逆向流程​:收货前申请退款/退货的逆向逻辑。

​(4)评价阶段

  • 防刷评价​:仅完成订单可评价、敏感词过滤。
  • 数据展示​:评价星级计算、商家回复同步前端。

​(5)其他测试

  • 性能​:高并发下单(如秒杀)的库存准确性。
  • 安全​:订单ID防篡改、用户隐私(手机号脱敏)。

成果​:保障订单成功率>99.5%,支付/物流超时率下降30%。

(可根据实际项目补充细节,如自动化测试覆盖率、埋点验证等)

4、请介绍支付功能如何测试的,有哪些测试点

1. 核心测试点

​(1)支付流程测试

  • 正常支付​:选择支付方式(微信/支付宝/银行卡)→支付成功→订单状态更新为“已支付”。
  • 支付中断​:支付中途取消/退出,检查订单状态(保持“待支付”)。
  • 重复支付​:同一订单多次支付,防重复扣款(仅第一次生效)。

​(2)支付方式兼容性

  • 多平台覆盖​:微信/支付宝/银联/Apple Pay等主流支付方式。
  • 多环境适配​:H5/APP/小程序不同端支付流程一致性。

​(3)异常场景测试

  • 支付失败​:余额不足、银行卡限额、网络中断,检查友好提示及订单状态回滚。
  • 支付超时​:模拟支付平台延迟响应,验证订单超时关闭逻辑(如30分钟未支付自动取消)。

​(4)数据一致性

  • 金额校验​:订单金额与支付金额一致(含优惠券/运费抵扣)。
  • 状态同步​:支付成功后,订单、库存、用户权益(如积分)同步更新。

2. 其他测试维度

  • 性能测试​:高并发支付(如秒杀)时接口响应时间及成功率。
  • 安全测试​:支付参数加密(防篡改)、敏感信息脱敏(如卡号)。
  • 对账测试​:支付记录与财务系统对账,确保无漏单/重复单。

成果​:支付成功率≥99.8%,异常场景覆盖100%。

(可根据实际项目补充:自动化测试、Mock支付接口、风控规则验证等)

5、对于APP端,都测试过哪些手机,分别覆盖了哪些分辨率及操作系统 

APP兼容性测试覆盖范围

1. 测试机型覆盖

  • 主流品牌​:华为、小米、OPPO、vivo、荣耀、iPhone、三星
  • 重点机型​:
    • 高端机​:iPhone 15 Pro、华为Mate 60、小米14
    • 中端机​:OPPO Reno 10、vivo S18、Redmi K70
    • 低端机​:Redmi Note 13、荣耀X50

2. 分辨率覆盖

  • 常见分辨率​:
    • 1080P(FHD)​​:2340×1080、2400×1080(主流安卓)
    • 2K/4K​:3200×1440(部分高端机)
    • 刘海屏/挖孔屏​:iPhone 14 Pro(2556×1179)、华为P60(2700×1220)
    • 折叠屏​:华为Mate X5(2496×2224展开态)

3. 操作系统覆盖

  • Android​:
    • 主流版本:Android 12/13/14
    • 低版本兼容:Android 10/11(覆盖老旧机型)
  • iOS​:
    • 最新版:iOS 17
    • 旧版兼容:iOS 15/16(覆盖未升级用户)

4. 特殊场景覆盖

  • 全面屏适配​:水滴屏、刘海屏、挖孔屏
  • 折叠屏适配​:展开/折叠状态UI适配
  • 横竖屏切换​:支付/视频播放等场景

测试策略​:

  • 云测平台​(如Testin、Firebase)覆盖90%+主流机型
  • 真机重点测试​:Top 20销量机型 + 低配/特殊屏占比机型

(可根据项目实际调整,如海外市场需增加三星/Google Pixel机型)

6、请介绍你们发现Bug后的处理流程
  1. 提交Bug

    • 在缺陷管理工具(如Jira、禅道)中记录,包含:​复现步骤、截图/日志、严重等级(P0-P3)​
  2. 分配&修复

    • 开发确认​:负责人分析原因,修复并标记状态为“已解决”。
    • 争议处理​:若开发认为“非Bug”,需三方(测试+产品+开发)讨论确认。
  3. 回归验证

    • 测试验证修复结果,通过后关闭Bug;未通过则重新激活。
  4. 跟踪闭环

    • 统计Bug解决率、复盘高频问题(如支付超时),推动优化。

关键点​:

  • P0级Bug​(如支付失败)需立即阻塞发布,其他Bug按优先级排期。
  • 自动化回归​:修复后触发相关用例,确保无回归问题。

(流程可根据团队规范调整,如敏捷团队可能合并部分步骤)

7、请介绍你们的Bug分为几个等级及每个等级的判断标准

1. 等级划分(P0-P3)​

等级 标准 处理优先级 示例
P0(致命)​ 导致系统崩溃、核心功能完全不可用,必须立即修复 最高 支付失败、APP闪退、数据丢失
P1(严重)​ 主要功能异常,影响用户体验,但可绕行 订单无法提交、商品价格错误
P2(一般)​ 次要功能问题,对使用影响较小 UI错位、非必现的显示错误
P3(轻微)​ 界面优化建议或低概率非阻塞性问题 文字描述不准确、颜色偏差

2. 补充规则

  • 安全漏洞​:无论等级,均视为P0(如用户数据泄露)。
  • 争议处理​:若测试与开发对等级意见不一致,需产品经理仲裁

目标​:确保P0/P1 100%修复后上线,P2/P3视版本周期安排。

8、当发现Bug时,开发不认可,你如何处理
  1. 明确争议点​:

    • 确认开发不认可的原因(如“非缺陷”“无法复现”“需求理解差异”)。
  2. 提供证据​:

    • 补充复现步骤、日志、截图/视频,或拉取相同环境(设备/数据)复现。
  3. 三方确认​:

    • 邀请产品经理(PO)​介入,根据需求文档判定是否为Bug。
  4. 记录决策​:

    • 若确认为Bug,开发需修复;若非Bug,关闭并备注原因(避免后续争议)。

关键原则​:

  • 对事不对人,用客观证据沟通。
  • 争议较大时,可暂标记为“待确认”,避免阻塞流程。
9、请介绍在工作中,你如何做接口自动化工作的
  1. 需求分析

    • 梳理核心接口(如登录、支付、订单),确定自动化覆盖范围。
  2. 框架搭建

    • 使用Python + pytest/Requests​(或 ​Java + RestAssured)构建框架,集成Allure生成报告。
    • 关键组件:
      • 公共方法封装(如签名生成、数据库校验)
      • 数据驱动(Excel/YAML管理测试数据)
      • 环境配置(DEV/TEST/PROD多环境切换)
  3. 脚本开发

    • 编写正向/异常用例(如参数异常、鉴权失败)。
    • 添加断言:状态码、响应数据、数据库一致性(如支付后余额校验)。
  4. 执行与监控

    • CI/CD集成​(Jenkins/GitLab CI定时触发)。
    • 失败用例自动重试,关键接口实时告警(邮件/钉钉)。
  5. 持续优化

    • 定期补充新接口,清理冗余脚本,提升用例执行效率。

成果示例​:

  • 覆盖80%+核心接口,回归时间从2小时缩短至15分钟。
  • 发现接口逻辑Bug 20+(如并发下单库存超卖)。

(可根据实际技术栈调整,如Postman+Newman方案)

10、请介绍你都会用哪些测试用例设计方法,结合项目分别举例该方法具体如何使用的

测试用例设计方法及项目应用

1. 等价类划分

场景​:用户注册(手机号校验)

  • 有效等价类​:11位大陆手机号(如13812341234)→ 允许注册。
  • 无效等价类​:10位号码、含字母、境外号码 → 提示“格式错误”。

2. 边界值分析

场景​:商品购买数量限制(1~99件)

  • 测试点​:
    • 最小值:1件(成功)、0件(禁止)。
    • 最大值:99件(成功)、100件(提示超限)。

3. 场景法(流程覆盖)​

场景​:订单支付 → 退款流程

  • 主流程​:支付成功 → 申请退款 → 退款到账。
  • 异常流​:支付超时后重复支付 → 仅退款最后一笔。

4. 错误推测法

场景​:支付接口安全测试

  • 非常规输入​:金额传-1、支付ID篡改 → 拦截并返回“参数非法”。

5. 判定表

场景​:优惠券叠加规则(满减券 + 折扣券)

满减券可用 折扣券可用 结果
仅满减券生效
满减券生效
折扣券生效

6. 正交试验法

场景​:多条件搜索(价格区间 + 品牌 + 分类)

  • 正交工具生成最少用例组合,覆盖所有参数交互。

项目成果​:

  • 等价类+边界值减少30%冗余用例,错误推测法发现隐藏Bug 15+。

(方法选择需结合业务复杂度,如金融系统需强化判定表/安全测试)

11、讲一下你知道的Linux命令

文件/目录操作

  • ls -l:查看详细信息(权限/大小)
  • cd ~:切换到家目录
  • cp -r dir1 dir2:递归复制目录
  • rm -rf *:强制删除(慎用!)
  • chmod 755 file:修改文件权限

2. 文本处理

  • cat file.log:查看文件内容
  • grep "error" log.txt:搜索关键词
  • tail -f log.txt:实时追踪日志
  • sed -i 's/old/new/g' file:批量替换文本

3. 系统监控

  • top:实时监控CPU/内存
  • df -h:查看磁盘空间
  • free -m:显示内存使用
  • ps -ef | grep nginx:查找进程

4. 网络管理

  • ping baidu.com:测试网络连通性
  • netstat -tulnp:查看端口占用
  • scp file user@ip:/path:远程传输文件

5. 压缩/解压

  • tar -czvf archive.tar.gz dir:压缩目录
  • unzip file.zip:解压zip文件

6. 权限/用户

  • sudo command:以管理员身份执行
  • useradd username:创建用户
  • passwd username:修改密码

高频组合命令​:

# 统计日志中404错误的次数  
grep "404" access.log | wc -l  

# 查找并杀死进程  
ps -ef | grep java | awk '{print $2}' | xargs kill -9  

(根据实际需求扩展,如awk高级文本处理、crontab定时任务)

​:

12、讲一下你知道的ADB命令

常用ADB命令速查

1. 设备连接与管理

  • adb devices:查看已连接的设备
  • adb connect <IP:端口>:连接远程设备(如模拟器)
  • adb disconnect:断开设备
  • adb kill-server:重启ADB服务

2. 安装与卸载应用

  • adb install app.apk:安装APK
  • adb install -r app.apk:覆盖安装(保留数据)
  • adb uninstall <包名>:卸载应用

3. 文件操作

  • adb push local.txt /sdcard/:电脑→设备传输文件
  • adb pull /sdcard/file.txt ~/:设备→电脑拉取文件
  • adb shell ls /sdcard:查看设备文件列表

4. 日志与调试

  • adb logcat:查看实时日志
  • adb logcat -s TAG:过滤特定标签日志(如ActivityManager
  • adb logcat > log.txt:保存日志到文件
  • adb bugreport:生成完整设备报告

5. 应用与进程控制

  • adb shell am start -n <包名/Activity>:启动应用(如com.android.settings/.Settings
  • adb shell pm list packages:列出所有应用包名
  • adb shell ps | grep <包名>:查看应用进程

6. 模拟操作

  • adb shell input tap x y:点击屏幕坐标
  • adb shell input swipe x1 y1 x2 y2:滑动屏幕
  • adb shell input text "hello":输入文本

7. 性能监控

  • adb shell dumpsys cpuinfo:查看CPU占用
  • adb shell dumpsys meminfo <包名>:查看应用内存

8. 截图与录屏

  • adb shell screencap /sdcard/screen.png:截图
  • adb shell screenrecord /sdcard/video.mp4:录屏(Ctrl+C停止)

高频组合命令​:

# 清除应用数据  
adb shell pm clear <包名>  

# 重启设备  
adb reboot  

(适用于Android测试、自动化脚本开发)

13、讲一下你如何使用Monkey对APP进行稳定性测试的

1. 基础命令

adb shell monkey -p <包名> -v 5000  
  • -p:指定测试的APP包名
  • -v:日志详细级别(1~3,-v -v -v最详细)
  • 5000:随机事件次数

2. 常用参数

  • 事件控制​:
    • --throttle 300:事件间隔300ms(模拟用户操作速度)
    • --pct-touch 60:60%事件为触屏操作(其余如滑动、按键可调整)
  • 异常处理​:
    • --ignore-crashes:崩溃后继续测试
    • --ignore-timeouts:ANR后继续测试
  • 日志输出​:
    • > monkey.log:保存日志到文件

3. 测试场景示例

# 对微信进行10万次随机操作,侧重触屏和滑动,忽略崩溃  
adb shell monkey -p com.tencent.mm \  
  --throttle 200 \  
  --pct-touch 70 \  
  --pct-motion 20 \  
  --ignore-crashes \  
  --ignore-timeouts \  
  -v -v -v 100000 > monkey.log  

4. 结果分析

  • 日志过滤关键词​:
    • CRASHANRException:定位崩溃/无响应问题
    • Failed to post event:事件注入失败(可能权限问题)
  • 统计指标​:
    • 测试时长、事件完成率、崩溃/ANR次数

5. 进阶技巧

  • 白名单测试​:通过--pkg-whitelist-file限制只测试特定APP组合
  • 种子复现​:-s 123固定随机种子,复现问题路径

输出结果示例​:

Events injected: 100000  
// CRASH 统计  
​**​ System appears crashed (1次)  
// ANR 统计  
ANR in com.tencent.mm (2次)  

(适用于快速验证APP抗压能力,需结合Crash日志具体分析)

14、数据库的左连接与右连接有什么区别

左连接 vs 右连接的区别

1. 核心区别

连接类型 保留数据规则 结果集特点
左连接(LEFT JOIN)​ 保留左表全部数据,右表无匹配则填NULL 结果行数 ≥ 左表行数
右连接(RIGHT JOIN)​ 保留右表全部数据,左表无匹配则填NULL 结果行数 ≥ 右表行数

2. 示例对比

  • 表结构​:
    • 左表 users(用户信息)
    • 右表 orders(订单信息)
-- 左连接:查所有用户(含无订单用户)  
SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id;  

-- 右连接:查所有订单(含无用户信息的订单)  
SELECT * FROM users RIGHT JOIN orders ON users.id = orders.user_id;  

3. 使用场景

  • 左连接​:主表为左表时(如“统计用户下单情况,包括未下单用户”)
  • 右连接​:主表为右表时(如“分析订单归属,包括异常无主订单”)

​:实际开发中,左连接更常用,右连接通常可改写为左连接(调换表顺序)。

15、MySQL中如何查询前10条,直接讲关键字即可

关键字:​

SELECT * FROM 表名 LIMIT 10;

扩展用法:​

  • 分页查询(第2页,每页10条)​
    SELECT * FROM 表名 LIMIT 10 OFFSET 10;
    -- 或简写为:
    SELECT * FROM 表名 LIMIT 10, 10;

LIMIT 是MySQL核心分页关键字)

​:

16、Fiddler抓包时需要设置什么?有没有用Fiddler抓过APP的包,如何抓的?

1. 基础设置

  • 允许HTTPS解密​:
    Tools > Options > HTTPS → 勾选 Decrypt HTTPS traffic,安装证书。
  • 允许远程连接​:
    Tools > Options > Connections → 勾选 Allow remote computers to connect(默认端口8888)。

2. 抓APP包的步骤

  1. 手机与电脑同网络​:连接同一Wi-Fi。
  2. 手机配置代理​:
    • 手动设置代理:电脑IP:8888(如192.168.1.100:8888)。
    • iOS/Android均需安装Fiddler证书​(浏览器访问http://电脑IP:8888下载)。
  3. 开始抓包​:
    • 操作APP,Fiddler自动捕获请求(过滤域名:Filters > Hosts)。

3. 关键注意事项

  • 抓不到包?​​ 检查防火墙、代理是否生效,或APP是否禁用代理(如微信)。
  • Android 7+​​:需APP信任用户证书(或系统级证书)。

示例场景​:抓取APP登录接口,分析请求参数/响应数据。

1、请进行自我介绍

背景​:

1、请进行自我介绍

背景​:

1、请进行自我介绍

背景​:

猜你喜欢

  • 一般网络小说写周围的环境怎么写?

    在写网络小说时,环境描写是烘托氛围、塑造世界观的重要手段。以下是简洁实用的技巧和示例:​1. 自然环境(最常用)​​ ​要素​:天气、光线、植被、地形 ​示例​: "血月悬空,枯树林在风中发出呜咽般的声响,腐叶下的泥沼咕

  • 太操心的人是不是寿命都不长?

    这是一个非常深刻且普遍的问题。答案是:​不一定,但长期、过度的操心(慢性压力)确实会显著增加多种疾病的风险,从而可能缩短寿命。​​ 我们可以把它看作一个概率和健康管理的问题。关键在于&ldquo;操心&rdquo;的程度、持

  • 主角所处的村庄该怎么写—村庄环境描写模板(网络小说适用)

    ​村庄环境描写模板(网络小说适用)​​​1. 先定基调(1句话确立风格)​​ ​玄幻​: "黑石村常年笼罩在灰雾里,村口那棵枯死的槐树上挂满褪色的符纸,风一吹便簌簌作响,像亡魂的絮语。" ​种田​: "青溪村依山傍水,稻田如棋盘

  • Bitwarden那可以保存加密货币钱包密钥或者助记词吗?

    从功能上,可以。但从安全实践上,强烈不建议。​​ 这是一个非常重要且严肃的问题。我可以为您详细拆解其中的利弊,以便您做出最安全的决定。 核心结论 ​从技术上讲​:Bitwarden 可以存储任何文本信息,包括您的助记词、

  • 自己组装一个台式电脑,到底难不难?

    自己组装一台台式电脑,就像在玩乐高积木,但多了一份对知识的尊重和对成功的期待。​说难不难,说易不易,关键在&ldquo;准备&rdquo;二字。​​对于新手来说,它是一场有趣的挑战,而不是一项可怕的任务。核心可以概括为:​​&ldq

  • 软件生命周期

    软件生命周期活动 角色与职责 产出 项目计划 角色:项目经理 职责:管控整个项目组;制定项目计划(包括开发一些安排、测试的一些安排、配置管理安排)、时间分配、人员角色职责制定、工作任务分配、成本估

  • 鱼罐头真的没有防腐剂吗?我想买鱼罐头,但还是担心不良企业向罐头里添加防腐剂等科技狠活

    这是一个非常好的问题,也是很多消费者共同的顾虑。您的担忧很常见,但好消息是:在这个问题上,您可以放宽心。 ​正规、合法生产的鱼罐头,确实可以做到不添加任何防腐剂。​​核心原理:商业无菌 + 密封 罐头的核心技术,是一种

  • Bitwarden我可以安装在自己的云服务器上,然后用手机电脑都可以访问,对吧

    完全正确!这正是Bitwarden最强大、最核心的亮点之一!​​ 您的想法非常棒,也是很多高级用户和安全专家的选择。这被称为 ​​&ldquo;自托管&rdquo;​​ 部署模式,它为您提供了终极的数据控制权。 自托管(Self-Hosted)是什

  • 软件测试2025年面试题汇总

    1、请进行自我介绍背景​: 3年软件测试经验,熟悉功能、接口、自动化测试,主导过电商/金融项目全流程测试。 技术栈:Python + Selenium/Requests(UI/接口自动化)、JMeter(性能)、Postman/Charles(抓包调试)。​核心能力​: ​用例

  • 如何买到真正“零添加”的安心鱼罐头?

    虽然可以无防腐剂,但企业为了风味、口感、品相,可能会添加其他物质。如果您想追求最纯粹的,请按以下步骤挑选:1、​看产品类型​:选择 ​​&ldquo;水浸&rdquo;​​ 或 ​​&ldquo;矿泉水浸&rdquo;​​ 的,添加剂通常最少。