智能化测试服务中台的功能及在不同场景的应用

2024-03-17 03:08

本文主要是介绍智能化测试服务中台的功能及在不同场景的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

82f1a16369d077ed2755724c054d7a73.gif

互联网产品的上线周期短、迭代速度快,为了促使测试工具更有效地替代人工,智能化测试成为一种新的趋势。目前智能化测试主要是将现有AI智能技术融入在不同测试环节,让每个环节以更智能的方式完成质量保障。但是这种碎片化的智能化很难聚焦于适用测试行业的智能技术的提升,因此我们建立了首套专注于为测试行业提供智能化服务的中台方案Sophia智能化测试服务平台,打造专门为测试行业提供高精度、高可靠智能测试服务的研发、管理平台。平台在2021年CSDI中国软件研发管理行业技术峰会首次曝光,在商家、消费者体验升级多个项目中提供技术支持,为集团内部多个BU提供算法服务,累计调用次数超过4亿次。

本文将介绍Sophia智能化测试服务平台具备的能力以及如何为不同测试场景提供智能化测试服务的。

2d6eb2e82303f3afda7c68f2b5ef31fd.png

提供海量智能化测试服务能力,降低AI应用成本

在智能技术快速发展的潮流下,涌现出很多的AI算法,我们测试工程师想要有一个较系统的AI算法知识体系,这个学习成本是非常高的。比如我们为了做弹窗的检测,可以尝试传统CV图像匹配算法,也可以选择目标检测算法。然而目标检测算法种类又非常多,有检测速度快的,有精度高的,我们就需要学习了解YOLO(有多个版本)、RCNN、Fast-RCNN、Faster-RCNN、SSD等诸多算法。

此外,多样的测试场景可能会需要相同的基础算法支持,从而导致在算法应用上重复造轮子非常严重。如下图中的案例,A同学在做自动化测试的时候希望工具可以支持识别文字图标的能力,经过一番调研后发现OCR技术非常适用,便选择这个方案;B同学做舆情分析的工具发现用户反馈中图片非常关键,比如图片里面的时间可以帮助我们更快速精准的找到用户出问题的时候日志表现,要提炼出图片中一些关键文字也需要OCR技术的支持;C同学做弹出处理工具的时候,希望在找到弹窗之后能够分析弹窗内容,那就需要OCR技术先把内容文字提取出来再分析;D同学做图片巡检的时候需要确定图片中是否存在一些必要内容,也需要借助OCR技术提取文本。虽然是这几个测试同学在完成四个完全不同的测试工具,但最根本上要做的事情是一致的,就是从图片中提取文字,是完全可以复用同一个技术能力的。而现在每个人都需要找一个OCR算法加入自己的系统,就带来很大的资源浪费和时间成本。

512221d1957d2cc343d02962936d0dd5.png

为了解决AI技术复杂多样、学习成本高和重复造轮子的问题,将AI算法较好地应用于测试领域,Sophia平台集成了30+AI算法能力,并针对不同测试场景设计实现不同的智能化服务能力。Sophia平台对于算法能力和服务能力进行分层:一部分是基础算法能力维护,这里集合了像目标检测、文本识别、时序分析、文本分类等基础算法模型,并且对各算法进行细粒度拆分便于复用;另一部分则是基于多个基础算法专门针对不同测试场景问题设计的智能化服务,比如有针对自动化测试的元素识别服务、针对系统监控的智能预测服务等。

Sophia平台算法服务能力如下图所示:

d162c4450c6ff960c71216b15faf9bdc.png

提供算法服务可视化体验能力,快速完成技术选型

为了在测试场景中能够较好地融入智能技术,快速完成技术选型是一个非常大的挑战,有时候为解决一个小问题可能需要调研很多的算法,尝试算法模型在目标测试场景下是否具有预期的表现,这个实验的过程需要花费的成本是巨大的。

因此,Sophia智能化测试服务平台不仅提供智能测试服务能力,还给出了服务适用场景参考,并通过建立在线交互体验能力,让使用者直观感受算法效果,并且可以上传自己的数据进行实验,快速确定技术是否适用于所需场景。

下图是弹窗处理服务的介绍页面,分别展示了服务的简介、技术文档、适用场景推荐以及功能在线体验展示。

3f64d77bdff65ab622388403815074b6.png

提供算法一站式开发、部署和管理能力

为了能够将算法更好地应用到测试行业的不同场景,大多时候需要我们对算法进行开发改造。我们想对算法进行改造,首先要做的就是把一个开源算法在机器上先运行起来,而这个过程往往不会是非常顺利的。一方面需要我们安装很多的依赖包,修改一些基本的配置之后才能运行;另一方面这些算法对系统环境、依赖版本都是不同的,我们几乎不可能在一套环境下完全兼容所有的AI算法。这些问题给算法应用带来很大的困扰,并且我们也很难在短时间内快速验证算法是否是满足需要的。

