记得刚开始接触app测试时,可谓是一脸懵状,拿到一个功能不知道该测些什么,会因为测试范围确认不足、测试点考虑不全等导致线上问题,吃一堑才会长一智,栽过几次坑后就学会了如何避免。现总结App测试点如下,有遗漏欢迎各路大神随时补充~

一、背景

从十多年前的奢侈品到现在几乎人手一台的大众消费品,手机的相关技术不断发展,伴随而来的是手机应用软件的快速发展,同时给测试人员也带来了一个崭新的领域。手机的诸多特点,决定了测试手机应用软件需要特别注意的地方,如:

1)屏幕小。相比pc电脑的显示器,手机的显示区域要小得多。手机App界面要在手掌大小的区域重复展示必要的信息给用户,不是一件容易的事情;

2)内存低。手机App所能使用的内存相对要少很多,程序的运行速度相对较慢;

3)操作主要依赖于拇指。用户在输入和处理信息方面要相对慢一些,不如pc方便。

二、测试要点总结

1)功能测试

功能性测试目的是帮助我们验证该功能是否被实现以及该功能是否符合产品需求文档,主要包括:

①业务逻辑测试:主要验证App业务是否符合预期,一般测试流程为:阅读需求文档→了解开发实现→画出开发实现流程图→编写测试用例;

②UI测试:由于手机的某些局限性,如手机的显示区域小,不能有太丰富的展示效果;手机的操作主要依赖于拇指,交互过程不能设计得太复杂等,所以需要关注界面元素的布局和自适应性(横屏和竖屏)、界面的美观和简洁度以及用户体验。

注:功能测试方法可以有手动测试和自动化测试。

2)性能测试

衡量一个APP做的好不好标准,除了功能还有性能。由于手机内存限制,很容易出现内存泄漏、越界问题,需要保证一款合格的App在高、中、低端手机上都可以流畅运行。针对性能,我们关注的参数有:内存和CPU测试、流量测试、耗电量测试、稳定性测试、APP安装和启动耗时;通常的评判方法是与业内竞品做对比。

3)兼容性测试

不同型号的手机支持的图片格式、声音格式、动画格式不一样,需要选择尽可能通用的格式,或者针对不同的型号进行配置选择,所以需要注意:

①手机分辨率,如主流分辨率1080*1920、720*1080、480*720及非主流分辨率,尤其注意pad;

②手机系统版本,如Android5.0、Android6.0、Android N等;

③不同手机厂商,如MIUI、魅族等,注意Google的Android原生系统;

④不同屏幕尺寸,小(2~3英寸),普通(4英寸左右),大(5~7英寸),超大(7英寸以上)。

4)冲突测试

冲突测试,就是把软件在各种安全软件环境下进行使用,检查是否会有报病毒木马、威胁等任何对被测软件不利的情况,这里的冲突测试专指与安全软件的冲突, 因为安全软件可能会让我们的软件出现很多问题,比如app运行出错、阻止App获取一些权限、阻止app读取已经从系统获取了的权限、弹出窗口认为程序有威胁并直接删除等。在以下情况下需要做冲突测试:

①有手机用户本地程序信息的操作;

②安装及使用时有通讯录、短信、通话记录、摄像头等权限的申请;

③频繁访问网络;

④新增插件;

⑤有更改开机启动项。

5)异常情况测试

①弱网环境:App在使用过程中会遇到弱网环境,如在地铁里,导致出现丢包。测试时需要注意:a)2G网络;b)3G网络;c)请求超时;d)响应超时;e)网络抖动场景模拟;

②手机应用在操作过程中断网、断电、重启;

③手机锁屏、解锁;

④手机其他应用对App的影响,如推送通知、来电、收发短信、文件下载、听音乐等;

6)其他测试点

①App安装(从渠道商下载安装、通过apk安装);

②App卸载;

③App升级(注意跨版本升级);

④覆盖安装(同版本覆盖、高版本覆盖低版本);

by:虾米

北京软件测试QQ1群:507088

北京软件测试跳槽群:450569

北京软件测试QQ2群:132142000

