如何做好APP功能测试?
一、如何做好app的测试工作?
22 个回答

斗魂大陆
凡是可能会出错的地方,一定会出错!--墨菲法则
腾讯有个平台可以实现适配兼容、服务器压力、性能测试、弱网络、耗电量测试等等,挺全面的。WeTest腾讯质量开放平台,本人亲测过体验还不错。
下面说一下测试一个App具体包括哪些方面,以及每个方面的关键点。
测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗?你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现价值?本文将带你经历测试人员的思维过程,探讨他们测试app时的各种考虑。本文的目的在于揭示测试人员的这一思维过程,并展示他们通常所考虑内容的广度和深度。
本文是基于我的工作经验而写的,作为一名敏捷软件开发团队的测试经理,我一心投入测试工作。在与其他app测试专家交流的过程中,我深刻了解到app测试工作的困难。在日常工作的摸索中,我将如何做好app的测试归结为如下内容。
(1) 非功能测试
app测试的一个重要方面是app的非功能需求。移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作。
早期开发阶段要进行的第一个测试应该是实用性测试。通常是由alpha用户或同事进行的。走进一家咖啡馆或餐厅,问问里面的人他们的app使用情况。让他们看看现阶段开发的第一个版本并收集反馈,看看用户是否能很好地使用新功能,以便得出第一印象。
(2) 功能测试
每项开发的新功能都需要进行测试。app测试中功能测试是一个重要方面。测试人员应该要进行手动测试和后期的自动化测试维护。刚开始测试时,测试员必须把app当做"黑盒"一样进行手动测试,看看提供的功能是否正确并如设计的一样正常运作。除了经典软件测试,像点击按钮、提交订单看看会发生什么,测试员还必须执行更多功能的app测试。
除了整个手动测试过程,测试自动化对移动app也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在市面上有很多自动化测试工具,有商业的也有开源的,面向各个不同平台,如Android,iPhone,WindowsPhone7,BlackBerry以及移动Webapp。根据开发策略和结构,品质管理测试专家需找出最适合他们环境的自动化工具。
(3) 客户端性能测试
一个App做的好不好,不仅仅只反应在功能上。被测的app在中低端机上的性能表现也很重要。比如:一个很好玩的游戏或应用,只能在高端机上流畅运行,在中低端机上卡的不行,也不会取得好的口碑。
关于App的性能测试,我们比较关注的参数有:CPU,内存,耗电量,流量,FPS。同时也需关注一下App的安装耗时和启动耗时。
目前大家可能比较困惑的一个问题,多高的CPU,内存,耗电量,流量,FPS才算是符合发布的值呢?这里可以告诉大家,可以参考精品游戏的一些数值,将自己研发的app与业内精品的app数据做对比。
(4) 适配兼容测试
市面上目前存在的移动设备五花八门,下图列出过去12个月的移动设备品牌占比情况。

App在经过功能测试后,也需对其进行适配兼容测试需要检查的项主要有以下几点:
(a) 在不同平牌的机型上的安装、拉起、点击和卸载是否正常;
(b) 在不同的操作系统上的安装、拉起、点击和卸载是否正常;
我们在实际测试中,常常会遇到下列问题:
(a) 在某个平牌某个系统上,app安装不上;
(b) 在某个平牌某个系统上,app无法拉起;
(c) 在某个平牌某个系统上,app拉起后无响应或拉起后黑屏、花屏;
(d) 在某个平牌某个系统上,app无法顺利卸载;
腾讯WeTest这个产品可以实现多款热门机型的适配兼容测试。

(5) 弱网络测试
App在使用的过程中,难免会遇到弱网络环境,例如在公车上、在地铁里。在这种情况下,常常会出现网络抖动、上行或下行超时,导致应用中出现丢包。
作为一个测试人员,我们要对app在上线前做一定场景的弱网络环境模型,并查看app在弱网络环境下是否存在某些未知的问题。下面是我们常用的弱网络环境场景:
(a) 3G弱网络信号场景模拟;
(b) 市区低速移动场景模拟;
(c) 郊区高速移动场景模拟;
(d) 请求回应超时_上行超时场景模拟;
(e) 请求回应超时_下行超时场景模拟;
(f) 网络抖动场景模拟;
这个工具也可以解决

(6) 耗电量测试
App在手机上的表现,除了功能外,app是否耗电,也是测试过程中重点要关注的一项。手机设备在满电的时候,这个App能玩多久;App每小时的耗电是多少;App在某个场景挂机10分钟耗电量是多少;这些都是我们平时在耗电量测试中比较关注的点。
(7) 协议测试
模拟客户端直接发送协议包给服务器,看看服务器是否有一定的校验,认不认客户端发过来的数据。协议测试,主要是为了处理用户发送恶意协议到服务器,骗过服务器的校验。
(8) 安全测试
App在上线前,都需要做详细的安全测试。安全测试主要为了检测应用是否容易被外界破解;是否存在被恶意代码注入的风险;上线后外挂的风险高不高等。
(9) 服务器性能测试
服务器性能测试,主要包含单机容量测试和24小时稳定性测试。单机容量测试,可以检测到单机服务器在90%的响应时间和成功率都达标的前提下,能够承载多少用户量。使用特定游戏模型压测24小时,服务无重启,内存无泄漏,并且各事务成功率达标。
这个可以在WeTest入口预约。

