移动端APP测试

上一篇 / 下一篇  2014-05-22 15:14:31

手机上的app分为基于HTML5app(类似于pc上的b/S应用)和本地app(类似于C/S结构)。

所以测试上我们也可以充分吸收webb/sc/s测试经验。但是不同于pc上的应用测试,手机上的测试有其独特性

 

测试前的思考:我们这个产品主要是做什么的?为什么我要做这个产品?市场上有那些同类型的产品?

测试前的准备:1.使用同类型的产品,不仅仅是使用,应该是测试同类型的产品。2.熟悉我们产品的spec文档,积极和pm交流。3,写测试用例,没有时间至少要有一个checklist

1.功能

a.基本功能,主要指app是否完成了设计的所有功能。分清模块,写一份checklist,避免漏测。考虑横竖屏切换,不过很多app现在只支持竖屏。

b.系统交互:电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等,

2.性能:稳定性,兼用型(android碎片化是个难题,bug也多,ios相对bug少),app运行的内存消耗和cpu消耗,app后台长时间运行的耗流量,耗电量。

推荐testin这个第三方平台,对android兼用性测试比较有帮助。

 

3.易用性:页面是否吸引人、容易理解。界面整洁、简单。无错别字。点击范围确定等。这部分测试中,如果测试认为有不合理的地方通常会提交需求bug

4.外场:网络切换,网络信号强,弱下的app运行情况。

手机app测试注意点(转)

手机APP测试,主要针对的是androidios两大主流操作系,总体上来说android碎片化是个难题,bug也多;ios相对bug少。主要考虑的就是功能性、兼容性、稳定性、易用性(也就是人机交互)、性能。

1功能方面目前市场上还没达到自动化的水平,主要用手工来测。出现问题最多的也就是特殊符号、边界值、按钮之类的。

   2兼容性方面考虑手机的版本、型号、分辨率。不同的版本是存在差异的,一般低版本容易出现问题。

   3稳定性方面就是闪退、系统崩溃、没响应之类的。

   4易用性无非就是界面是否吸引人、容易理解、界面整洁、简单、无错别字。

   5性能主要是靠工具来实现的CPU占用、内存占用、电池温度等。

   6还有安装、卸载和便利测试

   一般测试时,开发会先在本地机上打好测试包,自己安装,轮完一轮,开发修改好后,再打一个包。以下是功能测试时需要注意的点:

  1、登录

  登录用户名和密码错误时,界面有提示信息

  用户主动退出登录后,下次启动APP时,应该进入登录界面

  对于支持自动登录的APP,数据交换时 ,是否能自动登录成功且数据库操作无误

  密码更改后,登录时是否做到了有效数据的校验

  对于未登录时一些页面的操作,是否做了控制

  切换账号登录,检验登录的信息是否做到及时更新

  对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新

  对于一些软件,支持一个账号只允许登录一台机器,这时,需要检查账号登录多个手机时,是否将原用户剔除,且能够给出提示信息

  ● APP切换到后台时,再次切换到前台的测试,如登录时,有电话打进来

  2、离线

  离线是应用程序在本地的客户端会缓存一部分数据以功程序下次调用

  对于一些程序,需要在登录进来后,这时没有网络的情况下可以浏览本地数据

  对于无网络时,刷新获取新数据时,不能获取数据且能给出友好提示

  切换到后台,再次切换到前台时,可以正常查看

  离线后又连上网,这时对数据有更新时,需要从服务器端获取新数据来更新客户端数据,且要更新本地缓存信息

  对于一些界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据

  3Sqlite数据库

  androidIOS客户端都采用了sqlite数据库,

APP需要在客户端保存数据时,它们会创建相应的数据库表,最常见的就是对账号的保存,这时的测试点主要有:

  跟一般数据库一样,需要检查数据的增,删,改,查

  客户端即用即建,当表不存在时,是否会自动创建

  数据表被删除后,新建的表中的数据能否自动从服务器端中获取回来并保存

  当对数据进行了修改,删除,客户端和服务器端能否有相应的更新

  获取数据,客户端是从直接从客户端获取还是和服务器端的数据进行比较

  对于客户端从服务器端更新的数据,客户端是否有保存于本地。

 

个人提的bug注意点:

  因为ios系统有不断的更新,所以会出现这样那样兼容性的问题,其实我们软件中有一点,我记得很清楚,就是在送人彩票环节,赠送成功后会弹出一个温馨提示(问用户:是否要提醒用户领取),用户一旦点了【好的】,会跳到一个短信提醒框,此时就会出错,在苹果5上都没事,一旦在4s上运行就有可能出现闪退。

 如果是同一个用户,那么她在android,ios上登录后,记录应该都是一样的。

 一款手机软件在android系统上测试要特别注意,android手机款式多,内存,分辨率不一,所以测试难过也比较大。我们的软件有一个问题一直走不去,就是在小手机上,如果应用开多,占内存大了,就会出现闪退。

 有新的版本要上线前,一定要测旧的版本,不能因为新版本上线了,老版本就不能用了,用老版本的用户还是大有人在。有一次,我用新版本注册的用户去玩老版本,结果就有有错过,当然这样玩的人很少。

 如果一页面里有很多条记录里,要注意上下多滑动,我在测试过程中,好几次在上下滑动中又由于数据出现错误,导致闪退,尤其是android.

 到了某个页面,突然断网了,然后你在不知情的情况下,点击某个按钮想继续往下走,此时,不能出现闪退的情况,而要给出断网提示。

 文本框校验时采用等价类划分法,边界值法,错误推测法与场景法,至少这些方法的概念,自己网上去搜。

 很多手机app在打开后,一般用户都不需要先注册登录,到了合适的地方,弹出合适的提示,很好友的让用户去登录。当然有些页面,而且有时没有判断,未登录去点一些按钮,有可能会闪退。未登录与登录显示的页面是完全不一样的,要仔细测。

 用户登录状态太久,sessionId会过期,会出现虽然是登录状态,系统会提示用户没有登录。

 外部软件需要更新导致自家软件闪退。我公司是一款博彩类软件,用户需要通过支付宝或财付通支付,有一次在用支付快捷支付时,提示我支付快捷支付需要更新,我就点了更新,更新完成后,我们的软件就异常退出了。

 输入数据,点某颗按钮,会出现错误提示,有时不管这个提示,继续猛点这个按钮,会出现出人意外的结果哦。

 上线前一定要测一下软件更新[IOS怎么测试更新],我好几次这里没测,结果挨了批。这真是叫做晚节不保。所有功能都测了n遍了,大胆放心的上了,可是没有在测试环境测软件的更新。结果上线后,用户更新了就出大问题了,大大影响用户量。

 

 

对自动化的一些看法:

目前我们可以接触到手机方面的自动化工具:robotiummonkeymonkeyrunnerandroidjunit。但是由于ui变化快,自动化测试往往不方便维护。前三个不需要源码支持,但是功能有限,androidjunit很强大,对代码能力要求高,同时需要源码支持。app的开发周期一般都很短,ui变化大,用自动化要考虑投入成本,大多数的公司估计都不适用。不过测接口之类的通过自动化是个不错的选择。

 

1.   移动互联网开发节奏很快,版本快速迭代,如何让测试敏捷起来?

 Monkey:我建议放弃完全得TestCase。全部用feature list或者测试思维导图或者功能点划分表来进行引导得测试。主要目的不会漏掉功能点以及防止regressionbug。其次要敏捷必须要有自动化得支持。关于这点就是根据不同得app进行定义了。首先UT无论如何就要做起来。其次是apiregression test得自动化要做起来。当然CI也一定要搭建的。

2.   移动应用测试,如何更全面的保证产品质量?如何让用户参与到测试中来?

Monkey更全面得保证产品质量。如果要说到全面,那么必须就是功能,压力,性能,安全,用户体验面面具到了。其实还是和我第一个问题说得一样。将app结合os特性分层进行逐个得测试或者自动化测试。关于让用户参与到测试中来的话。我建议可以将不同的用户集合起来,qq或者weixin保持联系。然后android可以定期发布内测版本,ios可以发布testflight版本。

3.用户反馈问题建议非常多,如何做好有效管理、分析和反馈?

 Monkey这个我相信无论哪家公司都会碰见。用户的反馈不一定都是有效的。管理的话,我建议还是需要安排一个专门的人进行记录。将反馈全部作为bug的一种,随后填bug系统方便跟踪。其次关于crash或者无法重现的问题。就需要自己在软件中增加自动反馈crash log的机制。包括用第三方的友盟等也可以。随后再定期的进行log的分析。这些其实都不难,主要就是需要坚持,一直去做。

4.竞争产品很多,测试如何做竞品分析?

Monkey:这个其实我并不是很在行。不过我觉得分析的话。主要有几点。其一,核心功能的体验。也就是说核心功能路径长短。比如A用了3步完成B用了4步完成的功能,那么A明显有优势。其二,核心功能的交互,包括用户的学习本。其三,场景分析,比如我们可以设计N个场景,在这N个场景中我们自己的产品和竞争对手的产品,用户会做什么选择。其实往往我们一设计之后就发现,有些功能用户根本无法理解,或者根本不用去做。自然也就没有意义。当然分析还有很多,包括下载量,点击数,评论等等。都可以观察。

 

app的测试方式简单介绍以下。不过首先需要肯定是不是拿到手就可以测的。更多的是需要了解

a。产品功能feature list需要熟悉

b。需要产品所在的系统的架构

c。需要熟悉产品本身的结构,本身的逻辑,包括cs结构,生命周期,api

d。根据abc来设计测试点,测试点可以是思维导图或者别的。但是并不需要去编写很详细的测试用例。

 

 

 


TAG:

木佳的个人空间 引用 删除 木佳   /   2017-03-19 11:19:47
好文
cheny3628的个人空间 引用 删除 cheny3628   /   2015-10-30 11:23:51
5
引用 删除 zibai   /   2015-10-30 09:47:36
阿里云测-移动质量中心,来自阿里的云测平台。移动App测试我们是专业的,而且免费的,认真做测试,不虚夸,花一分钟体验一下,你就会记住它。传送门:http://mqc.aliyun.com/ ,兼容性测试传送门:http://mqc.aliyun.com/compatibility.htm
引用 删除 zibai   /   2015-10-30 09:46:52
5
火影红豆的个人空间 引用 删除 火影红豆   /   2015-05-08 14:37:43
火影红豆的个人空间 引用 删除 火影红豆   /   2015-05-08 14:37:31
1
 

评分:0

我来说两句

日历

« 2024-04-22  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 13163
  • 日志数: 11
  • 建立时间: 2014-05-08
  • 更新时间: 2014-07-11

RSS订阅

Open Toolbar