如何做好App的测试工作的更多相关文章

  1. 如何做好APP功能测试?

    一.如何做好app的测试工作? 22 个回答  斗魂大陆 凡是可能会出错的地方,一定会出错!--墨菲法则 腾讯有个平台可以实现适配兼容.服务器压力.性能测试.弱网络.耗电量测试等等,挺全面的.WeT ...

  2. Android APP压力测试(二)之Monkey信息自动收集脚本

      Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...

  3. 初识App安全性测试

    目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可 ...

  4. 测试工作中ADB命令实战

    作者:TT,<测试架构师>微信公众号作者 大家能点击进来,说明还是对ADB有所了解或听说过的,可能也会比较熟练的掌握了这些命令,下面描述如有不对的地方,欢迎指正和交流学习,请多指教! 一. ...

  5. app专项测试自动化测试方法思路与实现

    秉着个人意愿打算把python+rf接口自动进行彻底结束再做些其它方面的输出~但事与愿违,但领导目前注重先把专项测试方面完成,借此,先暂停python+rf(主要是与Jenkins集成+导入DB+微信 ...

  6. 移动应用/APP的测试流程及方法

    1. APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先 ...

  7. 移动APP云测试平台测评分析

    随着智能手机的普及率和渗透率越来越高,App开发软件也越来越多.有专家预测,2017年的App应用下载量将会突破2500亿,整个移动科技市场规模将会达到770亿美元.身处在这个"移动&quo ...

  8. 移动App专项测试

    移动App测试实战—专项测试 转自:http://www.51testing.com/html/58/n-3713758.html 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了 ...

  9. 大数据项目测试<二>项目的测试工作

    大数据的测试工作: 1.模块的单独测试 2.模块间的联调测试 3.系统的性能测试:内存泄露.磁盘占用.计算效率 4.数据验证(核心) 下面对各个模块的测试工作进行单独讲解. 0. 功能测试 1. 性能 ...

随机推荐

  1. 使用QFileInfo类获取文件信息(在NTFS文件系统上,出于性能考虑,文件的所有权和权限检查在默认情况下是被禁用的,通过qt_ntfs_permission_lookup开启和操作。absolutePath()必须查询文件系统。而path()函数,可以直接作用于文件名本身,所以,path() 函数的运行会更快)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无 ...

  2. ThinkPHP在入口文件中判断是手机还是PC端访问网站

    <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE ...

  3. 006-重装yum

    报错情况: There was a problem importing one of the Python modulesrequired to run yum. The error leading ...

  4. foreach使用和函数

    2016-04-25 一.foreach( 对集合每个元素的引用 in 集合 ) { } int[] a = new int[5]{1,2,3,4,5}; foreach( int b in a ) ...

  5. Linux:文件

    Linux:文件 文件属性 用户分为三种:文件拥有者.群组以及其它人,对不同的用户有不同的文件权限. 使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x. 3 root ro ...

  6. 05 Spring框架 依赖注入(二)

    上一节我们讲了三种信息的注入,满足一个类的属性信息的注入,但是如果我们需要向一个实例中注入另一个实例呢?就像我们创建一个学生类,里边有:姓名,性别,年龄,成绩等几个属性(我习惯把类的域叫做属性),但是 ...

  7. Linux脚本程序包及安装

    概述 脚本程序并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于 Windows 下的程序安装,有一个可执行的安装程序,只要运行安装程序,然后进行简单的功能定制选择(比如指定安装目录等),就 ...

  8. delphi 中 unicode 转汉字 函数

    近期用到这个函数,无奈没有找到 delphi 自带的,网上找了下 有类似的,没有现成的,我需要的是 支持 “\u4f00 ” 这种格式的,即前面带标准的 “\u”  于是改造了一下. 下面是 解码 函 ...

  9. Python编程-函数进阶二

    一.生成器补充 1.什么是生成器? 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象. 2.生成器分类 (1) ...

  10. oracle长连接超时设置

    方法一.在sqlnet.ora中设置参数 如需要设置客户端空闲10分钟即被中断,则在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME=10注:sqlnet.ora文件的路径在$ORA ...