大数据产品自动化测试介绍及当当实战经验


揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品自动化测试介绍及当当实战经验 张亚民 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 什么是搜索,推荐与广告? • 搜索是通过用户输入的关键词,返回与关键词相关的商品给用户。 • 推荐是根据一定的场景为用户提供一些优质的或个性化的商品给用户选择。 • 广告是通过商家购买的方式给更多优质商品更多的曝光机会,让商家与用户 共赢。 • 总结:信息过载的情况下让用户更加快速方便的获得感兴趣的商品。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 它们有什么特点? • 基于大数据技术,数据挖据与机器学习。 • 依赖于模型与算法。 • 表现出来的业务逻辑简单,但是内部实现逻辑复杂。 • 无明确预期结果。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 如何保证它们的质量? • 基础功能自动化 • 思路的转变,"对错"到"好坏" • 通用测评方法NDCG • 深入机器学习,层层把关 • 灰度发布,线上测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 基础功能自动化 输 入 输 出搜索系统 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 基础功能自动化 • 剥离基础功能  单维度排序(价格,销量,好评等)  单维度过滤(当当自营,尾品会,新品会等)  黑名单(搜索页黑名单,列表页黑名单)  垂搜(百货垂搜,图书垂搜,服装垂搜)  等 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 基础功能自动化 • 基础功能自动化框架 实现验证器的前置部分 (拼接url,发送请求,解析结果等) 实现验证逻辑或得到统计结果 用来实现验证器的前置部分 (拼接url,发送请求,解析结果等) Verifier JAVA/TESTNG 多线程 Scheduler Verifier Util Helper Data 工具包,帮助脚本实现一些特有功能; 比如通过thrift链接开发接口,访问数 据库的方法封装,日志的记录等 数据类的封装:比如数据库访问结果的 封装等 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 基础功能自动化 功能依赖 抽样数据 Query库 输入 主 搜 召 回 单维排序 单维过滤 黑名单 垂搜 主搜排序 . . . 输出 输出 验证验证 功能验证功能验证 索引 文件 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 如何保证它们的质量? • 基础功能自动化 • 思路的转变,"对错"到"好坏" • 通用测评方法NDCG • 深入机器学习,层层把关 • 灰度发布,线上测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” • 关键词: 达芙妮 季节:秋季 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” 测试方法: 统计每一页所包含的季节类商品的占比。 识别方式: public static final String [] SPRING = {"春季","春装","春新款","春秋"}; public static final String [] SUMMER = {"夏季","夏装","夏新款","薄款","短款","清凉","半袖"}; public static final String [] AUTUMN = {"秋季","秋装","秋新款","春秋"}; public static final String [] WINTER = {"冬季","冬装","冬新款","厚款","加厚","保暖"}; 数据: 不含有明显季节分类的词语,并却无明显季节属性的名词。例如不能是“凉鞋”,“秋衣”等 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” •“功能验证”到“数学统计” 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” 新问题暴露 •Query库需要更加完善 •测试框架的限制 •测试方法不通用,需要更加通用的效果测试方法 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” • Query标注 • 借助Query意图识别工具,开发脚本通过该工具得到Query的识别结果,进 行自动分类标注。 • 人工审核那些争议性较大的意图识别结果 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” • 新的测试框架 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” • 通用指标 查全率=(检索出的相关信息量/系统中的相关信息总量)*100% 查准率=(检索出的相关信息量/检索出的信息总量)*100% • 排序指标 • 其它 MAP/P@N等 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 思路的转变,“对错”到“好坏” 功能依赖 抽样数据 Query库 输入 主 搜 召 回 单维排序 单维过滤 黑名单 垂搜 主搜排序 . . . 输出 输出 验证验证 功能验证功能验证 索引 文件 标签数据 效果验证效果验证 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 如何保证它们的质量? • 基础功能自动化 • 思路的转变,"对错"到"好坏" • 通用测评方法NDCG • 深入机器学习,层层把关 • 灰度发布,线上测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 通用测评方法NDCG • 问题: 女士皮带/女式皮带 • 定位:“女式皮带”为长尾 词,没有足够的数据产生正确 的分类反馈。造成结果在召回 与排序的时候,没有把正确的 商品排在前边。这类词,统称 为意图模糊词。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 通用测评方法NDCG • Query词选择,加入Query库。 测试中就PV低的来选择Query词加入Query库,作为备选;按照当当商品比 例,图书:百货=3:2; • 人工测评 选择我结果的前12个(首屏)商品,进行人工评测,生成期望结果。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 通用测评方法NDCG • 问题: 根据NDCG得分,线下版本整 体效果略优于线上版本的 搜索效果。但是,线下存 在个别查询词查询结果偏 离搜索意图的情况。例如 ,“动漫表”; • 原因: “动漫”这个词在图书中出现频 率太高,会影响Query意图 识别。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 通用测评方法NDCG 功能依赖 抽样数据 Query库 输入 主 搜 召 回 单维排序 单维过滤 黑名单 垂搜 主搜排序 . . . 输出 输出 验 证 验 证 索引 文件 标签数据 效果验证效果验证 功能验证功能验证 人工 测评 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 通用测评方法NDCG 问题: •人工测评会受到人为的主观因素影响,得分会有偏差。 •人工测评工作量大,工作内容枯燥乏味容易出错。 •人工测评效率较低,拖慢了算法研发/上线速度。 •人工测评结果可复用性没有保障。 •测试参与太晚,比较靠后。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 如何保证它们的质量? • 基础功能自动化 • 思路的转变,"对错"到"好坏" • 通用测评方法NDCG • 深入机器学习,层层把关 • 灰度发布,线上测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 功能依赖 抽样数据 Query库 输入 输出 验证验证 标签数据 效果 验证 效果 验证 功能 验证 功能 验证 人工 测评 训练 数据 机器 学习 模型 实现 搜索系统 各种算法(排序,召回等) 单维排序 单维过滤 黑名单 垂搜 . . . 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 训练数据训练数据 机器学习机器学习 模型实现模型实现 测试数据 提取 测试数据 提取 效果验证效果验证 1. 不能与学习数据重合 2. 注意数据的有效性 3. 数据太多,涉及抽样 1. 真正的历史数据作 为期待结果 2. 根据学习目标测 评 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 CTR相关性: •主搜的排序模型从LR(逻辑回归)变更为SVM(支持空间向量); • 学习特征在商品内部特征外增加用户行为特征。 相关性的位置偏置: 用户的点击行为是同商品所在位置高相关的,如果一个商品的位置很靠后,会比 这个商品在第一个位置上的点击差很多。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 CTR相关性: 学习目标:预测商品的CTR值,以此为依据进行排序 实现方式: 1. 直接以CTR值作为相关性,进行训练 2. 使用CTR值与位置关系,转化成位置无关的相关性,进 行训练 训练数据:最近三个月内的所有用户点击数据为主 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 M/RM/R HiveHive Query 标签 Query 标签 入库入库 功能依赖 抽样数据 Query库 标签数据 期望结果入库 测试 系统 A 测试 系统 A 测试 系统 B 测试 系统 B A> B? 测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 训练数据训练数据 机器学习机器学习 模型实现模型实现 测试数据 提取 测试数据 提取 效果验证效果验证 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 数据有效性验证: 字段间的关系 例如 PV>UV 数据与数据间的关系 例如 CTR=点击量/PV 数据本身的特点 例如 性别,男/女 数据预期不符合 例如 每天的总PV量 训练数据训练数据 机器学习机器学习 模型实现模型实现 测试数据 提取 测试数据 提取 效果验证效果验证数据验证数据验证 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 模型实现: 模型实现过程很难 通过外部进行测试。所 以由开发自测(白盒或 数据对比)。 训练数据训练数据 机器学习机器学习 模型实现模型实现 测试数据 提取 测试数据 提取 效果验证效果验证数据验证数据验证 实现验证实现验证 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 深入机器学习,层层把关 功能依赖 抽样数据 Query库 输入 输出 验证验证标签数据 效果 验证 效果 验证 人工 测评 训练 数据 机器 学习 模型 实现 搜索系统 各种算法(排序,召回等) 单维排序 单维过滤 黑名单 垂搜 . . . 功能 验证 功能 验证 期望结果 输出 数据有 效验证 数据有 效验证 机器学习 效果验证 机器学习 效果验证 模型实 现验证 模型实 现验证 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 大数据产品 如何保证它们的质量? • 基础功能自动化 • 思路的转变,"对错"到"好坏" • 通用测评方法NDCG • 深入机器学习,层层把关 • 灰度发布,线上测试 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 灰度发布,线上测试 A/B测试: 线上测试更加真实的反应算法对效果的影响。是最终判 断算法效果的最准确方法。 缺点:“牺牲”了一部分线上流量。 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 收获总结 • 完善了研发体系,测试进入算法研发,进一步保障产品质量 • 自动化的算法评测框架,保证快速的测试反馈,加快算法研发速度 • 解放算法工程师一部分精力,让算法工程师更加专注的进行算法研发 • 个人成长 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 如何进行大数据产品自动化 测评的未来 • 测评框架工具化,平台化 • 进一步深入到算法研发过程中,对数据,机器学习,功能实现及系统集成进 行自动化测试的全面覆盖 • 总结维护算法测评框架,建立统一的指标体系,指导今后的测评工作 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力! 欢迎关注into100沙龙账号 www.top100summit.co m 揭示研发管理白金定律,分享那些激动人心的创新与变革,使得团队获得过多源动力与更大的推动力!
还剩39页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享pdf获得金币 ] 4 人已下载

下载pdf

pdf贡献者

n5em

贡献于2015-06-05

下载需要 6 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf