1. 移动App比PC 上的程序测试要复杂

各种兼容性,多种分辨率, 多种异常情况。 会让移动APP上的测试更复杂。

2. 移动APP测试中如何设计Test Case

移动互联网开发节奏很快,而且版本快速迭代, 建议完全放弃传统的Tese Case, 不需要写详细的测试用例。 而采用feature list.

比如使用思维导图工具+功能点 的方法。 这样能节省大量的时间。 而且思维导图比较直观,不容易漏掉功能。

3. 让自己成为真实的用户

大部分移动APP都是面向普通用户的,而不是企业用户。 要让自己成为APP的真实用户, 这样彻底了解业务逻辑,

4. 关注用户体验测试

用户体验式APP成功的关键, 在这么小的屏幕上,用户体验关系着用户对APP的满意度

5. 少做UI自动化,多做后台接口的自动化

UI自动化大部分的时候,都没什么意义,投入大,收入少。 应该多关注后台借口的自动化测试

6. 重要的原则: 测试你最终要发布给用户的APP版本

每日构建,每日测试的理念已经深入人心, 很多时候我们测试的是App的开发和Debug版本。 而不是最终的Release版本, 在打包最终的Release版本时。 我们一般还要加上数字签名,或者再加上代码混淆。那么最终的发布版本和Debug的版本肯定有不一致的地方。 很可能最终的版本会有问题。 比如Debug版本是完全工作正常,但是上线后才发现会导致奔溃

7. HTTP,HTTPS都要覆盖

许多App和后台服务都是通过HTTP来交互的,正常情况下都一切正常,为什么需要测试HTTPS环境? 一些免费上网的环境中,比如,麦当劳,万达商城,他们的网络环境都需要输入用户名和密码,通过SSL认证来访问网络。 如果你使用HTTP Client 的Library对这种异常没有做捕获处理,那么你的APP,肯定要奔溃。

8. 进行网络异常,服务器宕机或出现404,502情况下的测试。

后台服务的稳定性是你有时候很难去控制的,尤其是牵扯到DNS,空间服务商的情况下。 如果出现DNS解析故障,碰到这种情况,你对后台API的请求很可能就会出现404错误, 而你和API交互的数据应该是某种固定格式例如JSON和XML,这样你的数据解析比如会出现错误,抛出异常。如果你对异常没有进行正确的处理可能会导致程序不能正常工作。

9. 2G,3G,4G wifi 都要覆盖

这四者之间不仅仅是网络速度的差别, 它们代表了不同的网络环境。 经常会有些APP能在3G网络下运行,但是不能在wifi下运行。所以在需要check在不同的网络环境。

10. AppStore 冗长的审核机制

一旦你的应用出现严重系统错误, 你修复版本基本不可能在很短时间内在App Store上架。 那么你的用户就会离去。

转载链接:https://www.imooc.com/article/25323

移动APP和传统软件测试的区别[转载]的更多相关文章

  1. Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型

    Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', ...

  2. 图解Nosql(hbase)与传统数据库的区别

    图解Nosql(hbase)与传统数据库的区别http://www.aboutyun.com/thread-7804-1-1.html(出处: about云开发) 问题导读:1.nosql数据库能否删 ...

  3. apache与nginx日志文件的区别(转载)

    apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...

  4. FB01与F-02的区别(转载)

    FB01与F-02的区别(转载) FB01 : a) ''Post Document'' b) No doc type as SA automatically comes. c) No automat ...

  5. Android Library和Android APP、Java Library的区别

    Android Library和Android APP.Java Library的区别 Android Library在目录结构上与Android App相同,它能包含构建APP所需的一切(如源代码. ...

  6. APP测试和WEB测试区别

    App测试web测试的区别 单纯从功能测试的层面上来讲的话,APP 测试.web 测试 在流程和功能测试上是没有区别的 根据两者载体不一样,则区别如下: 1.兼容性测试:web端兼容浏览器,app端兼 ...

  7. Hbase与传统数据库的区别

    在说HBase之前,我想再唠叨几句.做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了, ...

  8. 浅谈HTTP中Get与Post的区别[转载]

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  9. 货运APP雨后春笋 传统物流模式将被改变

    移动互联网正在改变我们的生活方式,各种手机APP充斥着人们的生活,物流行业也不例外.货运APP的出现,对于物流行业是一个提升的机会,也是迈向标准化和专业化的一个有效途径.有专家预测,这将为物流行业的发 ...

随机推荐

  1. MySQL高级学习笔记(五):查询截取分析

    文章目录 慢查询日志 是什么 怎么玩 说明 查看是否开启及如何开启 默认 开启 那么开启了慢查询日志后,什么样的SQL才会记录到慢查询日志里面呢? Case 配置版 日志分析工具mysqldumpsl ...

  2. SQL Server2012创建连接服务器到ORACLE11G

    做ETL,肯定少不了经常会从不同的数据库直接进行数据的操作,为了更好的进行跨库操作,SQL SERVER 2012拥有LinkedServer功能.前段时间写了个SQL SERVER同种数据库直接的链 ...

  3. java %d %n \n

    Java中,%d和%f分别用来表示输出时,替换整型输出和浮点型输出的占位符. 如: int a=28; float b = 13.0f; System.out.printf("整数是:%d% ...

  4. 【狼】狼的unity3d脚本学习

      记录学习中的问题,时刻更新 unity获取鼠标所在位置 BOOL GetCursorPos(   LPPOINT lpPoint); 获取鼠标所在位置,不过原点在左下角 ///////////// ...

  5. SpringBoot2.0拦截器 与 1.X版本拦截器 的实现

    1.5  版本 先写个拦截器,跟xml配置方式一样,然后将拦截器加入spring容器管理 .接着创建 配置文件类 继承 WebMvcConfigurerAdapter 类,重写父类方法addInter ...

  6. mysql 内连接和外连接查询

    一.内连接查询 (笛卡儿积) 内联接查询inner join,mysql可以简写为join 二.外连接查询 左外联接查询left outer join,mysql可以简写为left join右外联接查 ...

  7. javascript常用经典算法实例详解

    javascript常用经典算法实例详解 这篇文章主要介绍了javascript常用算法,结合实例形式较为详细的分析总结了JavaScript中常见的各种排序算法以及堆.栈.链表等数据结构的相关实现与 ...

  8. 条件选择case

    SELECT COUNT(*),count(CASE b.AUTHORITY WHEN 'addAsmAccessControlList' THEN '1' ELSE NULL END) as aut ...

  9. 理解Java GC日志

    idea 在vm options处加入-XX:+PrintGCDetails,可打印GC日志. public class ReferenceCountingGC { public Object ins ...

  10. win10居然把Linux的引导覆盖了

    昨天晚上装了个windows10系统试了试,发现触摸板真的难用.最基本的双指点击做右键都搞不出来,开始菜单里要上下滚动的时候触摸板竟然要水平滑动-- 重启的时候发现居然没有Linux的引导选项了 试了 ...