是项目的保险,但不是项目的救命草;测试无实际产出,但作用远大于实际产出;测试是从项目维度保证质量,而不是测试阶段。
基于UI进行自动功能测试,以Web端作为例子,一般的UI功能自动化都是基于HTML的Dom内容进行操作,一般都是使用webdriver + JavaScript的方式进行,目前最流行的一套基础框架就是Python + Selenium。
很多测试人员或者项目负责人都认为,自动化测试一般都在项目稳定之后才使用脚本对项目进行稳定性测试或者一些回归测试中,但随着项目组织架构的完善和目前大环境太卷(?)了,其实每个迭代的新需求都可以直接使用自动化测试来进行,前提是需要:
1. 开发人员需要尽早提供完善的Dom结构内容
2.测试组全部人员都需要具备脚本开发能力。
自动化脚本只有20%的作用,最重要的是测试案例的选取,一切的测试依据都来自于测试案例,记住自动化的用处,是用来找快速找缺陷的。
目前项目组的所负责的系统需求较多,测试案例数量也较多,测试场景复杂,测试数据制作复杂,并且有部分系统已经趋于成熟,所以打算开始进行UI自动化测试。
UI自动化测试其实是一门【水】很深的工作,因为UI自动化测试是需要根据前端页面元素,也就是HTML脚本来进行元素提取、操作、验证的测试流程,另外再加上项目的测试环境软件硬件的因素,在编写自动化测试脚本的时候需要考虑到很多的情况出现而要去判断当前页面出现的元素到底是什么情况,不然脚本的稳定性很不好,维护工作也会非常的高。另外在编写自动化脚本的时候,你会慢慢的熟悉你项目系统前端页面的代码,当下很多前端开发人员在制作新的项目前端页面时都会直接用现成的组件生成,这种HTML代码会使你开发脚本时难上加难,因为里面的标签命名根本就是乱来的(可以说是看得出一个前端开发人员的水平?)
目前项目组中所负责的需求分为两种:手机端(Native+H5),PC Web端。
因为我们是属于App的一个渠道方,Native方面并不是我们组内人员开发的(其实主要大公司在代码方面管得很严无法拿到Native的iOS和Andriod的代码所以这个需要和他们管沟通,不然无法做App的UI自动化),我们的前端开发主要做的是里面的H5页面,并且手机端的需求现在还经常有变化,所以手机端的UI自动化还不纳入UI自动化的执行范围,我们主要做的是PC Web端的UI自动化。
这篇文章(其实可以说是笔记)主要来讲一下我在做这个项目的UI自动化测试的过程以及心得。
文章主要讲的是:介绍UI自动化、组内UI自动化的架构、测试脚本的编写规范/心得
*验功能不要验样式
ui自动化是无法识别你当前页面的图形形状以及颜色这类,就算是兼容性也只能从功能层面来验证,当然除非使用了图形识别组件这类功能的话另说。
利处:快捷、方便、无须手工操作
弊端:脚本编写成本高、案例开发时间长、需要长期维护
目前自动化项目处于初期试实行阶段,并没开发得很强大的功能,因为首先要保证可以走得通走得稳,并且每个测试同学都可以用的前提下去开发的,所以采用的是Python 3.6+ Robot Framework Ride + Selenium2Library(PC Web)这一套比较传统的框架,代码由GitLab上管理,其实这一套框架即使是没什么代码基础的测试同学或者还是懂代码的测试同学也好,用起来也是非常的方便的。
有AppiumLibrary,针对手机端做自动化的,但是目前手机端做起来比较困难,暂时不考虑,这里也不先写。
以下三点不做:
随便点一下就能验证的不做;
一条案例多个验证点的不做;(这种案例本来就有问题,必须把这种案例拆分)
界面图形验证,图片验证,颜色区分不做;(有过要我验证报表图形的,折线图、扇形图这种,其实可以通过验证时截图)
以下两点必做:
前期数据准备步骤复杂流程长;
一个验证点的步骤复杂流程长;
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
文档获取方式:
加入我的软件测试交流群:1007119548免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取