【寄语】在OS高速迭代的过程中,高性能、稳定性以及安全等领域始终是质量工作的重点。
作者 | 宋彦岭
【资料图】
出品 | CSDN(ID:CSDNnews)
大学毕业后,我有幸加入了一家网络安全领域的公司,成为了一名测试工程师。这是我第一次接触到Linux操作系统的相关内容,从此便开始了对操作系统的深入学习之旅。随着工作的不断深入,我逐渐了解了操作系统的各个领域,如性能测试中的CPU、网络、内存、IO等。在这个过程中,我对操作系统的理解逐步加深,也开始对操作系统的质量保障产生了浓厚的兴趣。
在我从事操作系统质量工作一年后,CentOS停服事件发生了。在这个大背景下,国内的各个开源社区与对应的发行版都进入了快速发展和活跃期。也是基于此,我开始参与龙蜥社区的各项开源工作。最初,我只是将一些通用的测试用例对外开源或者做一些upstream backport工作。随着时间的推移,我逐渐参与了社区中各个 SIG 的深度工作,并将其结合我司的内部情况进行了一些定制化的工作。同时,我也不断将相关的issue回合社区,形成了一个良性循环。
如何有效地进行操作系统质量保障?我认为完备而细致的测试方案是至关重要的。在龙蜥社区QA SIG的双周会上,我们针对陆续发布的Anolis 23、Anolis 8.8等OS发行版不断完善整体测试方案,力争既有通用的、可推广的部分,又有对特定版本的定制部分。
截至目前,龙蜥社区已形成了一系列技术文档(https://openanolis.cn/SIG/QA),包括测试流程、测试策略、测试标准等。从功能、性能、稳定性、兼容性等角度,对系统安装、运维、管理以及虚拟化、容器等细化领域分别做了细致的测试描述。结合CI测试、nightly测试、release测试等流程,针对x86、Arm等不同架构,我们形成了一个全面的测试矩阵,为质量保障工作提供了有效的理论指导。
(图/龙蜥OS测试标准)
上述测试矩阵庞大而细致,依靠人工跟踪每一项内容是不现实的。因此,我在团队内部基于源码部署了龙蜥社区开源项目T-One测试平台。该平台通过tone-cli集成了大量开源测试工具和自研自动化测试用例,并通过平台开放的API接口与jenkins、gitlab、koji等其他平台联动,实现了从代码提交、构建到测试调度、测试执行、测试报告的完整流程。在这个过程中,会产生一系列与适配特定操作系统、结果展示等相关的问题。通过反馈社区与需求协同开发,我们实现与内外部T-One的共同演进。
(图 自动化测试平台图示/已获作者授权)
除了自动化测试平台外,为提高研发效能,我们在内部部署了龙蜥的SysOM运维平台。该平台加强了系统监控、宕机分析、CVE修复等能力,并且基于SysAK开源工具实现了对系统状态的快速检查。这些工具提高了操作系统的可观测性,为解决问题提供了有力参考。
(图 系统运维平台图示/已获作者授权)
此外,像龙蜥的KeenTune、ancert等工具在操作系统测试工作方面也提供了很大帮助。我们希望龙蜥社区能够继续开发更多的基础设施与效能工具,以提高操作系统开发和测试的效率和质量。
未来,我认为龙蜥操作系统开源社区的发展还有很大的潜力。首先,随着人工智能、云计算、大数据等技术的不断发展,操作系统也需要不断地更新和升级,以满足新的需求和挑战。例如,随着边缘计算的兴起,未来的操作系统需要更好地支持设备的联网和数据传输,同时也需要更好地保障数据的安全性。其次,随着互联网的普及和开源思想的深入人心,越来越多的人开始意识到开源软件的优越性。龙蜥社区的发展将会受到更多人的关注和支持,这将进一步推动开源操作系统的发展。同时,龙蜥社区也需要不断提升开发者的参与度和贡献度,以推动操作系统的持续发展和进步。最后,我相信在龙蜥社区生态伙伴们的共同努力下,未来的操作系统将会更加稳定、更加高效、更加安全。操作系统的开发将会更加注重用户体验和用户需求,同时也将会更加注重标准化和互操作性,以满足不同用户的需求和应用场景。
作者简介
宋彦岭:龙蜥社区QA SIG Maintainer,2022龙蜥社区年度优秀贡献奖-代码之星。联通数科CULinux研发团队测试工程师,主要参与社区QA、T-One、系统运维等SIG,负责OS版本测试与工具开发等工作。
责任编辑:
标签: