Linux Kernel测试初探

发表于:2013-1-15 10:18

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  实际例子

  一个新版本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的模板。

42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • k521_
    2013-1-15 13:26:03

    我要好好努力!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号