-
功能测试
1) 高级别事件响应。
情景:当用户正在操作一个App时,闹铃响了,这里的闹铃显然比该App相关操作的事件级别更高,因为及时在关机时,闹铃也会照样响,在不主动干预的情况下,这个事件是不可阻止的。同理,我们也可以把其他App定期产生的推送消息当做一种高级别事件,拿到测试场景中来设计。当然,当App自动化测试的环境初始化时,一定要阻止这些事件响应的发生,应该在手机的相关设置里将其屏蔽掉。否则,这肯定会影响App自动化测试程序的正常运行。2) 第三方应用打断
使用自动化手段编写同一时钟下的相关操作,以确保测试的及时性和准确性。而确保动作序列的流程、最大限度地提高容错性和实现相关的等待延时判断,是这种自动化测试程序的关键所在。
情景:A手机正在操作一个App,B手机给A手机打电话、C手机给A手机发短信、D手机给A手机发送邮件。还可以扩展到更多的第三方终端、让他们来发送QQ、微信消息,还有手机上其他应用产生的推送消息。3) 通讯录的备份恢复功能
新手机开机时、刷机前后的相关备份恢复功能,增量恢复功能、全量恢复功能、备份恢复时的异常情况测试,不管是手机本身还是相关App,如果能灵活、准确、高效地提供此项功能,那么在特定场景下的用户满意度将会非常高。4)手机和其他外设产品的互联互通
手机通过电信网络、蓝牙、Wi-Fi、或者ZigBee、GPS等连接蓝牙音箱、智能电视、小区门禁系统、汽车影音系统、智能可穿戴设备等。 -
稳定性测试
可参考可靠性测试的几个指标
1)MTTF(Mean Time To Failure):平均失效前时间:指系统/产品平均正常运行多长时间,才发生一次故障。2)MTTR(Mean Time To Restoration):平均修复时间,指修复产品所用的平均时间,即从出现故障到修复故障的这段时间。要包括获取到产品的时间、维修团队的响应时间、记录所有任务的时间、还有将产品重新投入使用的时间。
3)MTBF(Mean Time Between Failures):平均故障间隔时间,指修复产品两次相邻故障之间的平均时间。它是体现产品持续正常工作多长时间的一种能力。
MTBF = MTTF + MTTR
软件的稳定性公式:
MTBF(时间/次)= N个选样产品总运行时间之和 / N个产品发现的指标BUG之和
这里指的Bug不完全等同于功能测试时找到的一般性Bug,而是稳定性测试中的指标Bug:闪退、花屏、黑屏、死机。
后台进程只要挂掉一次,稳定性要从头再做,时间不可累计。
对于一款App,最少要测试24小时的稳定性。所以进行24小时不间断的手工测试很难做到、如果要进行Nx24小时的稳定性测试,必须借助自动化手段完成。 -
兼容性测试
1)3个季度内的手机品牌,即新机。上市一年或一年半左右的机型,即主流机型。2)硬件种类:不同的智能终端设备
3)市场主流的芯片种类:高通、苹果、华为海思、三星等。芯片质量的好坏直接决定了手机的各种质量指标,也决定了App的稳定性。
4)分辨率:屏幕的精密度,即一个屏幕上容纳像素点的多少的衡量。分辨率越高,图像越清晰。
兼容性就是测试软件对分辨率的自适应性,即会不会因为分辨率改变界面显示情况。
根据屏幕尺寸选择测试载体,但同样尺寸的屏幕分辨率未必一样。在测试中,最常见的就是对手机屏幕进行旋转,可能发生很多类型的错误。5)各种无线网络的兼容性:WiFi网络、蓝牙、GPS等无线连接
6)第三方软件兼容性:用于测试App产品与本机预装的App及主流App是否兼容。
主流App可以根据下载量排行决定。另外和被测App属于同行竞争产品的App,以及和被测软件有交互操作的App也需要重点测试。 -
性能测试
1)评估典型应用场景下App产品对系统资源的使用情况。
2)典型应用场景:根据用户实际使用场景、软件极限应用场景、软件需求规格说明书等相关标准来综合考虑
3)空间特性和时间特性
4)功耗测试(电量测试)属于性能测试
5)性能测试评估指标:CPU占用率,内存占用率、上下行流量测试、耗时、流畅度、电量。 -
网络测试:
1)室内网络测试:室内固定地点、连接移动网络较好、较差的地点,在室内连接稳定的WiFi、蓝牙等无线网络等进行测试。
2)外网测试:路测、户外拨测
3)弱场测试:在信号比较弱的场所进行的测试,例如地下车库、地下室、地铁上等。 -
异常测试:
1)各种网络信号的网络中断异常
2)SIM卡松动,采取SIM卡插拔手段模拟实现
3)低电量
4)手机内存占或CPU占用率达100%
5)手机死机或卡死
针对4)和5)可以自行研发一个App,使快速占满内存和CPU,或让进行产生异常,使手机快速产生卡死现象。因为手工完成这些操作会很麻烦。 -
发布测试:
1)检查安装包大小
2)检查版本号、语言
3)安装和反安装测试
4)用其他辅助工具(如91助手、豆瓣夹等)安装、卸载测试
5)在线升级测试,相近版本及跨版本升级
6)验证数字签名 -
用户界面测试
菜单、对话框、窗口、其他可见控件布局、风格、是否满足客户要求、文字是否正确、页面是否美观、完整、文字图片组合是否完美、操作是否友好。易理解性、易操作性、易学习性等测试点。
1)图形测试:
a.横向或纵向比较,确认各控件操作方式统一。
b.自适应界面设计,内容根据分辨率大小自适应
c.测试页面标签风格是否统一
d.测试页面是否美观
e.页面的图片应该有其实际意义,而且要求整体有序美观
f.图片质量高且图片尺寸在符合设计要求的情况下应尽量小
g.界面整体使用的颜色不宜过多2)内容测试
a. 测试输入框说明文字的内容与系统功能是否一致
b. 测试文字长度是否加以限制
c. 测试文字内容是否表意不明
d. 测试是否有错别字
e. 测试信息是否中英夹杂或中文夹杂其他语言的情况,如果有,则需要核对需求规格说明书,或找前台开发负责人进行确认。通常,中外文夹杂是BUG.
f. 测试是否有公司、行业或法律法规规定的敏感性词汇
g. 测试图的合法性。如是否涉及版权、专利、隐私等问题。 -
冲突测试
1)按键打断:手机屏下的三个键,以及关机、锁屏键等的干扰打断,以及其他按键功能。
2)程序后台相互切换:多个交互App之间的业务协作切换
3)网络切换:例如4G网络和WiFi之间的切换
4)待机唤醒:在手机进入待机状态后,要设计几个App待机时长的等价类。至于待机的具体时长,可以通过咨询相关的开发人员,了解一下该App前台失效的等待时间阈值,在阈值边界处进行边界值(上点和离点)选取。 -
接口测试
1)设计好充分的接口测试用例、自动进行快速测试比传统界面功能测试的效率高很多。
2)服务器端一般会提供JSON(JSON的语法是JavaScript语法的子集)格式的数据给客户端,这种格式就是键值对,如"Name": “David”。
3)在服务器端进行接口测试,要确保服务器端提供的接口和转换的JSON内容正确,对分支、异常流有响应的返回值。
4)此部分测试可以采用ITest框架完成。最方便的方法是采用HttpClient
5)接口测试的接口划分场景
a. 客户端和服务器端交互测试
b. 测试客户端的数据更新和服务器端数据是否一致
c.当更新客户端时,客户端和服务器端断开
更多推荐
2. App测试类型
发布评论