软件测试会大概问的一些问题整理续

本文详细介绍了移动APP测试中Crash的常见原因,如内存泄露、代码不规范等,并对比了安卓与iOS APP测试的不同之处及移动App测试与PC端测试的主要区别。

一、移动APP的Crash的分类(产生的原因):

   1.内存泄露;--安卓和iOS都有自己可以去检测的方法;测试人员可以使用工具发现;

   2.开发人员代码不规范,基础不扎实;(数组越界;并发操作,逻辑错误,堆栈溢出)

   3.SDK错误

   4.主线程阻塞;响应时间比较长,程序挂起;

 

 二、安卓和IOS APP测试的区别,个人总结一些:

  

         1.安卓碎片化;版本多;适配多 ,iOS相比比较少;风格不一

         2.开源和封闭;

         3.易用性,操作方面;iOS支持手势比较多样;因为物理按键少;

         4.安全性,iOS高于安卓;

         5.崩溃处理方式不一样;iOS直接闪退;Android会先卡顿;再弹出一个提示框

 

三、移动App测试和PC端测试区别

1.一个是 B/S (web端) 一个 是C/S(客户端) 系统结构方面不同   

2. 兼容 web(操作系统和浏览器);客户端 (操作系统和手机型号 以及屏幕分辨率) 

 3 对比web  客户端 需要关注(所谓的专项测试包括 弱网 、 安装 、更新、卸载 、权限、界面手势操作、安全)

 

 

 

 

  

 

 

 

<think>我们根据用户的问题,需要整理软件测试工程师面试常见技术问题及参考答案。结合用户提供的引用内容,我们可以将问题分为多个类别,并给出参考答案。注意,用户引用中提供了一些具体问题,我们可以在此基础上扩展。分类参考:1.测试基础理论2.功能测试(用例设计)3.接口测试4.性能测试5.安全测试6.数据库/SQL7.测试流程与质量8.自动化测试9.移动端测试(App测试)10.网络基础注意:每个问题后附参考答案,并适当引用用户提供的引用内容。开始整理:</think>### 软件测试工程师面试常见技术问题及参考答案 结合高频考点和实际面试场景,以下是分类整理的核心问题及回答要点(★标记为必考题): --- #### **一、测试基础与流程** 1. **测试方法论应用** - **问题**:如何设计微信红包功能的测试用例?边界值分析如何应用? - **参考答案**: - **功能维度**:金额边界(0.01/200元)、红包个数(1/100人)、过期时间(24h/立即失效) - **异常场景**:余额不足、网络中断、重复领取[^4] - **边界值应用**:针对金额字段测试`$0$`、`$0.01$`、`$199.99$`、`$200$`、`$200.01$` > 用例示例:发送金额为`$0$`的红包应提示"金额不可为零"[^1] 2. **缺陷处理流程** - **问题**:开发不认可你提交的缺陷时如何处理? - **参考答案**: ```mermaid graph LR A[复现缺陷] --> B[提供完整证据链] B --> C[对照需求文档] C --> D[邀请第三方验证] D --> E[记录争议过程] ``` 关键点:用屏幕录像/日志/接口返回码证明,避免情绪化争论[^1] --- #### **二、接口与性能测试** 3. **接口测试实施** - **问题**:如何开展HTTP接口测试?需要验证哪些点? - **参考答案**: - **核心验证项**: ```markdown 1. 状态码(404/500/200) 2. 数据结构(JSON字段缺失/类型错误) 3. 业务逻辑(支付接口扣款与订单状态联动) 4. 异常处理(参数缺失/非法字符) ``` - **工具链**:Postman(基础) + Python Requests(自动化) + Charles(抓包)[^2] 4. **性能测试场景设计** - **问题**:负载测试与压力测试的区别?如何搭建测试环境? - **参考答案**: | 测试类型 | 目标 | 关键指标 | |---|---|---| | 负载测试 | 验证既定负载下的表现 | 响应时间≤`$2s$`, 错误率<`$0.1\%$` | | 压力测试 | 探索系统崩溃临界点 | 内存泄漏/线程死锁 | > 环境搭建要点:生产环境镜像、网络隔离、监控工具(Jmeter+Grafana)[^3] --- #### **三、数据库与安全** 5. **SQL验证数据质量** - **问题**:如何用SQL检查订单系统的外键约束? - **参考答案**: ```sql /* 检测无效用户关联订单 */ SELECT order_id, user_id FROM orders WHERE user_id NOT IN (SELECT user_id FROM users); /* 京东项目实践:用该语句发现27张表中的`$1.2\%$`脏数据 */[^5] ``` 6. **安全测试要点** - **问题**:金融类App需关注哪些OWASP Top 10风险? - **参考答案**: - **高危项**:越权访(如用户A查看用户B保单)、CSRF(跨站请求伪造) - **测试方法**:Burp Suite扫描 + 手工渗透(修改Cookie中的用户ID)[^2] > 案例:电子保函平台曾发现未授权API可下载所有用户协议 --- #### **四、自动化与专项测试** 7. **自动化框架设计** - **问题**:Pytest相比Unittest的优势?如何处理失败用例重试? - **参考答案**: - **Pytest优势**: ```python # 1. 参数化更简洁 @pytest.mark.parametrize("input,expected", [("3+5", 8), ("10-2", 8)]) # 2. Fixture依赖管理(优于setUp/tearDown) @pytest.fixture(scope="module") def login(): return AuthAPI.login() ``` - **重试机制**:`pytest-rerunfailures`插件 + 异常截图存档 8. **App专项测试** - **问题**:移动端测试需特别关注哪些场景? - **参考答案**: | 测试类型 | Android重点 | iOS重点 | |---|---|---| | 安装卸载 | APK签名校验、权限动态申请 | TestFlight分发 | 升级测试 | 增量更新、断点传 | 强制更新逻辑 | 兼容性 | 碎片化机型(`$1080\times2400$` vs `$720\times1600$`) | 刘海屏适配[^4] --- #### **五、质量保障与定位** 9. **测试左移实施** - **问题**:如何在敏捷流程中实践测试左移? - **参考答案**: - **需求阶段**:参与UC评审,提前识别模糊需求 - **开发阶段**:单元测试覆盖率达`$80\%$` + 每日构建冒烟测试 > 京东项目成果:需求缺陷减少`$40\%$`,提测阻塞率下降`$65\%$` 10. **复杂问题定位** - **问题**:支付超时问题如何多维度定位? - **参考答案**: ```mermaid graph TD A[现象:支付成功率下降] --> B[网络层:Ping网关延迟] A --> C[服务层:DB连接池监控] A --> D[数据层:订单流水号冲突] ``` 核心工具:ELK日志分析 + 链路追踪(Jaeger) --- ### 高频进阶问题延伸 1. **如何证明自动化测试ROI?** - 计算公式: $$ \text{ROI} = \frac{\text{手工测试成本} - \text{自动化维护成本}}{\text{自动化开发成本}} \times 100\% $$ - 实例:某迭代手工执行需`$80$`人时,自动化脚本维护`$5$`人时,开发投入`$40$`人时 → **ROI=187.5%** 2. **接口加密测试方案** - 步骤: 1. Charles抓包获取加密参数 2. 用Python还原加密算法(如AES/CBC) 3. Postman Pre-request Script动态生成签名 > **面试策略**:回答时结合 **STAR法则**(如:在天猫数据仓库项目中,通过`$SQL$`验证`$28$`张表的数据一致性,使上线故障率下降`$70\%$`)[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值