2. App测试类型

  1. 功能测试
    1) 高级别事件响应。
    情景:当用户正在操作一个App时,闹铃响了,这里的闹铃显然比该App相关操作的事件级别更高,因为及时在关机时,闹铃也会照样响,在不主动干预的情况下,这个事件是不可阻止的。同理,我们也可以把其他App定期产生的推送消息当做一种高级别事件,拿到测试场景中来设计。当然,当App自动化测试的环境初始化时,一定要阻止这些事件响应的发生,应该在手机的相关设置里将其屏蔽掉。否则,这肯定会影响App自动化测试程序的正常运行。

    2) 第三方应用打断
    使用自动化手段编写同一时钟下的相关操作,以确保测试的及时性和准确性。而确保动作序列的流程、最大限度地提高容错性和实现相关的等待延时判断,是这种自动化测试程序的关键所在。
    情景:A手机正在操作一个App,B手机给A手机打电话、C手机给A手机发短信、D手机给A手机发送邮件。还可以扩展到更多的第三方终端、让他们来发送QQ、微信消息,还有手机上其他应用产生的推送消息。

    3) 通讯录的备份恢复功能
    新手机开机时、刷机前后的相关备份恢复功能,增量恢复功能、全量恢复功能、备份恢复时的异常情况测试,不管是手机本身还是相关App,如果能灵活、准确、高效地提供此项功能,那么在特定场景下的用户满意度将会非常高。

    4)手机和其他外设产品的互联互通
    手机通过电信网络、蓝牙、Wi-Fi、或者ZigBee、GPS等连接蓝牙音箱、智能电视、小区门禁系统、汽车影音系统、智能可穿戴设备等。

  2. 稳定性测试
    可参考可靠性测试的几个指标
    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小时的稳定性测试,必须借助自动化手段完成。

  3. 兼容性测试
    1)3个季度内的手机品牌,即新机。上市一年或一年半左右的机型,即主流机型。

    2)硬件种类:不同的智能终端设备

    3)市场主流的芯片种类:高通、苹果、华为海思、三星等。芯片质量的好坏直接决定了手机的各种质量指标,也决定了App的稳定性。

    4)分辨率:屏幕的精密度,即一个屏幕上容纳像素点的多少的衡量。分辨率越高,图像越清晰。

    兼容性就是测试软件对分辨率的自适应性,即会不会因为分辨率改变界面显示情况。
    根据屏幕尺寸选择测试载体,但同样尺寸的屏幕分辨率未必一样。在测试中,最常见的就是对手机屏幕进行旋转,可能发生很多类型的错误。

    5)各种无线网络的兼容性:WiFi网络、蓝牙、GPS等无线连接
    6)第三方软件兼容性:用于测试App产品与本机预装的App主流App是否兼容。
    主流App可以根据下载量排行决定。另外和被测App属于同行竞争产品的App,以及和被测软件有交互操作的App也需要重点测试。

  4. 性能测试
    1)评估典型应用场景下App产品对系统资源的使用情况。
    2)典型应用场景:根据用户实际使用场景、软件极限应用场景、软件需求规格说明书等相关标准来综合考虑
    3)空间特性和时间特性
    4)功耗测试(电量测试)属于性能测试
    5)性能测试评估指标:CPU占用率,内存占用率、上下行流量测试、耗时、流畅度、电量。

  5. 网络测试:
    1)室内网络测试:室内固定地点、连接移动网络较好、较差的地点,在室内连接稳定的WiFi、蓝牙等无线网络等进行测试。
    2)外网测试:路测、户外拨测
    3)弱场测试:在信号比较弱的场所进行的测试,例如地下车库、地下室、地铁上等。

  6. 异常测试:
    1)各种网络信号的网络中断异常
    2)SIM卡松动,采取SIM卡插拔手段模拟实现
    3)低电量
    4)手机内存占或CPU占用率达100%
    5)手机死机或卡死
    针对4)和5)可以自行研发一个App,使快速占满内存和CPU,或让进行产生异常,使手机快速产生卡死现象。因为手工完成这些操作会很麻烦。

  7. 发布测试
    1)检查安装包大小
    2)检查版本号、语言
    3)安装和反安装测试
    4)用其他辅助工具(如91助手、豆瓣夹等)安装、卸载测试
    5)在线升级测试,相近版本及跨版本升级
    6)验证数字签名

  8. 用户界面测试
    菜单、对话框、窗口、其他可见控件布局、风格、是否满足客户要求、文字是否正确、页面是否美观、完整、文字图片组合是否完美、操作是否友好。易理解性、易操作性、易学习性等测试点。
    1)图形测试:
    a.横向或纵向比较,确认各控件操作方式统一。
    b.自适应界面设计,内容根据分辨率大小自适应
    c.测试页面标签风格是否统一
    d.测试页面是否美观
    e.页面的图片应该有其实际意义,而且要求整体有序美观
    f.图片质量高且图片尺寸在符合设计要求的情况下应尽量小
    g.界面整体使用的颜色不宜过多

    2)内容测试
    a. 测试输入框说明文字的内容与系统功能是否一致
    b. 测试文字长度是否加以限制
    c. 测试文字内容是否表意不明
    d. 测试是否有错别字
    e. 测试信息是否中英夹杂或中文夹杂其他语言的情况,如果有,则需要核对需求规格说明书,或找前台开发负责人进行确认。通常,中外文夹杂是BUG.
    f. 测试是否有公司、行业或法律法规规定的敏感性词汇
    g. 测试图的合法性。如是否涉及版权、专利、隐私等问题。

  9. 冲突测试
    1)按键打断:手机屏下的三个键,以及关机、锁屏键等的干扰打断,以及其他按键功能。
    2)程序后台相互切换:多个交互App之间的业务协作切换
    3)网络切换:例如4G网络和WiFi之间的切换
    4)待机唤醒:在手机进入待机状态后,要设计几个App待机时长的等价类。至于待机的具体时长,可以通过咨询相关的开发人员,了解一下该App前台失效的等待时间阈值,在阈值边界处进行边界值(上点和离点)选取。

  10. 接口测试
    1)设计好充分的接口测试用例、自动进行快速测试比传统界面功能测试的效率高很多。
    2)服务器端一般会提供JSON(JSON的语法是JavaScript语法的子集)格式的数据给客户端,这种格式就是键值对,如"Name": “David”。
    3)在服务器端进行接口测试,要确保服务器端提供的接口和转换的JSON内容正确,对分支、异常流有响应的返回值。
    4)此部分测试可以采用ITest框架完成。最方便的方法是采用HttpClient
    5)接口测试的接口划分场景
    a. 客户端和服务器端交互测试
    b. 测试客户端的数据更新和服务器端数据是否一致
    c.当更新客户端时,客户端和服务器端断开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Summer@123

不积跬步无以至千里,感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值