欢迎访问职称论文网!
科技论文

Linux操作系统的测试自动化

命令行客户端测试

(1)应用于命令行客户端测试的技术分析

Linux操作系统的本质是命令行,对于可以通过命令行批处理进行测试的客户端,Shell脚本语言是程序员测试的首选,Shell提供了用户与内核交互操作的界面。

测试交互式客户端应用,Expect更擅长。Expect是基于tcl用于测试交互式程序的工具包提供了创建交互式程序、读写它们的输入和输出的命令。Expect非常适合编写测试程序,无论测试的软件是批处理的(例如)GCC),或者交互式(例如GDB),它可以方便地捕捉程序的输出并自动化程序的输入。

对于完成的测试脚本,需要选择合适的框架统一管理测试脚本,驱动测试脚本按流程执行,为测试执行结果提供统一的输出。经过比较,选择了各种测试框架DejaGnu和TET,由于这两个框架应用广泛,活跃度较高,有活跃的社区组织支持。TET它支持多种脚本语言,为各种脚本语言提供服务c/c++,Java,perl,shell,ksh,python,ruby,php,tcl/expect支持分布式测试等多种语言。Dejagnu即GNU测试框架,为运行测试提供了统一的前台,对于用户来说,DejaGnu其实是一个Tel库,它提供了丰富的函数库,使用户能够轻松地编写自己的测试驱动程序。该框架的缺点是缺乏只支持呼叫的支持Expect如果需要调用其他语言编写的测试程序,则需要扩展框架。

(2)实际应用

在Linux操作系统上有许多命令行客户端和交互式客户端,如常见的网络服务程序sshlftp,telnet,数据库客户端mysql,配置管理软件CVS。等等。使用上述测试技术可以完成此类应用程序的测试自动化。

在中标软件的测试实践中Dejagnu框架,框架符合POSIx1003、3测试框架标准,并定义了测试用例执行结果的输出函数,如pass,fail,xpass,xfail等等,因此可以使用框架的用例输出定义在日志中记录测试结果。


热门期刊