智能化测试技术探索与实践——AAAS/IEEE Fellow、北京大学讲席教授谢涛阿里行

简介: 近期谢涛教授将围绕如何通过AI的方式提升端到端功能自动化测试的能力和价值与淘系技术部技术质量团队开展访问研究,共同探索手工探索式测试、Monkey等方式,成本和范围无法保障;目前端到端功能自动化测试工具“逐步执行、单点验证”为主的传统模式成本高、难以快速应用和推广等难题。本次淘系技术部邀请到谢涛教授就“软件质量的下一个五年:智能化测试技术探索与实践”为主题,面向阿里经济体技术同学进行分享。

智能化测试技术探索与实践——AAAS_IEEE Fellow、北京大学讲席教授谢涛阿里行.png
作者|金晖(定源)
编辑|橙子君
出品|阿里巴巴新零售淘系技术

谢涛教授简介

谢涛教授长期从事软件工程的研究,在软件测试、软件解析学、软件安全、智能软件工程、教育软件工程等方面做出了很多开创性的工作及突出的研究成果,因此先后当选美国计算机协会杰出科学家(ACM Distinguished Scientist),电气电子工程师学会会士(IEEE Fellow)和美国科学促进会会士(AAAS Fellow)。

谢涛教授对软件工程界做出杰出贡献和服务,获2020年度IEEE计算机协会软件工程技术委员会杰出服务奖(为其年度四大奖项之一)。

他于2007年与微软合作研发自动测试数据产生工具Pex,他设计和实现的Fitnex路径搜索技术集成到Pex里,成为其三大核心技术之一。自2015起,Pex被微软发布为Visual Studio企业版的IntelliTest主打功能,使广大Visual Studio用户受益。基于Pex,他还设计了一款新颖的编程教育游戏Coding Duels,拥有几百万的注册用户,并被微软研究院主办的编程之美大赛和Imagine Cup大赛采用作为其主要竞赛形式之一。

他于2010年与微软亚洲研究院合作,开创全新领域-软件解析学(Software Analytics),引领软件工程研究者在该领域开展研究。

他于2017年与复旦大学合作,研发应对产业界广泛采用微服务架构后所遇到的开发和运维挑战的解决方案,并自主研发了第一个中大型规模的开源微服务系统TrainTicket,赋能学术界和产业界联合开展微服务相关的技术攻关。

近期谢涛教授将围绕如何通过AI的方式提升端到端功能自动化测试的能力和价值与淘系技术部技术质量团队开展访问研究,共同探索手工探索式测试、Monkey等方式,成本和范围无法保障;目前端到端功能自动化测试工具“逐步执行、单点验证”为主的传统模式成本高、难以快速应用和推广等难题。

本次淘系技术部邀请到谢涛教授就“软件质量的下一个五年:智能化测试技术探索与实践”为主题,面向阿里经济体技术同学进行分享。

智能探索,极测we来

image.png

淘系技术质量掌门人崔婧(青灵),首先介绍了淘系技术质量(极测)团队的发展历程:淘系从服务化—平台化—智能化的质量体系演进。

image.png

以及淘系在智能化测试的诸多实践和探索模式变化:

image.png

最后对淘系智能化测试未来探索做了展望:

image.png

智能化软件质量创新:机会与挑战

在崔婧(青灵)的隆重介绍下,谢涛教授登场,从软件质量的全流程出发,分享了研发测试流程各个环节的智能化创新成果。

image.png

谢涛教授首先介绍了智能测试的分层:

image.png

并重点从测试用例执行、测试数据生成、测试预言生成三个方面介绍了智能化测试层次的实践:

首先是测试用例执行的智能化:

image.png

image.png

Thummalapenta, Sinha, Singhania, Chandra. Automating Test Automation. ICSE 2012.

其次在测试数据生成、测试预言生成方面:

介绍了智能编程机器人在研发、测试代码编写中提供的诸多智能化能力以及实践效果。

image.png

与微软合作研发自动测试数据产生工具Pex,其中的Fitnex路径搜索技术,在测试数据生成领域的智能化实践:

image.png

介绍了自然语言测试、持续学习能力、带参数的测试用例等更多智能化测试实战分享:

image.png
image.png

UEE测试新模式 - 极测机器人RXT端到端测试

最后,本次谢涛老师访问学者在淘系技术质量合作方代表金晖(定源),分享了淘系在UEE端到端智能化测试新模式下的探索和实践:

image.png

image.png

UEE自动化测试包括两大核心能力:

  • 用户交互体验评测:通过IoT(如摄像头、传感器)等外部设备采集并将真实用户感受数字化,来获取最接近真实用户体感的性能及用户体验指标;
  • 多设备端到端功能自动化:通过机械手实现同时多设备的跨终端的自动化操作执行;通过AI算法实现IoT设备的调度控制、场景理解、测试步骤执行、体验指标计算、异常处理等能力。

image.png

通过RXT机器人测试平台来开展UEE自动化测试:

image.png

