Linux Kernel:大开源合作项目初探
作者:网络转载 发布时间:[ 2013/1/15 10:57:55 ] 推荐标签:
实际例子
一个新版本2.6.20的发布过程如下图二。在每一个版本开始时,Linus会打开合并窗口(merge window),从那时起,被认为是可靠稳定的代码会被合并到内核主线,新的功能或驱动等得以加入进来,合并窗口会开启两周,然后Linus会宣布窗口关闭,并发布第一个rc版本,如下图2.6.20-rc1。此-rc1版本的发布意味着新功能的加入已经完成,以后再加入的补丁只能是修复问题,以确保此版本的稳定,但也有即少数包含新功能的补丁会被认为是不友好的。问题修复的代码不断进入主线,Linus接下来大约每周发布一个新的rc版本,通常会在6-9个rc版本后认为此版本已经稳定并且终发布2.6.20版本,再进入下一个三位版本的迭代。发布之后,此2.6.x版本移交给稳定组(stable team),稳定组时而会再发布2.6.x.y版本,每个四位版本的发布会有两个条件:(1)修复重大的bug;(2)该补丁也已被融入到下个三位版本开发的主线中了。稳定组通常维护一个稳定版本6个月左右,之后由使用该版内核的发行版发行商负责。
图二 一个版本的发布过程
测试
对Linux kernel测试面临的挑战巨大:如前面的数据所显示,(1)其快速活跃的开发;(2)经常性的版本发布,每次发布都包含大量修改,以及内核本身支持配置的灵活性、可扩展性,待测点太多(3)需要覆盖各种平台,Linux已支持二十多种平台体系,是支持平台广的系统;(4)过时的case需要维护以及大量遗留代码。
与松散的开发流程相对应,没有看到正式的测试流程,开源软件很大一部分的测试执行是依靠用户实际运行使用。如下图三所示。
图三 开源测试的大体流程
测试项目简介
Linux kernel与测试相关较出名的开源项目有:
LTP:Linux Test Project http://ltp.sourceforge.net/
Autotest:http://autotest.github.com/
CrackerJack Project:http://ossipedia.ipa.go.jp/crackerjack/index.html
LTP是一个联合项目主要验证Linux系统的可靠性、健壮性和稳定性,先由SGI?启动,并由IBM?负责维护。2012年4月发布的新稳定版本已拥有3000+的case(case增长并不多,06年时有2900+的case),用于测试Linux kernel以及相关功能。使用的编程语言主要是ANSI-C(占94%),以及Bash脚本(占5%),还有Perl(占0.62%)。它也有一套使用ANSI-C和Bash写case的模板。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11