其他
【技术加油站】浅谈百度智能测试的三个阶段
该阶段的信心来源于两个软件测试领域的现实:1、不是所有的软件变更行为都会带来风险;2、不是所有软件测试活动都能揭露风险。因此在软件测试领域有极大的资源浪费和问题露出,促使我们极力探索感知智能。
该阶段利用软件过程产生的行为数据+更高阶的算法+机器算力,能够像人一样感知风险并做出决策,主要目的希望能够像人一样感知、识别风险并做出决策以更高效的指导质量活动,在该阶段的探索有:视觉技术在前端自动化用例撰写、去弹窗、UIDIFF等领域的应用;基于风险预估贝叶斯+catboost的用例推荐技术实现用例推荐比从50%到10%的提升;基于LR模型预估项目风险的自主测试系统实现70%低风险无人干预上线;基于深度学习的白盒代码缺陷检测等。这些场景和技术应用的突破证明了AI在软件测试完全可以替代人去感知、识别风险,并决策质量活动,使得软件测试活动足够高效。百度智能测试目前主要在该阶段进行持续探索。
该阶段是感知智能的延续,感知智能阶段可以感知识别风险并决策要付诸何种质量活动,但该质量活动仍然可能是由人完成,如用例撰写、场景设计、人工点击等,认知智能寄希望在感知到风险后,能够由机器做出实际反应去揭露风险,在该阶段我们探索了基于AST的智能异常单元测试代码生成技术实现C++的异常单测召回core、死循环等问题、基于UCB优先级策略遍历技术实现单位时间内更高的页面覆盖、任务失败智能定位技术降低人工排查成本、交付持续集成流水线自愈技术等场景;该阶段目前还刚刚起步,但我们相信随着AI技术的不断成熟和创新,认知智能阶段也会迎来大爆发。