找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
UI自动化测试理论基础
1、什么是UI自动化测试
原本用手工操作用户UI页面的方式,用代码去实现自动化操作和验证的行为。
2、UI自动化的优点

a.解决重复性的功能测试和验证
b.减少测试人员在回归测试时用例漏测和验证点漏测c.减少回归测试的人为,时间的成本,提高测试效率
3、什么样的项目适合做自动化测试
a.需求比较稳定,需求变更不能太频繁
b.项目周期比较长
c.UI控件和页面元素不能频繁变更
4、UI自动化测试的场景和作用用来做回归测试
5、UI自动化的覆盖率
a.用例数量覆盖率:占当前迭代版本功能测试用例总数的15-20%
b.场景覆盖率:占当前迭代版本功能场景的70-80%
6、面试题:UI自动化测试和功能测试哪个更加重要?
答:都重要

RobotFramework中元素定位
使用Selenium2Library库关键字定位页面,需要先学习页面元素定位方法
总结的5种定位方法
id定位
name定位
class定位
xpath定位
css定位

APP测试与WEB测试的区别
C/S架构即客户端-服务端架构,需要下载相关的客户端才可以进行访问
B/S架构则是浏览器-服务器架构,可以直接通过浏览器进行访问,不需要下载客户端。
由此我们可以知道APP测试也就是C/S架构测试的一种,而WEB测试则是B/S架构。

相同点:
APP测试和WEB测试从流程上来看,本质是没啥区别,都是要经历测试计划以及测试方案的定制、测试用例设计、测试执行、缺陷管理、测试报告输出、测试资产归档等等相关的测试活动。
而且APP测试和WEB测试的测试类型也基本相似,都是要进行一系列的功能测试、安全测试、页面测试、性能测试等测试类型。
两者都是离不开基本的测试理论,不管怎么变,测试的原理依然是融入两者当中。
1)设计测试用例时,依然都是依据边界值分析法、等价类划分等;
2)多数采用黑盒的测试方法,来验证业务功能是否得到正确的应用;
3)需要检查界面的布局、风格和按钮等是否简洁美观、是否统一等;
4)测试页面载入和翻页的速度、登录时长、内存是否溢出等;
5)测试应用系统的稳定性等;
6)底层测试依然是涉及接口测试,同样需要关注服务器的性能资源消耗情况。

不同点:
相对于WEB测试,APP测试除了要考虑基本的功能测试、服务端性能以外,APP测试还需要考虑它的测试载体——手机的固有属性,所以对比WEB测试和APP测试,APP测试过程还需要注意以下的特性:
1) 手机作为通信工具,手机的各种通信状态都可能影响到APP功能的正常运行,所以APP测试首先要考虑到的一个特性也就是:中断测试;
2) 作为C/S架构的APP,测试过程存在客户端的安装,相对地需要注意相关的安装测试,其中包括各种安装的情况以及安装前后APP数据的一致性;
3) APP测试虽然与WEB测试一样要关注服务器的性能情况,因其自身的特性,我们还需要考虑手机侧的性能特性,例如:耗电量、手机内存、手机CPU等等手机侧的性能情况;
4) 性能测试方面,WEB和APP测试均需要使用到Jmeter对服务器端进行压力测试,而APP测试对手机端性能测试则要使用到Monkey进行随机压力测试;
5) 自动化方面,WEB测试使用selenium,APP测试则是使用appium,虽然appium实际继承selenium,但执行原理存在较大差异。

APP测试与WEB测试从测试理论方面看没有什么区别,但实际工作中仍要考虑较多的较多的因素。
WEB测试更多的是考虑自身功能的实现与浏览器的兼用;
APP测试除了要考虑自身功能实现与否外,还得考虑很多外在因素;如:wifi网络、硬件按键、不同分辨率设备适配、兼容性、来电、没电等因素。
WEB测试和APP测试大部分都是手工测试为主;偶尔也会使用自动化测试工具进行简单的测试工作。

APP测试主要分为6种不同的测试策略,分别是功能测试、兼容适配测试、性能测试、安全测试、专项测试以及稳定性测试。

不管是任何类型的测试,功能测试都是必须要进行,只有保证功能正常才可以进行后续各种测试,功能测试依然是围绕着需求进行。
APP的 功能测试主要从以下几个方面进行:安装卸载测试、升级测试、业务逻辑测试、UI测试、异常测试。

1. 安装卸载测试:
在测试APP之前,首先就要进行APP的安装。而对安装测试进行测试用例设计则比较简单,APP的安装不同于PC端程序安装需选择路径以及安装的组件,APP安装比较简单,几乎是一次点击,但是仍需要进行测试验证,用例设计方法只有一种,也就是场景法,需要考虑一个正常的安装流程,以及各种异常的失败安装流程,需要关注手机侧安装文件的生成情况,以及中断后安装文件的清除情况。除此以外,我们也需要验证卸载部分的功能情况,如:卸载旧版本,安装新版本、卸载新版本,安装新版本,对比卸载前后占用存储空间的情况。

2. 升级测试:
使用APP过程,APP的升级是无法避免的,那么升级测试需要考虑什么测试点呢。比如我们日常生活中常见的微信,升级时需要考虑到最基本的点就是能不能升级成功,然后就是跨版本升级,同时需要考虑到的是升级之后用户数据是会不会丢失,这个点也是非常容易引起客诉的测试点,最后需要考虑升级后版本的兼容性是否正常

3. 业务逻辑测试:
也就是需求,根据需求的业务逻辑进行测试,比如说微信搜索用户,输入正确的用户名则显示正确的用户,输入错误的用户名则要给出对应的提示,这些就是一些简单的业务逻辑。

4. UI测试:
测试用户界面(如菜单、对话框、窗口和其它控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

5. 异常测试:
APP的异常测试更多考虑的是中断测试方面的测试点。中断测试有人为中断、新任务中断以及意外中断等几种情况,主要从以下几个方面进行验证:
a.来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断
b.短信中断:接收短信、查看短信
c.其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)
d.网络中断:各种不同的网络状态的切换,如4G-->wifi-->4G
e.热启动测试:把应用置于后台一段时间,在切换至前台(预期:正常情况下还原置于后台时状态)

APP兼容适配测试主要考虑的是APP在不同的环境下,页面元素是否出现布局异常、不一致的情况,以及业务流程是否发生影响的情况。
主要分为两部分,一类是兼容测试,一类是适配测试,有些公司会统称为兼容性测试,其实两者还是有区别的。

兼容测试
兼容测试主要是考虑在不同的软件环境下的测试。
1, 不同的操作系统:目前APP端测试主要考虑的系统为Android和iOS系统,因为华为鸿蒙OS的布局,部分公司已经考虑了鸿蒙OS的兼容测试,当然在考虑系统兼容时,同时我们还有考虑系统的版本兼容,即使是Android系统,我们需要考虑其系统9-11版本的系统兼容情况。
2, 不同的手机品牌:目前不同手机厂家都基于Android系统进行深度定制ROM,很多已经涉及到Android系统的底层代码修改,所有在进行兼容测试的时候,需要考虑不同的手机品牌的测试。
3, 不同的手机尺寸及分辨率:由于显示屏技术不断提升和更新,手机屏幕分辨率也在逐步提升,截止目前主流机型大致经历了800*480、960*640、1280*720、1080*1920等等几个阶段,对于iOS相对简单一些,主要考虑近几代iPhone机型,如果一个APP对屏幕分辨率没有做过处理,那么软件就会出现错位遮挡、留白拉伸等各种问题。
4, 不同的网络情况:当前APP网络环境比较复杂,网络制式有2G、3G、4G、5G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR数据丢失等问题。
5, 不同的软件:主要考虑第三方APP与本项目的APP的兼容情况,例如常见的微信、QQ授权登陆,需要考虑本项目APP能否正常调起不同版本的第三方APP,能否兼容不同版本的第三方APP。

适配测试
适配测试主要考虑的是不同硬件上的测试,严格意义上属于手机的专项测试一类了。例如同一系列的手机,往往存在不同的配置,CPU平台的不同、组件的不同、内存、存储的不同等等,都有可能影响APP的正常运行。
1, 不同的平台:主要是指智能机芯片平台,涉及到硬件芯片设计架构的内容。主要考虑不同的CPU芯片平台的测试,目前Android主流机型基本为高通平台以及联发科(MTK)平台。高通公司出品的手机CPU为骁龙系列,联发科则是天玑系列,另外仍需要考虑三星平台及海思平台(华为),展讯平台是指由展讯公司(spreadtrum)开发的手机基带处理器平台。论性能,最出色的是高通的芯片,主要是中高端市场,质量很过关。然后是MTK,但是MTK发展很快,推出的芯片性能也越来越好,有的芯片已经与高通不相上下了,其早期的智能芯片只能做低端的智能机,现在是全球第三大智能手机芯片生产商。而展讯开发出的芯片就是针对低端智能机市场,芯片的表现并不是很出色,还有待提高。论芯片组架构,三者都是ARM,不同的是高通技术实力强大,能够跟上ARM最新架构推出芯片,MTK已经做到ARM-A9了,展讯的还是ARM-A5。
2, 不同的组件:指的是不同的硬件零件对手机运行的影响,例如手机的屏幕、听筒、电池等可以更换的组件,当组件的更换影响手机的正常运行时,APP同样要受到影响
3, 不同的可选项:cpu、内存、存储等
4, 不同的外设:最常见的外设如连接的有线耳机等

兼容适配测试的常见测试方法
目前业内主要使用三种方法进行兼容适配测试
1, 真机测试:顾名思义直接使用真实的手机进行测试,但其成本极大,一般公司测试组不会有很多台测试手机,且手机更新换代快,公司使用测试真机主要是保证功能测试的正常执行,当完成功能测试之后会使用后两种方法进行兼容适配测试。
2, 模拟器测试:使用手机模拟器进行测试,例如夜神模拟器,可以在系统设置选项进行属性设置,设置为不同的主流手机型号进行测试,成本最低。但始终是使用模拟器进行测试,无法模拟不同的手机硬件属性进行测试
3、云测平台测试:云测平台指的是某个公司提供大量的真机,开发者提交APP至平台即可安装到该平台的真机上。该兼容适配测试方法为目前性价比最高的兼容测试方法,用法简单,是目前主流的兼容性测试方法。直接将项目APP提交至相关的云测平台即可,云测平台可以快速生成相关的兼容性测试报告



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册