软件测试自动化之路(3)----选择自动化测试编程语言

时间:2022-05-04 13:56:27

 哪种语言更适合自动化测试编程?

首先需要明确的是,这篇文章并不想讨论自动化测试领域内所谓的"语言之争",旨在能帮助我们找到适合的自动化测试编程语言。

在.Ne环境中,你最好选择C# 和VB.NET。因为这样不仅能和.NET 的framework相兼容,而且在语言本身也可以做到兼让你感觉到很容易上手,如C#的语法之于C/C++/JAVA ,VB.NET之于Visual Basic 的语法。在微软的非.Ne环境中,你主要可以选择 Visual Basic, C++, Perl。这三种语言各有优缺, Visual Basic很容易上手,但是不如其它两种语言的功能强,这也就意味着会限制自动化测试程序的功能。举例来说,写UI方面的自动化测试,Vsual Basic就不太合适。C++是这三种语言中功能最强的,便编码的工作量比较繁重,特别是要涉及到处理指针与内存的分配/回收方面更是如此。Perl即考虑到了功能又考虑到了易用,可以看成是对这两种语言的折衷,因此我认为它应该适合大多数情形下的自动测试。值得一提的是,Perl本身就着丰富的类库,对于你在写自动化测试程序的时候非常有帮助。

在非微软的程序环境下,你可以选择 Perl, Java, C++作为自动化测试语言。就象和前面讨论的一样,任何语言本身都有它的正/反两面性。Perl因为固有的语法简洁性,所以它的代码比较难维护。C++几乎无所不能,但编码的代价大。相比较而言Java更能适合非微软的环境下的情形。不过最近,Rudy可以作为非微软的环境下的第四种自动化测试语言,Rudy很象是Perl的提高,很遗憾至今我对Rudy可以说是知之甚少,只能预测,随着Ruby libraries 的不断成熟,它会在自动化测试领域有所作为。

有一点仍要强调的是,如果你的AUT(application under testing,比如它是一个数学计算的程序包)要最终被多种语言所写的程序所调用,那你也需要用多种语言的所编写的自动化程序去测试这个AUT。

综上所述,我们并没有得出哪一种程序语言就是适合所有自动化测试情形的灵丹妙药。有人会认为,自动化测试语言你用的越多,效果越好。这可以总结为一句老话:“多多益善”。但它不太让人信服,事实上,我们没有精力去驾驭如此多的语言。所以我认为应该根据个人/整个团队的技术特点,综合考虑测试需要和产品特点选择有效的自动化测试语言。说到此,我相信上面所作的一些分析对你会有些参考价值,我也相信你最终总能找到最适合的那一种程序语言!:-)