▐ UEE自动化和UI自动化的差异

通过脱离被测APP本身的一些限制实现真正的端到端测试。并进一步屏蔽被测APP在不同平台(Android/iOS/PC/IoT)之间自动化操作层面的差异、避免软件层进行性能体验度量的干扰和差异、以及增加了多设备间交互式自动化的能力。

  • 测试范围的差异:基于高速摄像头的外部视角+机器视觉算法的识别处理,UEE测试同时包含了端到端功能自动化+用户体验评测的能力。
  • 精度的差异:高速摄像头摆脱了手机录屏软件对被测APP的性能干扰和帧率限制,将用户体验指标精度提升至10ms。同时可以统一衡量标准,以外部摄像头作为统一的标准来衡量不同手机机型、不同终端设备的性能指标,减少软件层面造成的衡量标准差异。
  • 支持多设备跨终端的操作:基于机械手封装的执行引擎RXT,可以同时操作多部手机。将以外部用户的模式操作被测手机和APP,并可以同时操作多个设备。且用一套DSL脚本支持,屏蔽底层设备和操作系统的差异(Android/iOS/PC Touch/IoT系统等)。

▐ 未来展望

和谢涛教授团队一起在智能探索测试、智能验证、新一代智能化移动实验室等方向打造更加智能的测试机器人。

屏幕快照 2020-08-24 下午4.18.14.png

淘系技术质量团队

负责保障整个手淘、天猫主战的业务质量,这里有丰富业务场景和技术挑战,我们以技术驱动,将持续建设及完善整个淘系稳定性、提升用户体验。
如果您有兴趣可讲简历发至:dingyuan.jh@alibaba-inc.com,期待您的加入!

关注「淘系技术」微信公众号,一个有温度有内容的技术社区~

image.png

相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
47 4
|
1月前
|
人工智能 JavaScript 前端开发
自动化测试框架的演进与实践###
本文深入探讨了自动化测试框架从诞生至今的发展历程,重点分析了当前主流框架的优势与局限性,并结合实际案例,阐述了如何根据项目需求选择合适的自动化测试策略。文章还展望了未来自动化测试领域的技术趋势,为读者提供了宝贵的实践经验和前瞻性思考。 ###
|
11天前
|
数据采集 人工智能 自动驾驶
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
VSI-Bench是由李飞飞和谢赛宁团队推出的视觉空间智能基准测试集,旨在评估多模态大型语言模型(MLLMs)在空间认知和理解方面的能力。该基准测试集包含超过5000个问题-答案对,覆盖近290个真实室内场景视频,涉及多种环境,能够系统地测试和提高MLLMs在视觉空间智能方面的表现。
53 16
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
|
1月前
|
测试技术 Python
探索软件测试的深度与广度:从理论到实践
在数字化时代,软件已成为我们生活中不可或缺的一部分。随着技术的不断进步和用户需求的多样化,确保软件质量变得尤为重要。本文将深入浅出地介绍软件测试的核心概念、类型及其在软件开发生命周期中的重要性。我们将通过实际案例,展示如何实施有效的测试策略,并探讨自动化测试的未来趋势,旨在为读者提供一套完整的软件测试知识体系,帮助提升软件质量和开发效率。
|
1月前
|
测试技术 Python
探索软件测试的奥秘:从理论到实践
在软件开发的宇宙中,软件测试犹如一颗璀璨的星辰,指引着质量的方向。本文将带你穿梭于软件测试的理论与实践之间,揭示其内在的逻辑和魅力。从测试的重要性出发,我们将探讨不同类型的测试方法,并通过实际案例分析,深入理解测试用例的设计和应用。最后,我们将通过一个代码示例,展示如何将理论知识转化为实际操作,确保软件质量的同时,也提升你的测试技能。让我们一起踏上这段探索之旅,发现软件测试的无限可能。
|
1月前
|
测试技术
探索软件测试的奥秘:从理论到实践
本文深入探讨了软件测试的基本概念、重要性、主要类型以及实施策略。通过分析不同测试阶段和相应的测试方法,文章旨在为读者提供一套完整的软件测试知识体系,帮助他们更好地理解和应用测试技术,确保软件产品的质量和可靠性。
65 4
|
30天前
|
监控 搜索推荐 测试技术
电商API的测试与用途:深度解析与实践
在电子商务蓬勃发展的今天,电商API成为连接电商平台、商家、消费者和第三方开发者的重要桥梁。本文深入探讨了电商API的核心功能,包括订单管理、商品管理、用户管理、支付管理和物流管理,并介绍了有效的测试技巧,如理解API文档、设计测试用例、搭建测试环境、自动化测试、压力测试、安全性测试等。文章还详细阐述了电商API的多样化用途,如商品信息获取、订单管理自动化、用户数据管理、库存同步、物流跟踪、支付处理、促销活动管理、评价管理、数据报告和分析、扩展平台功能及跨境电商等,旨在为开发者和电商平台提供有益的参考。
38 0
|
18天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
70 11
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
70 3
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
83 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)