我的面试总结
自我介绍、工作经历、深刻问题:项目缺陷问题总结 - 云云淡淡 - 博客园
评审:本次修改与其他基础功能是否保持一致。
开发:char和varchar,varchar存储可变长度字符串,节省存储空间。
用例:确定预期结果、构造相关测试数据。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 技术
数据库:
内连接join,左连接Left Join,右连接Right Join。返回左表(Left Table)的所有记录,右表没有则null
like '%value';in and or orderby , insert into update delete;union消除重复行,union all不消;
分页select top 10 表.字段。。。 DROP :删除整个表(包括结构和数据),不可逆操作 DELETE :删除表中的数据,保留表结构。可逆 TRUNCATE :删除表中的所有数据,保留表结构,不可逆
Linux:
创建touch mkdir,删除rmdir rm-rf,移动move,复制cp,查找find,编辑vim,压缩tar,
cd打开,ll, ls,cat,find,Mv改名或移动,rm
tail -500f normal.log、gg定位光标到最开始行,shift gg
vim打开搜关键词n查找下一个,shift n查找上一个 chmod ,chown, 挂载mount,unmount 查找grep -n test file.txt du展示占用磁盘空间 查找指定进程格式: ps -ef | grep test Ps -aux 显示所有使用者的进程 scp Linux 之间复制文件和目录。 Sed编辑文件 场景: 系统报警显示了时间,但是日志文件太大无法直接 cat 查看。(查询含有特定文本的文件,并拿到这些文本所在的行) grep -n “时间” test.log 场景:从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行 find / -type f(文本文件) -name (扩展名)“*.log” |xargs grep “error”
adb命令
|
命令
|
说明
|
备注
|
|---|---|---|
adb devices |
查看已连接的设备列表
|
检查设备号是否显示,状态是否为 device
|
adb kill-server |
停止 ADB 服务
|
遇到设备连接异常或卡顿时使用
|
adb start-server |
启动 ADB 服务
|
通常与上一条连用
|
adb connect <IP>:5555 |
无线连接设备
|
需先用 USB 连接并开启端口 (
adb tcpip 5555) |
应用安装与卸载
| 命令 | 说明 | 备注 |
|---|---|---|
adb install <APK路径> |
安装应用 | 例如:adb install D:\app-debug.apk |
adb install -r <APK路径> |
覆盖安装(保留数据) | 测试升级场景时常用 |
adb uninstall <包名> |
卸载应用 | 例如:adb uninstall com.example.app |
adb shell pm clear <包名> |
清除应用数据 | 高频:相当于“恢复出厂设置”,用于测试冷启动 |
日志抓取
| 命令 | 说明 | 备注 |
|---|---|---|
adb logcat |
实时打印所有日志 | 信息量巨大,通常配合过滤使用 |
adb logcat -v time |
打印带时间戳的日志 | 方便定位问题发生的具体时间 |
adb logcat *:E |
仅显示错误日志 | 高频:快速定位崩溃点 |
adb logcat -s <TAG> |
按标签过滤日志 | 例如:adb logcat -s CrashHandler |
adb logcat -c |
清空当前日志缓存 | 复现 Bug 前建议先执行此命令 |
adb logcat > D:\log.txt |
将日志导出到文件 | 用于提交缺陷单时附带日志 |
模拟用户操作
| 命令 | 说明 | 示例 |
|---|---|---|
adb shell input tap <x> <y> |
点击屏幕坐标 | adb shell input tap 500 1000 |
adb shell input swipe <x1> <y1> <x2> <y2> <时长> |
滑动/拖拽 | adb shell input swipe 300 1000 300 500 500 (向上滑动) |
adb shell input text "内容" |
输入文本 | adb shell input text "HelloWorld" (不支持中文) |
adb shell input keyevent <代码> |
模拟按键 | 3=Home键, 4=返回键, 26=电源键 |
* 如果遇到“command not found”或“无法识别”的提示,请检查你的 ADB 环境变量是否配置正确,或者直接在 SDK 的 platform-tools 目录下打开命令行窗口运行
性能:性能指标来源的定义
响应时间:前端看客户端的响应时间,后端看接口从请求到响应返回的时间,前端看 加载速度。流量
并发用户数:同一时间点请求服务器的用户数,支持的最大并发数。
内存占用:也就是内存开销。
吞吐量(TPS):每秒事务数。在没有遇到性能瓶颈时:TPS=并发用户数*事务数/响应时间。
错误率:失败的事务数/事务总数。
资源使用率:CPU占用率、内存使用率、磁盘I/O、网络I/O。
稳定性
原文链接:https://blog.csdn.net/Tester_muller/article/details/139120686
安全:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.功能:
功能+界面+安全性+易用性+兼容性+性能
测试用例(二):微信发红包测试用例(最新版)_微信红包测试-CSDN博客
测试理论:八大黑盒测试方法总结【超详细】_黑盒测试的八大测试方法-CSDN博客、详解软件测试中白盒测试基本概念及四种白盒测试方法以及六种逻辑覆盖法(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)-CSDN博客
测试方法:
黑盒
等价类划分法:设计有效/无效等价类数据验证
边界值分析法:上,下,随机中间。bit 0-1,byte 0-225,
错误推测法:经验和直觉推测程序中所有可能存在的各种错误
因果图法:输入条件的各种组合。恒等,非,与,或。可以画出判定表
判定表法:来源因果图
正交实验法:来源因果图
功能图:动:输入数据的次序或转移的次序,静:输入条件与输出条件之间的对应关系
场景设计
白盒
逻辑覆盖法:
-
语句覆盖(SC);被测程序中每条语句至少执行一次
-
判定覆盖(DC);每个判定语句的取真和取假分支至少被执行一次。
-
条件覆盖(CC);每个逻辑条件取真值与取假值至少出现一次
-
判定-条件覆盖(CDC);所有条件的可能取值至少出现一次,所有判定语句的可能结果也至少出现一次
-
条件组合覆盖(MCC);每个判定中条件的各种可能组合都至少执行一次
-
路径覆盖:每一条可能组合的路径都至少执行一次
基本路径法
程序插装
灰盒:关注输出对于输入的正确性;同时也关注内部表现
软件生命周期:
制定计划(P)、需求分析(D)、设计(D)、程序编码(D)、测试(C)、运行维护(A)
敏捷发布,火车发布
瀑布模型:需求分析,软件需求,分析,设计,编码,测试,运行
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
python
05-Python—列表、元祖、字典、集合操作大全:建议收藏_分别定义一个列表元组字典和集合-CSDN博客
自动化:自动化框架,复杂业务
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
案例编写-总计金额:ui,接口,
需求分析-查询交易:ui测试,单条件查询,多条件查询,是否有基础限制
测试职责
业务:金融行业经验
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Charles弱网模拟:测试app能否缓存数据
操作步骤 开启代理:打开 Charles,点击菜单栏 Proxy -> Throttle Settings。 配置参数: 勾选 Enable Throttling。 Preset(预设):选择 3G 或 Slow 3G(模拟地库信号)。 Custom(自定义):你可以模拟“高丢包”场景,设置 Packet Loss 为 10%-30%,模拟数据上传丢失。 生效范围:建议只勾选 Only for selected hosts,填入你的汽车App接口域名,避免影响手机其他应用上网。
性能测试:测试app是否会内存溢出与卡顿
把应用放在后台24小时,然后再验证页面内容 思路:写一个Python脚本,每隔1小时通过ADB命令抓取一次内存和CPU数据。 命令参考: 查内存:adb shell dumpsys meminfo <你的包名> 查CPU:adb shell top -n 1 | grep <你的包名> 目的:画出24小时的资源消耗曲线,如果曲线一直往上涨,就是内存泄漏。
兼容性测试
安卓、iOS
三星、华为、小米、苹果
安全性测试:修改数据 相当于 mock 数据
1. 设置断点,ctrl+b 2. 页面刷新,Charles 出现弹框 3. 修改数据,如果是参数传的,修改传参,如果是响应数据后端做的,改响应数据 4. 观察app页面,数值是否展示位修改后的,观察数据库的只是不是修改后的。
- NoSQL:很多 App 的缓存、Token、验证码存在 Redis 里,测试时需要去查。

浙公网安备 33010602011771号