本人2017年加入国内新能源车龙头,负责车载语音对话系统的测试工作,和团队构建起一套适合业务迭代的测试方法。最近有些*把这个过程中的心得体验分享给有缘人。
说一个前提,也是一个经典解释:测试工作就是质量和成本博弈的结果,所有任何测试都需要考虑性价比。
有一个限制,不清楚会不会涉及到信息泄漏,不能绘制流程图和系统架构图,望各位理解。
系统组成我了解的车载对话系统通用的解决方案为车机端的服务和APP族(包括语音识别服务,ASR下同),车机操作系统,车机网关和车联网云端网关,云端对话系统,自然语言理解(NLU,下同)模型,运营系统,大数据服务,其他垂直类应用服务(例如负责地图和导航GIS、媒体搜索)等。
/*
下面是插入的内容
规则:可以简单认为是正则匹配,例如“(|查询)*天气”可以匹配到“查询北京天气”“查询天津天气”“哈尔滨天气”等。但随着功能越来越多,规则会更加复杂,也可能产生规则之间的冲突。
模型的产生流程为:
可以看到,模型的迭代周期从逻辑上就很长,但是由于模型可以完成类似“收集1w数据,对10w乃至更多同类型但不同的输入能达到99%的准确率”的效果,性价比还是比配置规则高。所以大家都会优先考虑用模型代替规则。
*/
对话系统作为AI类复杂系统,各模块迭代频率不尽相同,对测试的要求也不尽相同。下面就从两个维度进行以下简单的分析。
测试分类一般性工程类测试关注功能实现和性能指标,可以认为解决“对不对”的问题。
NLU、ASR等算法类更关注的是效果指标,可以认为解决“好不好”的问题。对这个点举个例子方便理解
由于车载对话系统需要考虑网络和车机算力有限等问题,一般会将车机端算法模块做成云端算法的一个精简版,相对低频迭代,而云端支持随时上线新功能,更新频率相对更高。
各模块重点关注根据系统构成和测试分类,我们可以推导出不同模块测试工作的侧重点。
在我的意识里,云端可以约等于高频迭代。高频的迭代意味着开发更新频率高,测试频率也高。云端接口更稳定,对自动化测试维护成本较低、友好。而终端/前端工程,更容易受到设计、产品等项目角色的影响,自动化测试维护成本高,不易完美实现。
未完待续...
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved