大数据测试 [腾讯 TMQ] 大数据时代如何提升研发效率

匿名 · 2017年12月04日 · 最后由 恒温 回复于 2017年12月04日 · 1667 次阅读

随着大数据时代兴起,越来越多新领域业务兴起,如智能推荐、内容搜索、机器人对话等,通过传统手段测试无法快速反馈新领域业务质量,本文旨在提供一种解决问题定位效率,提升研发效率的方法思路,可以尝试用于解决功能数据链路长,难以快速定位问题,耗费人力的问题。

一、解决方案思路

传统测试手段可能存在后台服务 log 不够完善,缺乏上下文信息,且测试与问题解决流程分离,存在问题复现环境构造成本高等问题,本文分享的解决方案核心内容主要是一体化流程解决发现问题 - 定位问题 - 解决问题效率问题,通过梳理各层链路功能,对于问题定位的关键信息进行打点,通过平台化展示各层链路的定位信息,发现问题时可即时提 bug 单,并把 bug 信息统一收敛到平台,在平台进行问题记录及解决,整体形成信息聚类及 bug 闭环分析。可作用于搜索、机器人对话、智能推荐等链路复杂的领域,不管是业务体验、功能测试、bug 定位、badcase 定位,都可以通过平台统一流程化提升研发效率。

二、测试流程

该方法应用于 AI 对话、搜索、智能推荐等产品中,在平台中,可详细查看功能链路各层处理逻辑及数据,如用户画像、算法逻辑、排序逻辑、分词逻辑等,发现时可在平台直接提 bug 单并快速解决。

大体测试流程如下:

三、实现框架

数据埋点:主要进行后台模块逻辑梳理,在各环节模块打点,这里跟业务相关,需要分析业务中发现问题时的分析流程及分析信息,进一步尝试把这些信息可视化。

后台交互:主要进行输入请求,拉取结果信息,以及辅助分析的后台各模块 log 详细信息。需要根据后台服务通讯协议进行交互。

信息管理:主要管理测试过程拉取的上下文信息、log 信息、提 bug 单时的上下文状态、bug 单信息。

页面展示:展示测试流程页面、log 信息、问题列表、日志字段说明等信息。

四、举个实例

以 AI 对话为例,本小节分享在 AI 对话如何通过统一平台提升研发过程问题定位解决效率。

流程说明:

(1)后台信息埋点:主要对后台模块进行关键信息打点,例如控制模块、自然语言处理模块、机器人意图匹配模块等。为避免线上服务影响,后台服务收到请求时识别请求是否带 debug 标志,如果是,才输出埋点信息。

(2)数据请求:在页面输入对话信息,点击发送后,通过后台请求数据结果,同时拉取该请求在后台模块中处理的逻辑信息。点击 log 可展开详细的 log 信息,在不同人员体验过程,详情的 log 信息可以辅助提升分析效率,如下图所示 (为让角色可理解 log 信息,log 信息说明也通过平台化展示):

(3)一键提单:如果发现问题,可在对话界面中点击 “记录问题”,输入 case 描述,便可进行问题记录。此时提单后会记录上下文信息,后台服务 log 等。

(4)定位解决:开发人员定位解决问题时,可以直接进入平台上问题列表看到提的单,点击可查看详情,且记录了上下文信息及详细的各模块信息辅助分析。


(5)其他分析工具:除了上下文 log,在平台中,根据业务需求,也增加了其它辅助分析工具,如文本分析工具,可分析一句话的分词结果正确性,词组的相似词等,可进一步提升问题定位效率。

五、小结

本文分享的是针对目前大数据业务领域因链路复杂、交互服务多而出现的定位问题及解决问题效率低下问题,可以如何通过平台一体化流程实现发现问题 - 定位问题 - 解决问题在项目中的快速落地,有效解决传统测试流程中发现问题与定位问题环节隔离,定位效率及解决效率低,投入人力大的问题,进而提升研发效率。平台可以根据各业务不同扩展不同能力,如利用信息聚类实现问题批量分析能力、评测语料管理、测试任务管理等能力。

关注微信公众号腾讯移动品质中心 TMQ,获取更多测试干货!

共收到 1 条回复 时间 点赞

不够干啊,就讲了下流程

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册