自动化工具以及开发语言的选择

自动化工具以及开发语言的选择

1、自动化工具

假如你已经确认了自己测试的项目适合做自动化测试,那么接下来你要做的就是选择测试工具了。

首先要先确认你所测试的产品是桌面程序(C/S)还是web应用(B/S)。

桌面程序工具有:QTP、AutoRubber

Web应用的工具有:QTP、AutoRunner、Robot Framework、watir、selenium

由于B/S架构的诸多优势,早几年前大量的C/S架构的应用转为B/S架构。从而也推动了web开发与测试技术的发展。假如,被测试的有产品是C/S架构的,那么腿甲QTP,QTP在UI自动化测试领域占到了一半的试用率。所以,足以说明QTP在自动化领域强大,易用性等。学习主流的工具也可以使你获得更多的机会。市面上关于QTP的书籍也非常丰富。当然,要想学好QTP,你必须要掌握VBS脚本语言,目前大部分程序都是B/S架构,所以QTP的使用进程也是在逐步降低,并没有了当初的火爆现象。

如果,被测产品是B/S架构,那么推荐selenium,为什么不是QTP或者其它工具?

因为selenium对B/S应用支持很好,更重要的一点,它支持多语言的开发,真正的使用selenium,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。我为什么要选择selenium?还要学习一门语言,这无疑增加了我的学习成本。增加成本的同时,也增加的你的竞争力,而且在这个过程中你不单单只是学会了一个自动化工具而已,你完全可以使用所学的语言去做更多的事情。

好吧!假如你决定试用selenium了之后,你又面临了一个新的问题,选择一门语言。Selenium是支持java、Python、ruby、PHP、C#、JavaScript。

从语言易学性来讲,首选ruby、Python

从语言应用广度来讲,首选java、C#、PHP

从语言相关测试技术程度(及资料)来讲:ruby、Python、java

或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。

作为小白入门,我们推荐Python+selenium来做B/S架构的自动化测试,语言易懂入门简单。

2、神秘的单元测试框架

单元测试是一个贯穿于整个开发过程的连续过程,单元测试目标一般是某个类或者是函数,单元测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败。上文我们举例说,我们选择Python+selenium来做为自动化入门的推荐,为了更好地理解Python unittest这一单元测试框架的作用,我们来举例进行说明:

下面我们写一个比较简单的函数,加法函数:

Class Add:

Def add(self,a,b):

C= a+b

Return C

单元测试代码:

Import unittest

class TestAdd(unittest.TestCase):

def setUp(self):

pass

def test_add(self):

a=Add().add(4,5)

self.assertEqual(a,9“结果错误,请检查输入的数据或者是代码!”)

suite=unittest.TestSuite()

suite.addTest(TestAdd(“test_add”))

runner=unittest.TextTestRunner()

runner.run(suite)

单元测试结果:

D:\python_33\python.exe “C:\Program Files(x86)\JetBrains\PyCharm Communi ty Edition 3.4 4\helpers\pycharm\utrunner.py” D:\python_33\code\python_2017\test.py truTesting started at 23:15..

Ran 1 test in 0.00s

Ok

Process Finished with exit code 0

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181226B1194Q00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券