自动化工具以及开发语言的选择
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
领取专属 10元无门槛券
私享最新 技术干货