为了解决算法的开发、部署难题,让大家更多关注于如何提升算法能力,让算法更好地在测试场景应用,我们专门提供了一套算法在线开发、管理能力,并且对于部署好的算法可以快速生成智能测试服务供需求方调用,目前支持http服务和集团内部HSF服务一键生成。

如下图,我们可以将算法镜像上传、部署。

1a7e6c9f6be2161cd5c831f201052be1.png

算法部署成功后,可以将算法注册为基础算法,如下图:

9fbef8188f62ea4a3d6903fa924b459a.png

接下来就可以生成自己的智能化测试服务能力了,支持拖拽式操作和代码编写,同时可以在生成服务的时候使用平台已有的基础算法能力,如下图所示。

a07f332684f44739c1d2671272fb833d.png

提交后,便可生成对应的测试服务接口,通过指定算法id和约束参数就可以开始调用了。我们还提供调用大盘数据,统计算法的调用情况。

dfce309b462cbb37c482b7caba8e66ab.png

  案例分享

  • 为双十一大促主互动活动提供智能化测试服务能力

在今年双十一大促保障期间,Sophia平台首次与大促主互动喵糖活动合作,大家如果玩过喵糖一定会记得下图里面的浏览会场得奖励的关键环节,为了检测页面中是否正确的展示浏览得奖励提醒,我们提供了图像质量巡检能力,替代人工检测,极大提升测试效能。

7e0124728089e6894fe1f9d823eb0978.png

  • 算法部署、管理能力助力产研合作算法快速落地应用

在推动智能化测试发展的过程中,我们还跟北京大学谢涛教授团队一起合作探索新的智能测试方向,Sophia平台担任了产研结合研究成果落地平台的角色,把最新研究的算法能力快速部署并实现服务化,保证算法研究结果快速在实际业务中应用。

目前已经完成智能探索测试服务、智能验证服务的部署应用,除了整体功能服务化之外,我们还拆分了一些子算法能力进行部署管理,比如给定一张APP截图,我们可以进行元素分割,如下图所示,该算法能力在多种测试场景中应用。

3dc76e1253daaef355735dc8f517ea11.png

总结展望

在推动测试智能化的过程中会面临算法学习成本高、重复造轮子现象严重和算法开发、部署成本高等问题。为解决这些问题,我们打造了一个专门为测试行业提供高精度、高可靠智能测试服务的研发、管理平台Sophia智能化测试服务平台。

Sophia平台为多种测试场景提供智能化服务、支持测试服务功能在线体验,具有算法一站式开发、部署、管理能力,并且可以对不同测试场景数据集分类管理。

随着Sophia平台服务能力日渐完善,我们希望通过提供丰富智能化测试服务加速行业向智能化方向发展。目前,平台部分能力已经对外开放,后续会陆续公开更多能力,也欢迎大家更多地接入合作。

目前平台开放链接:sophia.alibaba.com

致谢

平台能够顺利建立得力于多方支持,在此特别感谢大淘宝技术质量团队负责人青灵对于方向的认可和支持,感谢智能测试方向合作中谢涛教授的专业指导和北大同学的支持,最后,非常感谢在平台建设中做出众多贡献的优秀的伙伴们:金晖(定源)、黄俊(豆豆)、段树榕(兰殷)、朱振强(凌望)、张一涵(蘇白)、孙楠(什衣)、王露吉(栎风)。

团队介绍

我们是大淘宝技术质量团队,我们负责保障整个淘宝和天猫主站的业务质量,一直致力于技术驱动,构建业界领先的质量体系。

我们有QCon、QECon、MTSC、GIAC、绿盟、TOP100 Summit等众多行业大会的讲师,有GitHub获得3.2k Star的开源产品JVM-Sandbox作者,最关键的是有对技术极致追求,对生活充满热爱的一群俊男美女们。

✿  拓展阅读

cf3dfaeada6f9da59778ea32a38ac3b3.png

作者|居凡

编辑|橙子君

出品|阿里巴巴新零售淘系技术

05749f1cb8737b508a6b7ad148374a55.png

594a9e73abe60f3126074a81e7fdb05a.png

这篇关于智能化测试服务中台的功能及在不同场景的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817615

相关文章

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Redis消息队列实现异步秒杀功能

《Redis消息队列实现异步秒杀功能》在高并发场景下,为了提高秒杀业务的性能,可将部分工作交给Redis处理,并通过异步方式执行,Redis提供了多种数据结构来实现消息队列,总结三种,本文详细介绍Re... 目录1 Redis消息队列1.1 List 结构1.2 Pub/Sub 模式1.3 Stream 结

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient