












SINOZO自动化测试面试题20251225
第一部分:数据逻辑
场景设定:数据库存在两张核心业务表, 具体信息如下:
|
表名 |
字段 |
说明 |
|
t_ ad_launch(广告投放明细表) |
投放ID、广告主ID、投放金额、投放时间、投放渠道 |
记录单条广告投放的核心信息 |
|
t_ advertiser_level(广告主等级表) |
广告主ID、等级名称 |
等级分为普通/高级/VIP,关联广告主核心信息 |
1.1 SQL查询
题目 :编写SQL查询2025年内 ,每个广告主等级中投放总额排名前3的广告主ID。
答:
WITH advertiser_total AS (
SELECT
a.广告主ID,
l.等级名称,
SUM(l.投放金额) AS total_amount
FROM t_ad_launch l
JOIN t_advertiser_level a ON l.广告主ID = a.广告主ID
WHERE l.投放时间 BETWEEN '2025-01-01 00:00:00' AND '2025-12-31 23:59:59'
GROUP BY a.广告主ID, l.等级名称),
ranked AS (
SELECT
广告主ID,
等级名称,
total_amount,
ROW_NUMBER() OVER (PARTITION BY 等级名称 ORDER BY total_amount DESC) AS rk
FROM advertiser_total)SELECT 等级名称, 广告主ID, total_amountFROM rankedWHERE rk <= 3;
1.2 数据一致性分析
题目 : BI系统 当日广告投放总金额报表 ,前端展⽰值与数据库原始数据求和值不一致。从数据流转角度说出3个核心差您原因。
答:
第二部分: 自动化
场景设定:需通过自动化脚本保障广告投放核心数据统计的准确性与一致性, 完成数据校验工作。
2.2 自动化对比数据
题目 :设计Python脚本实现广告投放金额自动对账校验A库与B库中t_ad_launch表的投放金额总和sum(cost) 是否一致
答:
python
运行
import pymysql
# 数据库配置
DB_A = {"host": "", "user": "", "password": "", "database": ""}
DB_B = {"host": "", "user": "", "password": "", "database": ""}
def get_sum(db_config):
conn = pymysql.connect(**db_config)
cursor = conn.cursor()
cursor.execute("SELECT SUM(投放金额) FROM t_ad_launch")
result = cursor.fetchone()[0] or 0
cursor.close()
conn.close()
return result
sum_a = get_sum(DB_A)
sum_b = get_sum(DB_B)
print(f"A库总和:{sum_a}")print(f"B库总和:{sum_b}")
if abs(sum_a - sum_b) < 0.01:
print("对账一致")else:
print(f"对账不一致,差额:{abs(sum_a - sum_b)}")
2.3 自动化回归思路
题目 :业务新增规则:按「广告主+投放渠道J 维度统计日/周/月投放总金额 ,结果落地至业务存储表。编写自动化回归脚本时 ,如何实现测试数据自动生成与 预期结果自动计算 ,避免手工编写固定数据?
答:
第三部分: 系统理解
场景设定: 系统完整数据链路(按流转顺序):
1. 采集:广告投放端采集原始数据
2. 写入: 数据写入Kafka消息队列
3. 消费: Flink消费数据并执行实时计算
4. 计算:计算结果写入业务存储表
5. 呈现: BI报表查询数据库数据并展⽰
3.1 数据链路定位
题目 :测试发现BI报表广告投放实时数据 停止更新(数值长时间不变) 。描述分段排查思路 ,重点说明:
(1) 如何验证Kafka是否有新投放数据进入?
(2) 如何确认实时计算任务是否正常运行?
(3) 如何判断问题出在数据存储环节还是报表查询环节?
答:
3.2 系统问题排查
题目 : BI前端加载广告主月度投放趋势图表 时频繁出现504超时。结合系统架构( Redis缓存、数据库查询、微服务接口) ,分析最可能的瓶颈环节及调试思路。
答:
第四部分:测试思维
场景设定: 随着业务迭代, 系统新增功能(定向投放统计、 数据导出等) 增多, 回归测试工作量激增, 需优化测试资源分配。
4.1 需求拆解
题目 :产品新增需求广告主取消投放后 ,实时扣减当日投放总金额并同步更新BI报表。设计至少3个核心测试场景 ,覆盖关键风险点。
答:
4.2 质量改进
题目 :结合广告BI系统特点(核心为数据统计/报表展⽰ ,迭代频繁且多为计算逻辑/样怯优化),说明如何筛选功能模块:哪些优先自动化测试 ,哪些保留手工测试?简述理由。
答:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。