开源怎么保证专利
开源依赖于可持续发展的社区来快速开发代码,有效调试代码并构建新功能。 由于社区参与是自愿的,因此人们的技能,参与程度和时间承诺可能会有所不同。 考虑到这些因素的可变性,以及开放源代码通常依赖于“尽早发布,经常发布”的理念,质量保证可能变得充满挑战。
为了保持项目的质量,包括开发人员,质量工程师和项目用户在内的社区必须一起工作。
开源质量保证的4个因素
- 持续集成工具可确保在周期的早期发现缺陷
- 自动化测试框架鼓励编写有据可查的代码和自动化测试
- 测试日由开发人员提出并执行
- 错误分类优先考虑问题,贡献者/错误报告者提交用例,以实现未来的自动化
持续集成工具
使用开源持续集成工具是维护开源质量不可或缺的一部分。 Pulp项目使用Jenkins来构建,运行自动化测试和监视结果。 对Pulp的最新提交每晚运行。 通过监视结果,我们能够确定集成失败和回归。 这些测试通过后,将提升提交并向测试团队或社区提供夜间构建。
自动化测试框架
开源自动化测试框架具有可移植性和灵活性,允许任何贡献者编写自动化测试。 例如,Pulp Smash是用于测试Pulp的测试套件。 它是与开发人员环境集成的GPL许可Python库。 它每晚在开发代码库上运行,而Pulp软件包的升级则基于Pulp Smash的成功运行。
自动化测试服可以与开发人员环境集成,以尽早发现回归。 “经常提前发布”的理念允许更快的发布周期和更少的专用质量资源。
测试天数
社区测试日是使社区参与质量保证的另一种方法。 使用明确记录的步骤和工具,任何用户都可以建议一天来测试他们感兴趣的功能或区域,并可以寻求用户群的帮助进行黑盒测试。 还应确定一种捕获结果的方法。
例如, Fedora QA定期运行社区测试日 。 测试日在alpha和GA之间进行。 任何人都可以按照有据可查的流程来提出考试日。 与测试日相关的讨论在IRC频道#fedora-test-day中进行。
错误分类
用户可以通过参与公共Bug分类参与。 这使用户社区有机会确定对他们而言重要的错误的优先级,验证或测试修复程序,甚至提交修复程序。 例如,Foreman在今年2月举行了社区Bug Day,以分流和验证现有的bug报告。 与Fedora测试日专注于测试特定功能并打开新的错误报告不同,Foreman的Bug Day侧重于查看跨不同功能的现有错误报告并关闭其中的一些功能。 如果错误报告所描述的问题已解决,已过时或在另一个错误报告中有所描述,则可以关闭错误报告。 在2月的这一天中,社区更新了250个bug报告,关闭了133个bug报告,仅创建了30个新的bug报告。
Preethi Thomas将在今年的All Things Open和Grace Hopper上就这个话题发表演讲。
翻译自: https://opensource.com/life/16/10/basics-open-source-quality-assurance
开源怎么保证专利