请点击输入图片描述(最多18字)
今天,让我们来谈谈对自动化测试的理解?
假如你加入一家新公司,领导让你进行自动化测试,那么作为新人,你将如何进行自动化测试?
高级测试架构师来告诉你如何登陆如何落地自动化测试。本文主题主要分为以下几个部分:
-
什么是自动化?
-
什么是分层自动化?
-
如何使用Python实现自动化测试?
-
RobotFramework自动化适合你的情况吗?
-
自动着陆成功,日常如何维护?
请点击输入图片描述(最多18字)
01什么是自动化?
很多人做自动化已经很久了,但是他们甚至不知道自动化的概念。这样的人也很可悲,但做这样的工作,连最基本的概念都不懂。我会给你以下列表(引自“软件测试人员”,第69页):
自动化测试的定义:
自动化测试是根据测试工程师的预定计划,通过测试工具或其他手段对软件产品进行自动测试。它是软件测试的重要组成部分,可以完成很多人工无法完成或难以实现的测试。正确合理地实施自动化测试可以快速全面地测试软件,从而提高软件质量,节约资金,缩短产品发布周期。
如上所述,它是自动化测试的标准概念。一般来说,无非是用自动化代替人工,但并不是完全代替人工。在这里,我必须指出一个误解。有些人不理解自动化的含义,尤其是有些领导认为自动化是万能的。只要自动化做好了,功能测试就可以完全解放了。即使自动化脚本是智能编写的,也不可能完全替代手工工作,自动化所消耗的人力也是整个项目团队的巨大支出。所以自动化测试不是万能
在介绍了自动化测试的概念之后,我们还想介绍一下自动化的类型。市场上最流行的自动化包括以下类型:
用户界面自动化
界面自动化
应用自动化
单元自动化
自动化测试工具(测试开发辅助工具)
有很多种。项目中是否要进行各种自动化?这让我们有了新的观点。什么是分层自动化?
02什么是分层自动化?
请点击输入图片描述(最多18字)
让我们谈谈我在工作中看到的对自动化测试的误解:
1.自动化测试脚本完成后,大量测试用例由于产品更新而失效。因为团队忙于新功能的开发,当越来越多的无效测试用例积累起来,这些测试用例就会慢慢失去维护。如果你开发了这些用例,你的同学可能很容易就在你身边。
2.在大量的自动化测试脚本中没有发现问题,问题在上线后还在继续。在测试中,我们主要测试正常流程,但所有在线故障都是异常流程。
3.代码质量问题严重。很多人写的单元测试只构造一个输入,然后检查返回值,结果是测试通过了,但是问题被忽略了。
4.重复车轮制造。大量的团队都在开发自己的自动化测试框架,其实他们只是在剪裁和完善各种开源框架。
分层测试包括以下级别:
单元测试:由开发人员编写的一小段代码,用于验证被测代码的一个小而清晰的功能是否正确。一般来说,单元测试用于判断特定功能在特定条件(或场景)下的行为。
集成测试:也称为组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如按照结构图)组装成子系统或系统进行集成测试。这里我们可以把它看作是接口测试。
系统测试:被测软件作为整个计算机系统的一个要素,与计算机硬件、外设、部分配套软件、数据、人员等其他系统要素和环境一起进行测试。这里我们可以把它理解为一个UI测试。需要另一个全面的规则。越早发现,修复成本越低。
03如何使用
如何使用Python实现自动化测试?
就语言而言,Python自动化无非是调用相应的打包API
在许多自动化测试框架中,有相应的语言包。然而,有许多类型的自动化测试。我分别指出了相应的自动化测试框架:
用户界面自动化
网络自动化:硒
图形用户界面:自动设置
界面自动化
urllib2
要求
应用自动化
appium
单元自动化
语言相关。
看到上面的框架,大家一定会感受到学习的自动化。你不仅要熟悉基本的框架内容知识,还要对语言有很好的理解,这样才能真正实现自动化测试。因此,引入了今天要介绍的自动化测试框架RobotFramework。
04合适吗?
RobotFramework自动化适合你的情况吗?自动化测试开发面临的问题:
版本的迭代速度很快,迭代时间很短,自动化测试开发的时间太短。自动化测试开发框架的开发成本太高。尤其是对于初创团队,开发框架的人工成本太高。
实际项目,尤其是大型项目,通常在功能上非常复杂,这也是构建自动化测试用例的一个挑战。
综上所述,部门的规模是有一定限制的,真正实现自动测试的方法和手段。
对于大规模的测试部门,可以考虑做一个开发能力强的自动化测试框架,但是对于小团队,还是需要选择一个轻量级的、成熟的自动化测试框架。
RF特点:
易于使用,采用表格语法,统一测试用例格式。
可以通过关键字驱动、数据驱动和行为驱动开发(BDD)来完成。
复用性好,可以用已有关键词组合新关键词;结果和日志
收集HTML格式,便于阅读。和平台适用性。
易于集成,提供命令行界面和基于XML的输出文件。
易于与版本管理集成
关键词单词化,通俗易懂
RF实现的架构图:
请点击输入图片描述(最多18字)
RF代码示例:
请点击输入图片描述(最多18字)
自动化测试只能通过射频框架来解决。
射频自动化测试框架是一个集成了关键词驱动和数据驱动的自动化测试框架。从自动化的角度来看,这种集成的自动化测试框架是当前自动化框架发现的总体趋势。尤其是单纯的在工作中使用一个框架,并不能满足工作的需要。
05日常如何保养?
在实际工作中,自动化测试如何落地的问题也是一大痛点。自动化往往做得很多,但解决不了工作中的实际问题。自动化的价值不外乎两个方面:
一个是做测试数据的辅助功能。
二是做烟度测试和回归测试。
如果没有做到这两点,就不可能实现自动化测试真正应用,也不可能节省人力。在实际工作过程中。还有一点也很重要。自动化刚起步的时候,打基础是非常重要的。基础打不好,整个框架后期会暴露出很多问题,最后往往会被抛弃。框架的选择和开发非常重要,这就要求自动化测试必须在短期内完成。可以想象,短期内无法做到自动化,架构设计不好,后期返工的可能性会更大。所以决定自动化前期不盲目,基础要打好。
请点击输入图片描述(最多18字)
这也引出了我们今天的重点,RobotFramework automatic Testing Framework,一个成熟的自动化测试框架,而Python语言作为一个扩展就在这个框架的背后,Python能够实现的一切都可以在这个框架中实现。有很多框架。从选择的角度来看,找到一个成熟的框架并专注于管理测试用例是自动化的最高水平。也是工作最合适的价值和意义。鼓吹高科技内容的东西都不贴近工作框架,这是浪费时间。