如何做UAT的自动化测试?

发表于:2019-12-10 10:57  作者:赵阳阳   来源:掘金

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 软件测试技术 自动化测试

  什么是UAT?
  用户验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
  UAT 特点
  验证在真实场景中软件产品的功能表现。
  测试范围广,UAT力求全面覆盖整个产品,这是使验收测试任务自动化变得如此困难的因素之一。
  流程方面,UAT遵循系统测试。如前所述,用户验收测试是软件投入使用之前的最后一个测试阶段。
  自动化用户验收测试可以是回归测试的一部分,在主要版本发布之前,团队可以重新运行UAT套件。
  执行UAT的必要性
  可能你会觉得软件经历了单元、集成和系统测试,验收测试的需求就显得多余了。但是还是需要进行验收测试,因为:
  开发人员根据需求文档编写软件,需求文档是他们对需求的“自己”理解,实际上可能不是客户需要的东西。
  项目过程中的需求变更可能无法有效地与开发人员进行沟通。
  何时执行UAT
  在整个软件开发的生命周期中,用户验收测试对应的是需求评审阶段。
  UAT执行标准
  业务需求必须是可用的。
  代码开发全部完成。
  完成单元测试、集成测试和系统测试。
  没有中,高级的功能缺陷。
  在UAT之前,只有外观错误是可接受的(页面样式或者文字拼写)。
  回归测试应该在没有重大缺陷的情况下完成。
  所有已知的缺陷都应该在UAT之前进行修复和测试。
  UAT环境必须准备好。
  来自系统测试团队的邮件或通信,确认系统已准备好执行UAT。
  如何执行UAT
  UAT也是用户熟知的Beta测试,这种类型的软件测试通常在客户场所执行,由系统或软件的使用用户来完成。一旦满足了UAT的执行标准,测试人员需要完成以下任务:
  UAT 执行流程
  业务需求分析
  创建UAT测试计划
  确定测试场景
  创建UAT测试用例
  测试数据的准备
  运行测试用例
  确认业务目标
  手工测试是进行UAT的正确方法吗?
  在一个典型的项目中,手动运行预发布的UAT测试套件可能需要2-3个测试人员一周的时间。随着项目的增长,运行用户验收测试所需的时间也在增加。在某种程度上,交付频度不断提高的压力使公司跳过一些UAT运行或完全放弃UAT。
  很少有QA团队真正用自动化做验收测试。据统计(TestDrive UAT),只有大约3%的软件测试团队自动化了UAT过程。虽然这些数字可能不够精确,但它们确实说明了一个目前的状况:对于大多数团队来说,大多数UAT还是依赖于手工测试。
  为什么自动化在用户验收测试中普及率比较低呢?根据我在很多团队中看到的情况,由于测试团队编码能力有限,写出的代码不够健壮或者根本写不出来自动化代码,代码能力成为测试团队的主要瓶颈。
  自然语言驱动UAT
  测试人员平时写了很多测试用例,测试用例作为自然语言可以被所有用户理解。测试人员可以从UAT测试的角度,将测试用例抽离出来组成不同的UAT场景。
  Cucumber (github.com/cucumber/cu…) 作为行为驱动框架可以将用例与代码结合起来进行自动化UAT。作为测试人员可以将UAT用例编辑到feature文件中,在对应的步骤上实现自动化脚本操作。例如下面的场景:
   场景: 购物车结算
  假如打开浏览器并导航到"https://cuketest.github.io/apps/shopping-cart/"
  当点击添加到购物车按钮
  那么此时按钮文字应该为"Sold Out"
  而且弹出账单 "Total: $4.99"
   上面用例可以轻松转为UAT测试场景,借助CukeTest(cuketest.com)工具,可以方便的编辑基于gherkin标准的场景描述,并将这些场景与自动化代码关联起来,实现UAT自动化。
  进行UAT测试,直接点击运行项目,就可以自动化运行,并且在运行过程中,会在桌面上直接显示字幕,显示当前运行到哪个场景及哪个操作步骤,方便了解UAT进度。
  运行结束后,可以自动生成报表文件,查看整体的运行结果。
  此外它还能在执行过程中录制UAT自动化操作的视频,方便在必要的时候重新查看操作过程诊断问题。
  UAT涉及的应用类型很多,如Windows应用、Web、API、移动应用、WPF、Qt、Java等,同时在一个脚本中操作多种类型的应用。或者要在多平台下执行,如Windows、Mac、Linux。幸运的是,CukeTest作为UAT自动化测试工具对这些平台都有支持。详情可查看之前的文章Node.js开发多端自动化步骤详解(Windows,Mobile,Web)。你只要掌握流行的JavaScript语言,就可以对所有的应用类型做UAT测试了。
 
     本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2020, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道