随着移动互联网的蓬勃发展,更多的软件企业在追求高速发展,同时还面临着人力成本不断上涨的压力,企业在软件测试过程遵循着按部就班的测试流程,同时又要求不断缩短测试的迭代周期,这两者本身就是个矛盾体。同时越来越贵的人工成本,迫使软件企业寻找更为完美的解决方案。而机器人流程自动化(RPA)的出现给软件自动化测试提供了一种全新的解决方案。RPA可实现快速部署,满足7 X 24小时不间断的自动执行测试用例,节约了软件企业大量人力成本,极大地提升软件测试效率,缩短整个测试周期,提高软件产品质量。

  RPA相关介绍

  1 RPA的定义

  RPA全称为:Robotic Process Automation,即机器人流程自动化。RPA是以机器人作为虚拟员工,依据预先设定的程序与现有用户系统进行交互并完成预定的任务。它是一种智能化软件, 通过模拟并增强人类与计算机的交互过程, 实现工作流程中的自动化。通过执行大量结构化的、重复的、基于明确规则的任务,进而重复的自动化执行业务流程。简单来说,RPA就是用软件机器人来代替人工完成特定的工作。

  2 RPA相关术语

  Robot:是模仿人类行为动作的实体,被称为RPA机器人,例如模仿人类点击、复制粘贴、填写表单、Excel表格处理、登录网站、打开应用程序、登录业务系统等操作。

  Process:是一系列的操作步骤,这些操作步骤最终可以导致某项有意义的活动,例如,登录财务系统并下载财务报表并自动发送指定邮箱,从办公OA系统下载Excel考勤记录表格来计算员工工资。

  Automation:是由机器人在没有人为干预的情况下完成的业务流程。

  3 RPA的技术特点

  RPA代替人工以相同的方式与现有系统进行交互,能实现非侵入式快速部署,准确而快速的执行重复性的工作。判断一个企业客户的需求能否通过部署RPA应用来实现,主要从下面三个方面考量:

  (1)基于明确的规则。RPA通过模拟人工操作来执行大量特定规则的任务,因此,RPA适用的前提就是业务流程规则必须是明确的,可转化为数字化的指令或输入来触发。

  (2)机器自动化处理。RPA代替人工来处理任务,根据预先设定好的业务流程自动化执行。因此,RPA可以7 X 24小时繁琐重复工作不间断的地执行,提高工作效率。

  (3)模拟用户操作与系统交互。RPA通过模拟用户操作来实现流程的自动化处理。比如网站的自动打开和搜索,系统的自动登录,EXCEL内容的提取和自动填写表单,OCR识别等。

  

  ​

  RPA与传统自动化测试工具

  1传统自动化测试工具

  目前国内外主流的自动化测试工具主要有:QTP、Win Runner、RFT、Selenium等,虽然可以提高测试执行效率,提升测试团队的整体水平,但是也存在一些不足:

  (1)自动化测试工具操作复杂。目前主流的自动化测试工具,都需要测试人员根据测试案例编写自动化测试脚本,因此测试人员需要熟悉软件系统功能,并且具备一定的代码编写能力。这就对测试人员提出了更高的要求,无形中提高了软件自动化测试工具的使用门槛。

  (2)业务流程不清晰明了。自动化测试工具是通过执行一条条的测试用例来检验软件系统的功能特性,但是测试用例是非流程化,可读性不够好,很难直接清晰明了的展示用例所涉及的业务流程。不同的人执行同一个用例,就需要反复熟悉用例,很难保证测试效率。

  (3)自动化测试用例编写成本高。前面提到自动化测试用例的编写需要测试人员具备一定的编码能力,这就造成编写测试用例耗时耗力,软件产品每迭代一次,自动化测试脚本就要随之迭代,因此,自动化测试脚本的可维护性比较差,客观上造成了自动化测试工具的使用效率不高。

  2 RPA与传统自动化测试之间差异

  RPA和传统自动化测试工具是软件自动化测试的两种途径。它们之间既有相似之处,又存在着差异。例如:它们具有类似的技术,都通过驱动鼠标、键盘等来完成操作。

  (1)软件自动化测试主要执行一条条的测试用例。RPA工具通常采用非侵入的方式在多个系统之间完成数据的交互,以此来执行一套完整的业务流程。软件应用或产品更新后,自动化测试脚本也要修改。也就是说随之软件应用或产品的不断迭代,测试脚本也要频繁修改,而RPA由于采用非侵入式的方式,不会改变现有系统架构,也无需与现有系统进行接口对接,一旦部署完成,一般很少修改。

  (2)软件自动化测试的脚本一般通过出错截屏的方式来记录错误信息,而RPA工具本身就有异常处理机制,确保流程按照预定规则执行,并且会详细记录流程执行的过程日志和影像数据,方便用户查看。

  (3)软件自动化测试主要是通过功能分解和对象识别来完成的,基于对象来操作元素。而RPA由于要跨多个系统或平台进行操作,显然应用对象识别就不现实了,而是采用OCR识别技术来识别屏幕文字和图片文字来实现业务流程。

  3 RPA在软件自动化测试中的优势

  RPA为软件自动化测试提供了一种全新的途径,相比传统自动化测试,RPA在软件自动化测试中的主要优势有:

  (1)图形化的业务流程。由于测试用例即业务流程是以流程图的形式展示出来,因此整个业务流程和各种分支清晰明了,即使非IT技术人员也无阅读障碍,大大降低测试遗漏的风险。

  (2)基本无需任何编码。即使是非IT技术人员,通过简单的培训,也可以轻松上手使用RPA来设计测试用例(业务流程)。

  (3)测试用例编写效率高。通过图形化的操作和鼠标点击,就可以设计出测试用例,大大缩短了测试用例的设计时间。

  (4)软件机器人自动化执行。由软件机器人7 X 24 小时不间断地执行测试用例,节省人力成本,大大提高了测试效率。

  RPA应用的局限性

  通过以上介绍,我们知道了RPA应用有很多优势,但是RPA流程也有一些局限性。

  (1)RPA机器人的执行效率受限于应用程序的速度,在自动化应用程序中即使进行的微小改动也需要重新配置RPA机器人。

  (2)RPA本身虽然有异常处理机制,但是还不够完善。目前RPA厂商提供的软件在应用执行过程中的异常处理机制不太完善,例如出现系统宕机、业务中断、交易回滚等问题没有一个较好的解决方法,如果某些业务流程有特殊要求,异常处理机制的不完善会带来不好的用户体验。

  (3)RPA实施的前提是明确的业务规则。RPA应用能实现快速高效部署,但是这种高效是建立在明确的业务规则基础上的。如果业务规则不明确,那么RPA机器人执行过程中就可能会发生异常。一旦业务流程复杂且规则模糊,RPA机器人是无法完全代替人工完成逻辑判断,就需要人工去干预,这种场景就不适合用RPA技术的。

  如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司

