开源质量保证基础知识

开源依赖于可持续的社区来快速开发代码、有效地调试代码以及构建新功能。
354 位读者喜欢这篇文章。
Open innovation

Opensource.com

开源依赖于可持续的社区来快速开发代码、有效地调试代码以及构建新功能。由于社区参与是自愿的,因此人们的技能、参与程度和时间投入可能会有所不同。考虑到这些因素的可变性,以及开源通常依赖于“尽早发布,经常发布”的理念,质量保证可能会变得具有挑战性。

为了维护项目的质量,包括开发人员、质量工程师和项目用户在内的社区必须共同努力。

开源质量保证的 4 个要素

  1. 持续集成工具确保在周期的早期识别缺陷
  2. 自动化测试框架鼓励编写良好文档的代码和自动化测试
  3. 测试日由开发人员提议和执行
  4. 缺陷分类确定问题的优先级,贡献者/错误报告者提交未来自动化的用例

持续集成工具

使用开源持续集成工具是维护开源质量不可或缺的一部分。 Pulp 项目使用 Jenkins 进行构建、运行自动化测试和监控结果。 Pulp 的最新提交每晚运行。通过监控结果,我们能够识别集成失败和回归。一旦这些测试通过,提交就会被提升,并且每晚构建版本可供测试团队或社区使用。

自动化测试框架

开源自动化测试框架是可移植且灵活的,允许任何贡献者编写自动化测试。例如,Pulp Smash 是用于测试 Pulp 的测试套件。它是一个 GPL 许可的 Python 库,与开发环境集成。它每晚在开发代码库上运行,Pulp 软件包的提升是基于 Pulp Smash 的成功运行。

自动化测试套件可以与开发环境集成,以尽早发现回归。“尽早发布,经常发布”的理念允许快速发布周期和更少的专用质量资源。

测试日

社区测试日是让社区参与质量保证的另一种方式。通过清晰记录的步骤和工具,任何用户都可以提出一天来测试他们感兴趣的功能或领域,并可以寻求用户群的帮助来进行黑盒测试。还应确定一种捕获结果的方法。

例如,Fedora QA 定期运行社区测试日。测试日在 alpha 版本和 GA 版本之间进行。任何人都可以按照有据可查的流程来提议测试日。与测试日相关的讨论在 IRC 频道 #fedora-test-day 中进行。

缺陷分类

用户可以通过参与公共缺陷分类来参与进来。这让用户社区有机会优先处理对他们重要的错误、验证或测试修复,甚至提交修复。例如,Foreman 今年 2 月举办了一个社区 Bug Day,以分类和验证现有的错误报告。与专注于测试特定功能并打开新错误报告的 Fedora 测试日不同,Foreman 的 Bug Day 专注于审查跨不同功能的现有错误报告并关闭其中一些错误报告。如果错误报告描述的问题已修复、已过时或在另一个错误报告中描述,则可以关闭错误报告。在今年 2 月的这一天,社区更新了 250 个错误报告,关闭了其中的 133 个,仅创建了 30 个新的错误报告。

Preethi Thomas 将在今年的 All Things Open 和 Grace Hopper 大会上谈论这个话题。

User profile image.
Preethi Thomas 是 Red Hat 容器团队的工程经理。她担任经理职位已超过 2 年。在成为经理之前,她是 Red Hat 的质量工程师。她热衷于开放管理实践和软件质量,并且在开源项目和上游社区方面拥有丰富的经验。

评论已关闭。

© . All rights reserved.