工信部电子五所李冬:龙蜥社区一站式自动化测试平台T-One的探索和实践|2022云栖龙蜥实录

简介: 龙蜥社区的一站式自动化测试平台的一些探索和实践。

在刚刚结束的 2022 云栖大会龙蜥操作系统峰会上,工业和信息化部电子第五研究所高级工程师李冬博士做了《一站式自动化测试平台的探索与实践》的主题演讲,以下为演讲实录。

640 (15).png

大家好!今天我将与大家分享一下在龙蜥社区的一站式自动化测试平台的一些探索和实践。在过去的 4-5 年里,我们测试机构的工作受到了一些挑战,主要特点不仅表现在测试对象的突然增多,例如操作系统、数据库、云平台等,而且对效率和质量的要求也提升了很高。这对传统手动测试的效率和质量带来了一些挑战。

640 (51).png

我们在传统测试模式下很难去适应效率和质量的新要求的原因,总结来说有以下 6 点:

  • 运行平台多样化:测试对象的运行平台多样化,运行环境异构、兼容性差。
  • 测试对象多样化:包括计算机、交换机、操作系统、数据库、中间件、云平台等。
  • 执行手段多样化:手动执行测试内容与自动化测试内容融于一个平台实现。
  • 结果分析多样化:对测试结果进行的综合分析、多样化展示以及横向对比也面临多样化挑战。
  • 部署模式多样化:测试对象对部署的要求也有多样化的模式,包括有网环境、无网环境、公有云、专有云等。
  • 测试工具多样化:面对不同测试对象的测试工具也有多样化的趋势。

由此,我们判定需要一个自动化的测试服务平台来帮助解决这些问题。

640 (52).png

基于以上诉求,我们对现有业界的一些自动化测试工具平台做了一些调查,发现应用起来有些困难。

第一是运行环境固化。成熟的自动化测试平台大都是基于 X86 环境上搭建的,对特殊的指令集和硬件平台的适配具有一些挑战。

第二是功能模块固化。面向软硬件企业的自动化平台一般会跟自身产品密切相关,因此在接口、UI、性能都做了固化,很难适应多对象多工具多需求的自动化。

第三是测试场景固化。自动化测试平台大多服务于业务流,比较难支撑多类型测试需求。

第四是业务耦合固化。随着持续集成、持续交付,测试理念的深入,自动化测试平台跟业务平台的耦合度比较高,很难剥离成第三方可用的平台。

这些挑战使我们产生了研发一个能够适应业务流程和测试需求的一站式自动化测试平台的想法。

640 (53).png

我们定义了一下自动化测试平台的开发愿景。我们希望这个平台可以支持全过程管理(测试需求、测试用例、测试套件、测试执行、结果分析等)、异构环境运行、多环境混合部署(云上、物理机、集群、单机)、多类型测试套件的集成和结果采集分析、多人工和自动化混合测试方式、多对象执行时可独立管理,多任务并行。


通过一系列调研,我们在与龙蜥社区的交流过程中发现,社区里面已经有一个能够满足我们自动化测试需求的基础和工具。当前,龙蜥社区的 T-One 开源测试平台源于阿里内部项目,已经集成了各种主流的测试工具多达 70 多种,该平台支持了 30 多个团队和 40 多个项目的质量协作,每天有 500 多台测试机器在并发执行各种类型的测试。T-One 开源后,除了服务龙蜥社区之外,T-One 也被多家企业和测评机构的数十个项目在用。T-One 历经多年的迭代开发,截至目前,job 累计运行时长达 930 万小时,是一个非常成熟稳定的质量协作平台。

640 (54).png

通过以上了解,我们认为把 T-One 平台作为自动化测试平台,将是一个解决我们多样化需求的捷径。基于这个想法,我们在 2021 年 12 月份加入了龙蜥社区 T-One 测试平台 SIG(Special Interest Group)组,希望通过开放合作的方式来研发攻关。


目前为止,我们的工作取得了以下几个进展:

第一是测试管理系统。我们基于 T-One 平台研发了一套测试管理系统,称之为TestLib(test library),是一个包含了测试规范管理、测试需求管理、测试方案管理、测试用例管理、测试任务管理、测试设备管理等功能的测试管理系统。

第二是 Agent 平台适配。为了让 T-One 能够适应多个运行环境,我们开发了一系列适配的 Agent,能够适配目前的 LoongArch、S_W64、ARM(麒麟 990)指令集架构 CPU 平台,KylinOS、UOS 操作系统。

第三是提交 Issues 共 27 项。在研发过程中,我们参与社区,帮助 T-One 找到一些 BUG,提交了 27 项有效的 Issues,组织 SIG 成员召开讨论超 30 次,真正解决了一些问题。

640 (55).png

