(一)、Python自动化测试--自动化简介

1、什么是自动化?

自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。 让机器自己动,就是自动。让机器按照人类的要求,把软件的所有功能遍历一遍,这是自动化。

2、自动化测试方案:

主流的自动化测试方案,无一例外,都有人机沟通的编程语言,加上机器操作的工具来组成。

VBScript + QTP(HP UFT),商用功能自动化测试方案 。

Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 单元测试框架,开源功能自动化测试方案,Selenium/Appium 本身不能算是测试工具,而只是机器用来操作浏览器的工具,工具外加指定的语言,可以让机器来操作浏览器,但是到此时还无法做到测试,于是才需要每个语言自己的单元测试框架,来一起完成这个功能自动化测试方案的构建。

3、自动化测试范围:

自动化测试覆盖了从 UI (功能测试)到契约(接口测试)以及底层代码方法(单元测试)的整个过程,要想很好的掌握自动化测试,那么的确需要以下三种领域的经验积累: 编程语言,面向对象编程优先,因为大量的开源技术方案,都是基于面向对象的编程方式。 第三方测试工具和测试框架,这些主要通过官网的文档学习。 测试的理念与设计,工具和语言,只是测试的手段,如何准备测试数据,如何设置测试的检查点与测试步骤,这些决定了测试的成败。

4、自动化测试的发展:

第一代的自动化测试大概在15年前开始,透过硬件的方式录制键盘的输入并播放,但缺少检查点(checkpoint)的功能,而且测试脚本很难维护。

第二代的自动化测试则大约在10年前开始的,这时已经由硬件转变成透过软件录制/播放(capture/playback)的方式产生测试脚本(), 并且也增加了检查点的功能,可以对软件做验证,测试的范围也比硬件方式的自动化方式大了许多。比较大的问题是测试脚本也是一种程序语言,所以测试人员也需 要懂程序语言,换句话说就是要会写程序。而且当软件有变动时,测试脚本也需要同步更新,这对测试人员来说是一大挑战,测试人员常常就是整个测试脚本再重新 录制一遍。

在2001年开始了第三代的自动化测试称为「测试框架(test framework)」,主要是把测试脚本给抽象化(abstraction)(注:如Keyword-Driven Test),让非技术人员(如系统分析师、使用者等)即使不懂测试脚本,不会写程序的情况下,也可以使用自动化测试工具建立自动化测试个案。

第四代Mercury Business Process Testing:专注于业务需求的自动化测试。随着测试仪器和测试技术的不断提高,自动化测试技术也经历了不断的完善、提高和发展的历程。

5、自动化发展趋势:

1)、测试任务复杂、工作量大,对侧试系统的功能、性能提出更高的要求。

2)、测试速度快、精度高,测量准确度高。

3)、长期进行定时或不间断测试。

4)、危险或测试人员难于进入的场地的测试。

5)、延长测试设备本身寿命。

6、自动化测试优点:

a) 节省人力,只要代码维护的好,不需要那么多人就可完成测试

b) 节省时间,测试脚本可以晚上或者是周末跑测试脚本

c) 优化资源分配,在运行测试脚本的同时,QA可以做其他事,比如设计新测试用例

d) 方便回归,极大提高效率

e) 增加软件的可信度,测试是机器执行的,排除了手工测试时因人为情绪而发生的随意性或疏忽性,测试结果更可信

f) 能完成手工不易控制的工作,比如采集系统cpu占有率信息,手工计算很复杂,还要进行数据比对,使用脚本更简单,更方便

7、自动化测试的缺点:

a) 脚本维护成本高,尤其是版本变动比较大,对项目来说,是潜在的风险

b) 不易发现新bug

发布了138 篇原创文章 · 获赞 21 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/grl18840839630/article/details/104716645