zoukankan      html  css  js  c++  java
  • 客户端测试小结

    今天台风天气,外面也不好出去,正好总结下客户端测试的8个月工作。客户端测试又称手机测试顾名思义乃是当前最流行的两端android&IOS。客户端应该如何测试呢?首先还是充分了解需求,挖掘需求,设计编写每一条case。不敬畏每一行代码,做不好开发;不敬畏每一条case,做不好测试!

    客户端安装包上线流程

    目前市场占有率还是android更大些,android包一般经过各个模块预发环境测试通过后,然后是整个公司的代码集成测试,集成期间如果有问题,修改后提交,本地打包测试,没问题的话再集成到主干分支后继续打个包再回归测试。如果没有问题了,那就可以进入灰度测试阶段了,一部分用户会被强制升级包,灰度只是一部分线上用户可以看到最新版本的功能。如果灰度阶段没有发现问题,那么整个android包就可以上架到android应用市场,最常见的应用市场有腾讯应用宝、360助手、百度助手、91助手等。

    IOS包一般也是经过各个模块预发环境测试通过后,然后是整个公司的代码集成测试,集成期间如果有问题,修改后提交,本地打包测试,没问题的话再集成到主干分支后继续打个包再回归测试。如果没有问题了,那就可以进入灰度测试阶段了。灰度只是一部分线上用户可以看到最新版本的功能。如果灰度阶段没有发现问题,那就可以将IOS 包提交到苹果公司审核了,审核通过上架之前会为开发者每款App生成100个兑换码,拿到兑换码可以去先去APP store 下载抢先体验新版本功能。如果审核不通过,会继续修改调整符合要求继续提交审核直到通过上架。

    测试case设计编写

    客户端测试case设计和后台测试还是有点区别的,客户端如果从用户的角度来说算是最上游,最直观的展示了。如果从开发测试角度的来说算是最末端、下游。客户端的很多展示依赖接口数据。那么case该怎么设计,下面看个例子:

    客户端为了友好展示,一般都会有兜底图。如:图片加载失败展示兜底图、接口请求失败兜底图,网络连接失败兜底图等。

    如果所示这是一个APP页面的视觉、prd交互图,我们根据这个图片设计编写一些case如下

    case设计的要点,首先是跟需求保持一致,究竟谁说的对得有标准。所以测试case的设计就是紧贴需求,指哪打哪。设计case的思路,条件→动作→结果,一定要描述清楚,让其他任何同事拿过来就能看懂什么意思,然后知道如何执行。

    接口容错一定要测试,不要相信任何人。亲力亲为,眼见为实。一般接口的code码返回0、-1、3等,当然也要以接口文档和契约为准,这些容错尽可能的都要测到。

    打包

      Android本地可以打包,前提得有android studio,另外还得基于最新功能模块的分支和代码。如果公司有CI环境统一打包也是可以的。IOS由于系统的特殊性,得有Mac才能打包,同理用Jenkins CI公司的统一打包也OK。

      客户端测试--抓包测试

    客户端抓包工具很多,常用主要是fiddler、Charles、Wireshark等。以fiddler为例,本地连接代理好以后所有的客户端请求返回都可以抓到了。你可以分析数据,代理接口返回。某个图片没有下发,某个字段没有,或者下发异常,这些异常数据的测试都可以用了接口返回mock代理。

    埋点测试

    首先聊聊埋点测试是干嘛用的,埋点从字面意思有很好理解的,埋下的一个点。这个点一旦埋下,在某种场景下触发,即会上报一些参数等等。我们客户端APP想知道一天有多少用户浏览,多少用户下单,哪个模块最吸引用户,那就要跟踪用户行为了。所以埋点一般分为点击埋点、曝光埋点、订单埋点。我们测试的时候也是拿到数据同学给到的方案,然后按照上报时机触发点击位,通过抓包检查上报参数是否正确,是否存在漏报、重复报等。

      兼容性测试

    兼容性测试主要是测试在某些机型上面是否会出现不兼容的问题,经验这个时候派上用场了。比如IOS 来说,目前8的系统和11、12的系统,android的4和8系统,是必须覆盖的

    。前提是这些机器在公司的兼容性机器测试范围内。另外还有版本的问题,是否存在兼容啊。高版本不出现问题,低版本同时也要兼容。

    曾经遇到的一些坑

           1.IOS的某个模块因为曝光引起的crash

    这个BUG是当后台数据没有下发的时候,但是code码返回是0,可以mock这种场景。属于必现的崩溃。

    这个崩溃是由于JDInterlocutionNoItemsImageModel没有这个属性apperanence,调用改属性get方法产生崩溃。

    修复方案:在调用该属性get时外面就保证此model类型有此属性,并且可以调用起get方法。

            2.原生编辑器输入法异常

    这个Bug是测试合代码的最后阶段,修改UI代码引起的BUG,修改之后没有回归原生编辑器导致的,于测试疏忽。此次UI代码修改本可以今早解决的,没必要搞到最后快要合代码阶段。

           3.用户头像不展示问题

    这个BUG也属于测试考虑不周全,因为之前版本的头像基本都是达人头像,之前老问答都是达人的数据,图片下发的URL都是以mobilecms/jfs/打头的地址,回答页的图片处理逻辑是客户端用imghost+authorPic拼接的地址,可以正常访问,我们公司对于这个图片处理方式是全站统一的。现在的用户头像下发是以http://storage.360buyimg.com打头,沿用拼接方法就会访问失败,故回答页头像加载失败。如果用一些自己的个人账户很容易发现这个问题。

            4.H5上下滑动卡死

            5.特制的页面吸顶影响其他页面

  • 相关阅读:
    Centos7创建用户su登录后显示为 bash-4.1$
    winserver 搭建 Citrix License 许可服务器
    Centos7扩展存储空间
    CentOS7配置crate集群
    CentOS7安装cratedb
    初探Vue
    浅谈web攻防
    响应式布局
    JavaScript正则表达式,你真的知道?
    15个关于Chrome的开发必备小技巧[译]
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/9350337.html
Copyright © 2011-2022 走看看