分类: LINUX
2010-06-11 16:08:51
从事Linux工作已不少年头,使用过的和自己编写的测试工具也有很多了。在这个过程中,感觉一个好的测试框架,对整个测试过程的实施是很有帮助的。
基本上来说,测试框架能够驱动测试用例运行,记录Log并报告测试结果。像测试工具LSB、LTP、v6eval等,不仅包含一系列很好的测试用例,它们本身也都是很好的测试框架。
在使用它们实施Linux测试时,比较深入地分析了它们的测试框架部分的代码。发现它们也是各有所长,比如
LSB可以灵活的指定并运行某个测试文件的某个测试用例;
LTP可以快速的编译测试文件并实施测试;
v6eval可以创建html格式的测试结果文件;
如果能够采集它们的优点,并根据这些年的测试经验,从测试用例的编写者和测试实施者的角度来考虑问题,追加一些它们没有,但比较有用的功能(比如说可以中断一个没有相应的测试用例),我想能够得到一个更加好用的测试框架。
在这个构思的基础上,进行了功能的设计,明确了这个测试框架需要做到什么。然后考虑如何如何结构、层次清晰的,并用最少的代码来实现。
后来,就实现了SLT的原型,并不断的改进,现在SLT可以支持编程语言C/Bash/Perl/Python,快速的创建自己的测试集,灵活的实施测试,并得到格式良好的测试结果。
我们当前有几个测试集,共约8000个测试用例都是基于SLT这个测试框架做成,它经过了充分的验证,可以很好的帮助实施测试。但是,因为测试集是公司内部的工作,所以它们无法开源。(-.-);;
好消息是,从v2.1开始,SLT已经在sourceforge上开源,源代码已经建立了gittree 。参考主页,可以看到SLT更详细的介绍,下载并使用它。
如果第一次接触SLT,可以试着运行一下附带的sample测试集。
# cd slt-3.0
# make && make install
# docs/sample/
# runslt -D
很快就可以执行结束,打开生成的index.html就可以查看测试结果了。
在有一个直观的使用经验的基础上,之后可以再回过头来看README或者主页上的介绍,应该能更快速的掌握使用方法。
最后,希望SLT能够对Linux测试的实施有所帮助。(^^)