接下来简单介绍一下 T-One 自动化测试平台。T-One 是一个在业界真正支持全场景、一站式的自动化质量协作平台,打通从测试设计、测试计划、用例集成、测试工具认证、测试部署、测试执行、结果分析、测试报告等整个测试流程闭环。我们在该平台原有的 Testfarm 上面做了 TestLib 的开发,在包含 T-One 所有功能的基础上增加了数据展示和分析。T-One 测试平台有以下几个明显特点:

  • 第一:一站式服务。打通了整个测试流程,测试服务一步到位。
  • 第二:独立租户。支持独立租户测试空间的部署,实现数据隔离。
  • 第三:通用的用例集成、认证模式。平台可以提供通用的用例集成模式,可以集成各行业的测试用例(手动用例、自动化用例、基准工具等),这些工具都可以集成到一个测试项目里面去。同时提供便捷的工具认证流程,方便测评体系建立。


另外,特色功能还包括了基于云的测试、多环境支持、测试计划、测试结果分析,还可以根据需要定制测试报告。

640 (56).png

T-One 测试平台从开源上下游关系来说分为四个版本,分别是开源版、社区版、企业版和机构版,分别定位为不同的用途。开源版属于源头上游,提供最基础的功能,支持独立部署,其他三个版本都是开源版的下游版本。社区版,为龙蜥社区用户提供云上部署,可对提交的代码做持续的动态自动化测试,提供一些高可用的支持,实时运维保障。企业版是定制版,可以部署自动化测试平台,能够为企业的产品研发和自动迭代做服务,提供高效的支撑。机构版面向的是像五所这样的三方测试机构,可用来管理所有的评测业务。


T-One 测试平台有四大组件,如图所示,包含:

  • Testfarm 是一个测试数据结果的集成平台。
  • T-One 平台是集中部署,独立部署,能够协调测试主机、执行机构、被测对象的一个平台。
  • TestLib 是对整个测试计划、方案、任务的管理。
  • tone-cil 是通用测试工具集成框架。

57.jpg

如图是 T-One 自动化测试平台的主界面,可以建立不同的 workspace 空间,在每个 workspace 创建工作任务,去发布和执行。

640 (58).png

 

如图是 TestLib 测试需求管理板块,可以根据创建的任务去分配测试用例,分配测试环境和工具。

640 (59).png

 

如图是 T-One 结果分析模块,测试后可做各种维度的分析,还可以出定制测试报告。

640 (60).png

关于下一步计划,我们希望持续完善平台的相关功能:

第一是对测试工具认证模块的开发,主要是对工具的正确性和可靠性做可用性管理。这其实是我们利用平台高效接入工具,利用平台的测试资源和对象资源对工具做一个计量和校准。

第二是 AI 技术的引入,对测试结果进行精准分析。

第三是下一代质量测试技术的引入,比如说模糊测试、性能测试与智能优化、代码分析扫描、质量数据跟踪分析等技术。


除此之外,T-One 作为一个开源通用测试平台,具有很多独特的功能和灵活的测试场景支持,目前在业内已经具有一定的影响力,我们希望更广泛去做推广应用,鼓励社区合作伙伴和开发者去使用,面向中小企业做技术赋能,帮助他们做测试和质量保障。联合院校科研院所对一些细节的自动化测试技术、测试工具的研发做一些合作。也希望有兴趣的伙伴们积极地加入和参与到龙蜥社区 T-One 测试平台 SIG 组的工作中来,我们一起维护这个平台,使它变得更好更优秀。


相关链接地址:

T-One SIG 组链接地址:

https://openanolis.cn/sig/t-one

T-One 首页:

https://tone.openanolis.cn/Testfarm

数据看板:

https://testfarm.openanolis.cn/

视频回放:

https://openanolis.cn/video/


关于龙蜥操作系统峰会课件获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。


—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

640 (61).png

相关文章
|
3月前
|
Kubernetes 测试技术 Perl
混沌测试平台 Chaos Mesh
混沌测试平台 Chaos Mesh
109 1
|
10天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
45 1
|
28天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
44 2
|
10天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
31 0
|
3月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
115 1
|
3月前
|
运维 Kubernetes 监控
|
1月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
1月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。
|
13天前
|
Web App开发 设计模式 JavaScript
自动化测试之美:如何利用Selenium实现Web应用的高效测试
【10月更文挑战第29天】在软件开发的世界中,测试是确保产品质量的关键步骤。本文将带你了解如何使用Selenium这一强大的自动化测试工具,提高Web应用测试的效率和准确性。通过实际案例,我们将探索Selenium的核心功能及其在现代软件开发中的应用,旨在帮助读者掌握自动化测试的精髓,从而提升软件测试工作的整体效能。
10 0
|
1月前
|
测试技术 数据安全/隐私保护 开发者
自动化测试的奥秘:如何用Selenium和Python提升软件质量
【9月更文挑战第35天】在软件开发的海洋中,自动化测试是那艘能引领我们穿越波涛的帆船。本文将揭开自动化测试的神秘面纱,以Selenium和Python为工具,展示如何构建一个简单而强大的自动化测试框架。我们将从基础出发,逐步深入到高级应用,让读者能够理解并实现自动化测试脚本,从而提升软件的质量与可靠性。

热门文章

最新文章