Test Automation-如何使用Python开展自动化测试

分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击人工智能教程

这是一个比较大的话题,本文主要从以下几部分内容来谈一下这个话题:

1、什么是自动化?

2、分层自动化又是什么?

3、如何使用Python实现自动化测试?

4、RobotFramework是否适合你?

5、自动化如何落地,如何进行日常维护?

什么是自动化?

自动化测试的定义:

自动化测试是通过测试工具或者其他手段,按照测试工程师的预定计划对软件产品进行的自动的测试,它是软件测试的一个重要组成部分,它能够完成许多手工无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。

如上就是自动化测试的概念,概括而言,无非就是使用自动化的手段代替人工,但是不是完全代替人工。即使自动化脚本写的再智能,也不可能完全代替手工,并且自动化所耗费的人力也是对于整个项目组很大的开支。所以自动化测试不是万能的。

自动化测试的概念引出后,接着介绍一下自动化所包含的种类,在市面上最流行的自动化包括如下几类:

1、UI自动化

2、接口自动化

3、App自动化

4、单元自动化

5、自动化测试工具

种类比较多,是不是所有的自动化种类都要在项目开展?这就引出下一部分内容,什么是分层自动化?

分层自动化又是什么?

先来谈谈在工作中看到的关于自动化测试的几个误区:

1、自动化测试脚本在完成后,因为产品更新导致大量测试用例失效。由于团队忙于新功能测试,当失效的用例积累越来越多时,这些测试用例就慢慢失去了维护。如果开发这些用例的同学还在的时候可能还好办一些。

2、大量的自动化测试脚本没有发现问题,上线后仍然问题不断。在测试中我们主要针对正常流程进行测试,但是在线上出故障的往往是非正常流程。

3、代码质量问题严重。很多人写的单元测试只是构造一个输入然后检查返回值,结果是测试通过了但是问题却遗漏了。

4、重复制造轮子。大量的团队都在开发自己的自动化测试框架,实际上只是对各种开源框架进行裁剪完善。

知道了上面的几个误区,这时我们谈一下分层测试,分层测试包含如下几个层次:

1、单元测试:开发者编写的一小段代码,检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。

2、集成测试:也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。在这里我们可以认为就是接口测试。

3、系统测试:将需测试的软件,作为整个基于计算机系统的一个成员,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素及环境结合在一起进行测试。在这里我们就可以理解为是UI测试。

如何使用Python实现自动化测试?

就语言本身而言,Python实现自动化无非就是调用对应封装好的API。在众多自动化测试框架中,针对语言都有对应的封装 。但是林林总总,自动化测试无非就要是分为这几大类型,在这里分别指出对应的自动化测试框架。

1、UI自动化

Web自动化:Selenium

GUI自动化:AutoIt

2、接口自动化

urllib2

requests

3、App自动化

Appium

4、单元自动化

和语言有关

看到如上框架,大家肯定会感觉学习自动化,你不仅要熟悉基本的框架内容知识也要对语言有相当的了解,才能真正的实现自动化测试。所以就引出今天要介绍的自动化测试框架RobotFramework。

RobotFramework是否适合你?

版本迭代的速度很快,迭代的时间很短,自动化测试开发时间太短。自动化测试开发框架开发代价太大。尤其是针对初创团队,开发框架人力成本太高。实际的项目,特别是大型项目,功能通常都是非常复杂的,对构建自动化测试用例也是一种挑战。

综上而论,针对部门规模也是有一定界限的真正实现自动化测试的方式和方法。

对于大型测试部门,有较强的开发能力可以考虑做一套自动化测试框架;但是针对小的团队,还是要选择轻量级的成熟的自动化测试框架。

RobotFramework特点

1、易于使用,采用表格式语法,统一测试用例格式。

2、可以使用关键字驱动(Keyword-Driven)、数据驱动(Data-Driven)和行为驱动开发 (BDD) 完成。

3、重用性好,可以利用现有关键字来组合新关键字;结果报告和日志采集使用HTML格式,易于阅读。

4、易于集成,提供了命令行接口和基于XML的输出文件。

5、易于与版本管理集成。

6、关键字单词化,容易理解。

自动化测试只要用RobotFramework一个框架基本都能够解决

RobotFramework自动化测试框架是一个融合关键字驱动和数据驱动的自动化测试框架,本身在自动化角度上这种融合化自动化测试框架,是当前自动化框架发展的整体趋势。尤其是在工作当中只简单使用一种框架,不能够满足工作中遇到的需求的时候。

自动化如何落地,如何进行日常维护?

在实际的工作中自动化测试如何落地这个问题也是很大的痛点,往往自动化做了一大堆,却解决不了在工作中的实际问题。实际上,自动化存在的价值无非就是两个方面:一是辅助做测试数据,二是做冒烟测试和回归测试。如果这两点都没有做到,自动化测试是不可能实现真正意义上的应用,也谈不了节省人工。在实际工作过程中,还有一点也是很重要的一个问题,就是自动化刚开始做的时候,一定要打好地基。如果地基打不好,整个框架到后期会发现很多问题暴露出来,往往到最后就会舍弃这个框架。框架的选择和框架的开发是很重要的,要求短期内自动化测试一定要做出来,可想而知自动化是不可能短期内做出来的,架构设计不好,到后期返工可能性会更大。所以这也就决定了自动化前期不是盲目性的,要做好地基。

同样这也引出这次话题的重点,RobotFramework自动化测试框架,一个成熟的自动化测试框架,而且这个框架背后有Python语言作为扩展,所有Python能够实现的东西,在这个框架都可以实现。框架很多,在选择的角度上而言,找一个成熟的框架,把工作的重心放到管理测试用例上,这个才是做自动化的最高层次,也是最贴切工作的价值和意义。一切推崇高技术含量而没有一点贴近工作的框架都是在浪费时间和成本。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值