专访新任百度QATC主席杨斐——用谦逊开放的心态拥抱AI变革

随着AI生态的发展,智能化测试的未来对QA提出了新的要求,我们应该从哪些方面提升自己适应变革,百度QA未来的发展方向及工作规划如何,带着这些问题QA微信公众号采访了现任百度QATC主席,初见杨斐,深色POLO衫,黑框眼镜,蓝色牛仔裤,沉稳内敛的气质拉开了本次访谈的序幕。


Q:首先请您先做下自我介绍,谈谈自己的成长经历


大家好,我是杨斐,毕业于南京大学。毕业之后,第一次来到了北方,来到百度,成为了一名QAer。转眼好多年过去了,每当听到体育转播提起这是一名80后的老将时,只能感叹下时光飞逝。在百度我先后参与过分布式计算,分布式存储,开放云,无人车等平台的测试工作,也负责过阡陌,用户反馈,采集标注等工程平台的建设。在百度质量部这个大体系下,遇到了很多大牛,也经历了很多变化和挑战。


Q:请您分享一下对QA工作的理解以及QATC后续的工作规划思路


随着百度业务的发展,在百度,质量保障的工作也在一步步发展,并扩展着质量的范畴。在我刚进百度的时候,质量保障的重点是在于程序质量,如何有效的度量性能,构造异常,覆盖单元,模块,E2E的功能正确性;逐步的在保障线下质量的同时,我们更加关注线上质量;同时我们还在很多泛质量领域有了一些尝试和突破,比如众测和数据众包。当然随着AI时代到来,被测对象的变化,测试领域也带来很多新的挑战和命题,比如:

  • 质量本身的范畴会逐渐从代码质量延伸到服务质量,进一步延伸到服务效果;

  • 在AI模型弱解释性的前提下,如何让模型的测试由“黑”变“白”,如何从发现bug转向发现缺陷;

  • 产品迭代和产品代码分支变更会更快,如何有效的保障效率和质量;

  • 竞品评测和竞品监控的要求会更高;

  • 测试工具会和专业场景专业知识结合的更紧密,未来的工具建设会从SET(tool)逐步的走向SETI(tool,infrastructure);

  • 硬件评测如何去做(偏向于场景化,如声学,图像视觉,sensor),品控会成为新课题;

这其中有很多都是新场景新问题,需要我们或结合项目进行探索创新,或借助业界思路快速落地。QATC需要和大家一起讨论和探索清楚这些问题,希望大家能一起参与进来,能有更多的碰撞和互相借鉴。


Q:对于大家比较关注的AI测试与传统QA的差别?您有没有一些经验可以跟大家分享一下?


最近也在如何有效的保障AI模型质量方面做了一些工作和一些思考。在AI时代充斥着各种关于模型效果的指标,比如某某算法模型的准确率95%,召回率95%。但是这样的描述往往无法代表算法模型的效果怎么样,因为要解释清楚这是在什么场景下获得的指标数据,以及模型存在的缺陷是什么往往是困难的。


在AI时代的测试中,往往发现一个badcase的价值并不大,帮助模型提升核心指标和发现特定场景的模型缺陷价值会更重要。在传统测试场景中,更多的是做确定性验证测试,过程和结果是可预期的;在AI的测试中,质量的保障方式主要是两种途径:效果评估和缺陷发现。


针对效果评估,需要解决的问题是,抽象出有效的评估数据集来代表在真实AI应用中的场景特征,保障评估的客观有效。通常做法是,将真实场景做特征抽象,根据特征做向量化,通过将真实场景投射到有限空间里形成一个有效的场景库,依据场景库做评估数据的选取。


针对缺陷发现,面目前看不存在通用性方法,会和具体的AI场景强相关,可以尝试的路径有三条:

  1. 构建AI原型的对抗系统,在对抗系统中发现缺陷场景;

  2. AI训练过程的可视化,通过观察神经元和网络的激活情况,判断可能存在的缺陷路径;

  3. 通过冲突检测的方式,根据空间距离主动搜索边界处场景点的周围空间,做缺陷检测。

另外,从效率的维度看,相比较于传统软件测试的CI、CD流程,我们也希望在AI方向上形成“持续评估”的流程。尝试借助AI工程将标注数据集、模型研发、训练、评测等各环节打通,实现整个模型训练流程的可追踪可查看可量化,并在各个环节进行效率提升工作:


Q:关于个人成长方面,对于QAer您有什么建议?


  • 多思考

个人成长的速度,取决于训练密度和持续改进,大家平时都很辛苦,但可能任务完成后的思考略少一些,多复盘一些多想一步,会有帮助;

  • 自信

学会自我挑战和自我激励,尝试着比上一次做的更有挑战,更极致,回过头看的时候你能感受到自己的成长,也会收获自信;

  • 珍惜别人的指正和批评

 

最后很乐意和大家交流和讨论问题,随时欢迎~



大咖招募
欢迎App研发/测试方面的大牛来投稿,开设专栏。我们提供丰厚的稿酬,预约个人专访,帮助建立个人技术品牌!
立即投稿

我要评论

字数不能超过140字,谢谢!
提交

评论({{allComments.length}})

{{comment.create_time.substr(0,16)}}

显示所有评论
复制成功!