基于RPA的自动化测试研究相关推荐

  1. matlab 基于GUI的PID研究

    基于GUI的PID研究 本例子中设计一个PID控制器来研究不同参数对输出结果的影响,PID控制器由比例单元 P.积分单元 I 和微分单元 D 组成.PID 控制器是一个在工业控制应用中常见的反馈回路部 ...

  2. 基于APK的自动化测试

    Robotium第一个例子(NotePad)中是基于源码的自动化测试,Robotium也可以基于APK进行自动化测试,也就是说你只要有APK文件,没有源代码,也可以进行自动化测试的. 在做基于APK的 ...

  3. python appium自动化测试框架unittest_Appium基于Python unittest自动化测试 自动化测试框架 -- PO并生成html测试报告...

    基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告 代码示例: #利用unittest并生成测试报告 class Appium_test(unitt ...

  4. 微软开源基于云的生理学研究工具

    Bio Model Analyzer是一款微软基于云的生理学研究工具,可以用于对化细胞交互和通信进行建模,现已经在GitHub上开源,在MIT许可之下. 研究人员使用Bio Model Analyze ...

  5. Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

    Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...

  6. 设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层

    设计自己的基于Selenium 的自动化测试框架-Java版(3) - 给框架分分层 给我们的框架分为3层,分别是叫逻辑层,数据层,对象层. 这三层的存储格式都用xml来表示. 1.逻辑层 (test ...

  7. 设计自己的基于Selenium 的自动化测试框架-Java版(2) - 定义自己的工作流程

    设计自己的基于Selenium的自动化测试框架-Java版(2) -定义自己的工作流程 Work flow chart 上图是整个工作流程,红色虚线上面的需要手动来完成,红色虚线下面的实现自动化. 我 ...

  8. 基于支持向量机的谐波分析研究与实现

    基于支持向量机的谐波分析研究与实现-附Matlab源码 文章目录 基于支持向量机的谐波分析研究与实现-附Matlab源码 前言 一.支持向量机分析电力谐波的原理 二.基于 SVM 的电力谐波分析与仿真 ...

  9. 基于无线信号的手势识别研究现状调查

    摘要:进入21世纪以来,人机交互技术持续发展,手势识别是代表之一.2013年,华盛顿大学的研究人员提出了使用无线信号进行手势识别的方法,给传统的手势识别技术带来的一定的挑战,但是这一技术并不是很成熟, ...

  10. 基于NSGA-II算法的研究和改进

    基于NSGA-II算法的研究和改进 在大学的时候学习了有关NSGA2算法的相关知识,对这个颇有兴趣,想着把自己学习的内容都记录下来.同时也是自己第一次开始写博客,想开始自己以后的博客之路,为下班后的业 ...

最新文章

  1. js 万年历农历转阳历 方法_Python 农历公历算法转换
  2. 带头结点的线性表的链式实现
  3. linux下如何修改系统时间
  4. MobaXterm 12中文版
  5. 企鹅java游戏下载安装_企鹅企鹅生活安卓版游戏下载|企鹅企鹅生活手游下载v1.6.1-乐游网安卓下载...
  6. [网摘]CSS z-index 属性
  7. Centos7 下cobbler安装及配置
  8. vscode安装旧版本插件_2020 我在使用VScode时安装的插件(针对前端开花推荐)
  9. 别说我不告诉你,如此养车包你把自己也养穷了……
  10. python导入data数据_python实现从wind导入数据
  11. win10下搭建QTP测试环境
  12. android 语音库,安卓系统也能用苹果语音库:Vocalizer TTS语音引擎及语音包合集
  13. ogg怎么转mp3格式,ogg转mp3方法
  14. 【系】微信小程序云开发实战坚果商城-云开发之分类数据实现
  15. 《你心柔软,却有力量》-林清玄--读书笔记
  16. 只要不上网,pc机就不会感染计算机病毒,计算机考试试题训练
  17. 一些比较好用的域名信息查询网站
  18. 机器学习的五大分类,监督学习 无监督学习 半监督学习 迁移学习 增强学习
  19. Photoshop设计精讲笔记
  20. C++文件服务器项目—数据库表设计 与 后端接口设计—6

热门文章

  1. 用React Hooks与Web Animation API实现动效组件
  2. 360无线网怎么没有网络连接到服务器,360路由器设置成二级路由器教程 | 192路由网...
  3. python千人成像_ps怎么制作一个千人成像照片拼图?
  4. 有一个3x4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号.
  5. 思科2960交换机密码破解
  6. 切线空间?切线空间的作用到底是什么?
  7. php后端开发需要懂什么意思,PHP中的=什么意思?_后端开发
  8. BLE设备地址类型笔记
  9. @拔赤:前端开发十日谈
  10. 电脑搜索不到wifi信号的问题解决