展会信息港展会大全

TestBird测试专家:金融App自动化测试的坑
来源:互联网   发布日期:2017-09-02 20:23:47   浏览:27812次  

导读:作者简介:Lily ,TestBird自动化测试高级咨询顾问,拥有7年的项目测试和管理工作,主要负责软件功能、性能、自动化等测试,精通LoadRunner、Selenium、Jmeter等自动化测试工具的使用。 为什么要谈app的自动化测试? 从市场上金融企业对app的重视程度,自然...

作者简介:Lily ,TestBird自动化测试高级咨询顾问,拥有7年的项目测试和管理工作,主要负责软件功能、性能、自动化等测试,精通LoadRunner、Selenium、Jmeter等自动化测试工具的使用。

为什么要谈app的自动化测试?

从市场上金融企业对app的重视程度,自然看出app自动化测试在市场、用户和企业眼中的重要性。甚至有测试部门要求拿着圆规比对icon圆是不是正圆,拿着尺子去量icon尺寸是不是正确!

作为软件质量要求极高的金融行业,在对待app自动化这件事自然走在业内前列。然而,企业本就自动化测试技术不了解,再加上手机终端的严重不足,因此亟待与权威的第三方测试企业合作来满足自动化测试需求。

TestBird沉淀十年,凭借成熟的自动化测试技术,不仅能够解决金融企业手机不足的缺陷,还能利用脚本快速跑测app,并给出丰富的测试报告,帮助企业快速找准并解决问题。

而当前金融行业(银行、证券为主)app做自动化的问题已经不是是否用UI自动化的方式,也不是说是录制、回放,还是写脚本的方式?

答案很明显:app最注重用户体验,自然要做UI自动化,不能让测试人员写脚本(写脚本对测试人员要求极高,也就增加了企业成本)。

世人眼中的UI自动化

手工测试人员:实现了UI自动化,就可以不再手动测试了。

自动化工程师:最大的难点是,维护成本极高、验证功能而非UI、获益关键点在于被测系统本身的稳定性以及自动化技术能力。

TestBird眼中的UI自动化:轻量、简单、高效率

l 无需编写脚本

l 用例的自动化率达到足够高的程度才能获得收益

l 维护成本必须要降低至可接受范围内

l app的自动化是适配多终端、多系统的

今天,就跟大家聊一聊,为了达到极高的自动化效率,我们都遇到过哪些坑!

我们遇到过哪些坑?

在做app自动化过程中,有两大通用性问题不可回避:

1、屏幕分辨率和系统差异

业内人士一定知道,做app的自动化一定不能依靠坐标,坐标最多用作辅助手段。图像识别也被人诟病,极客们通常是“从入门到放弃”。原因是大家用的开源算法,或许做了些优化,但仍然不能适应多样化的app以及app版本的迭代。

示例:采用坐标点击方式不能适配不同机型

因此这种方式必不可取。

2、iOS&Android两套完全不同的系统

用例几乎不分两套系统,可是这两套系统却决定了自动化脚本必须是两套。

对金融企业科技部来讲,要自研这两套系统的app自动化系统,投入太大、时间太久,更不用说操作系统升级后的更新(要知道乔爸爸血统更新一次可能就是换血)。

讲到这里,其实读者已经了解TestBird在做app自动化时,已经采用了控件识别的技术路线,而当我们对阵才智聪明的程序员GG,和推陈出新的技术,以及奇葩的业务需求的时候,前进的途中面临了许多“坑”。

第一大类:影响自动化执行(操作)准确性

===========================================

1、H5技术运用越来越多

H5技术的诞生,给开发者带来了福音,却给自动化开发者带来了强烈的冲击。许多原本已经做好app自动化框架大公司也不得重新考虑。

然而,不管选择哪种机制都必然会遇到一些意外:

●采用非原生webview控件

为了使产品更加完美,开发人员使用了各种非原生的webview控件。

示例:这是开发人员在页面设计时调用了腾讯X5的内核浏览器,就无法用统一的技术获取到页面layout

● 采用非原生webview控件

为了使产品更加完美,开发人员使用了各种非原生的webview控件,示例:这是开发人员在页面设计时调用了腾讯X5的内核浏览器,就无法用统一的技术获取到页面layout

● 使用了iframe标签

诸如此类的问题还有很多,H5的layout获取难,且不精准。都将导致自动化执行失败和预期结果检查出错。

2、键盘加密、验证码获取

● 乱序加密键盘

这是金融行业最一致的问题,为了让每用例脚本互不影响,初始状态都从登录开始。这些乱序加密键盘不可能获取到layout,就必须采用特定算法精确找到数字区域并自动点击。

● 手势密码

还有银行通常使用的手势密码

● 验证码获取

部分金融企业采用了验证码方式:正常验证码,艺术验证码。

都需要用特定的技术手段获取到准确的验证码内容,同时自动化工具有灵活机制实时填入的强大功能。

3、日期控件,不同系统版本、不同手机厂商、不同app开发团队

不管是银行,还是证券,对历史记录的查询都是不可缺少的测试案例。

例如:测试前几年某个月的记录,那就需要滑动、点击很多次。这就导致执行准确度低、用例执行效率低。

因此,这就需要定制化研发一整套(两套系统,多个版本,多种机型)日期自动化设置小工具,才能实现这些用例的自动化。

第二大类:阻塞结果校验正确行

==============================================

1、 提取控件部分内容

示例:如图所示的alert内容,需要提取作为预期结果检查,但合同号“5”是变化的。则只能检查“您的申请已提交,合同号为:”。“5”则要单独提取作为查询的索引。

2、 安卓提示采用Toast机制

toast提示难以抓取,就无法从APP端验证流程正确性。这是评价app自动化工具强大的一个标准。

3、 特殊计算

示例:需要计算持仓1/4、1/3的整数份。

例如:持仓800股(每手为100股),卖出1/3,则卖出数量为:800/3(取整)=200股(2手)。

4、图片比对

比对内容:

第三大类:如何有效应对版本更新带来的批量脚本更新问题

以上问题都建立在app的页面layout信息不变的情况,而实际上是可能变化的,即使是以稳定为主的金融企业,也会因为创新业务需求,改变页面设计。

这就导致一个问题,现在已有大量的测试脚本,这种基于layout的录制方式,页面设计改动后,如何高效更新大量的测试脚本,让自动测试真正的快起来?

好戏应连台,精彩当再续。想知道如何让自动化测试快速高效起来的话,就继续关注公众号,由TestBird权威测试专家为您解读其中的奥秘。

赞助本站

人工智能实验室

相关热词: 测试专家

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港