(10) 服务器容灾测试
服务器容灾测试,主要指某个服务进程奔溃掉后,是否具有自行恢复能力。比如游戏逻辑进程消失后,是否会自动拉起;memcached崩溃时,是否会重新启动,是否会对所有玩家有影响。这些都是app测试过程中需要考虑的因素。
(11) 中断测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前台和后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。测试电话,短信,彩信,微博或其他通知进来时app的反应。
(12) 上线后期的舆情跟踪
新的app上线后,用户对此应用的评价,存在哪些测试期间未察觉的Bug,论坛上对于该应用热门的帖子有哪些,应用商店中该应用的口碑如何等,都是app在上线后,测试人员需要关注的点。若需要测试期间未发现的Bug,需要新测试服进行确认并根据该问题的修复。
很高兴看到腾讯在研发生产资料,而不是产品,好的企业应该积累出自己的工具链,并造福生态圈!最后祝大家都能把手下的app测试工作做好!
如何做好APP功能测试?的更多相关文章
- APP功能测试注意点
App功能测试的7大注意点 : APP测试 在日常工作的摸索中,我们将如何做好app测试的注意点简单归结为如下内容. 弱网测试,兼容性测试,UI测试.中断测试, 01 运行 1)App安装完成后 ...
- 【转】APP功能测试要领
也许大家从事APP功能测试已经有一段时间了,心中一定有一个疑问,怎么样才能提高测试的覆盖面呢,我今天把APP功能测试内容分为APP本身的功能,APP关联的事务.APP外部环境.APP其他四大块来给大家 ...
- App功能测试
App功能测试 1. 运行 1)App安装完成后的试运行,可正常打开软件. 2)App打开测试,是否有加载状态进度提示. 3)App页面间的切换是否流畅,逻辑是否正确. 4)注册 同表单编辑页面 用 ...
- App功能测试的注意点
好几个月没有写博客记录学习心得了,这次回老家深夜闲来无事写一篇记录下这段时间的面试心得,这次面试过程很多面试官都问APP的有关测试,下面我就自己的认识和工作中的经验来谈谈自己对APP测试的认识: 1. ...
- APP功能测试要点(功能测试重点)
APP功能测试要点 1.功能性测试 根据产品需求文档编写测试用例而进行测试,包括客户端的单个功能模块以及功能业务逻辑(功能交互)如:涉及输入的地方需要考虑等价类,边界值,异常或非法等 1.1 安装与卸 ...
- 如何做好APP测试?
测试一个App具体包括哪些方面,以及每个方面有什么关键点呢? 测试人员常被看作bug寻找者,但你曾想过他们实际是如何开展测试的吗? 你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现 ...
- 如何做好App的测试工作
记得刚开始接触app测试时,可谓是一脸懵状,拿到一个功能不知道该测些什么,会因为测试范围确认不足.测试点考虑不全等导致线上问题,吃一堑才会长一智,栽过几次坑后就学会了如何避免.现总结App测试点如下, ...
- 03- 手机App功能测试要点以及登录页面的测试
当你进入一个互联网公司以后,首先对公司结构有所了解,然后遇到问题找对应的工作人员,效率就事半功倍了. 公司的结构: 产品经理 项目经理 设计师 开发人员 测试人员 运维人员 运营人员 配置管理 App ...
- 04- 移动APP功能测试要点以及具体业务流程测试
5.离线测试: 离线是应用程序在本地的客户端会缓存一部分数据以供程序下次调用. 1.对于一些程序,需要在登录进来后,这是没有网络的情况下可以浏览本地数据. 2.对于无网络时,刷新获取新数据时,不能获取 ...
随机推荐
- HDU 6024 Building Shops (简单dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024 题意:有n个room在一条直线上,需要这这些room里面建造商店,如果第i个room建造,则要总 ...
- Java机试题目
1.生成一个随机四位数,每位数字不重复. package com.cloud.stagging.lhcloudzuul; import java.util.Random; /** * 1.生成一个随机 ...
- PHP7.2中AES加密解密方法mcrypt_module_open()替换方案 Function mcrypt_get_block_size() is deprecated
直接粘代码,该类是基于微信公众号消息加密解密所提供的PHP DEMO改造而来,目前使用于彬彬大学APP接口token校验中. php的mcrypt 扩展已经过时了大约10年,并且用起来很复杂.因此它被 ...
- HTML --JS 密码验证
l> <head> <title>js</title> <script language="JavaScript"> func ...
- Bootstrap 学习笔记12 轮播插件
轮播插件: <!-- data-ride="carousel"自动播放 --> <div id="myCarousel" class=&quo ...
- python while 循环打印九九乘法表
方向一 i = 1 while i <= 9: j = 1 while j <= i print('%d*%d = %2d'%( j,i ,i*j),end='') j += 1 prin ...
- Android 中三种启用线程的方法
在多线程编程这块,我们经常要使用Handler(处理),Thread(线程)和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 首先说明Android的CPU分配的最小单元是线程,Han ...
- Linux命令行基础操作
目录 1.打开终端命令行 2.常用快捷键 2.1 tab键 2.2 Ctrl+c组合键 2.3 Ctrl+d组合键 2.4Ctrl+Shift+c组合键和Ctrl+Shift+v组合键 2.5图形界面 ...
- Mysql 实现基于binlog的主从同步
工作原理 1.主节点必须启用二进制日志,记录任何修改了数据库数据的事件.2.从节点开启一个线程(I/O Thread)把自己扮演成 mysql 的客户端,通过 mysql 协议,请求主节点的二进制日志 ...
- UVA1626 括号序列 Brackets sequence(区间dp)
题目传送门(洛谷) 题目传送门(UVA) 解题思路 很显然是一个区间dp,当然记忆化搜索完全可以AC,这里说一下区间dp. 区间dp的重要特征就是需要枚举中间节点k 看一看这道题,用f[i][j] ...