移动APP和传统软件测试的区别[转载]
目录
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和传统软件测试的区别[转载]的更多相关文章
- Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型
Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', ...
- 图解Nosql(hbase)与传统数据库的区别
图解Nosql(hbase)与传统数据库的区别http://www.aboutyun.com/thread-7804-1-1.html(出处: about云开发) 问题导读:1.nosql数据库能否删 ...
- apache与nginx日志文件的区别(转载)
apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...
- FB01与F-02的区别(转载)
FB01与F-02的区别(转载) FB01 : a) ''Post Document'' b) No doc type as SA automatically comes. c) No automat ...
- Android Library和Android APP、Java Library的区别
Android Library和Android APP.Java Library的区别 Android Library在目录结构上与Android App相同,它能包含构建APP所需的一切(如源代码. ...
- APP测试和WEB测试区别
App测试web测试的区别 单纯从功能测试的层面上来讲的话,APP 测试.web 测试 在流程和功能测试上是没有区别的 根据两者载体不一样,则区别如下: 1.兼容性测试:web端兼容浏览器,app端兼 ...
- Hbase与传统数据库的区别
在说HBase之前,我想再唠叨几句.做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了, ...
- 浅谈HTTP中Get与Post的区别[转载]
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
- 货运APP雨后春笋 传统物流模式将被改变
移动互联网正在改变我们的生活方式,各种手机APP充斥着人们的生活,物流行业也不例外.货运APP的出现,对于物流行业是一个提升的机会,也是迈向标准化和专业化的一个有效途径.有专家预测,这将为物流行业的发 ...
随机推荐
- MySQL高级学习笔记(五):查询截取分析
文章目录 慢查询日志 是什么 怎么玩 说明 查看是否开启及如何开启 默认 开启 那么开启了慢查询日志后,什么样的SQL才会记录到慢查询日志里面呢? Case 配置版 日志分析工具mysqldumpsl ...
- SQL Server2012创建连接服务器到ORACLE11G
做ETL,肯定少不了经常会从不同的数据库直接进行数据的操作,为了更好的进行跨库操作,SQL SERVER 2012拥有LinkedServer功能.前段时间写了个SQL SERVER同种数据库直接的链 ...
- java %d %n \n
Java中,%d和%f分别用来表示输出时,替换整型输出和浮点型输出的占位符. 如: int a=28; float b = 13.0f; System.out.printf("整数是:%d% ...
- 【狼】狼的unity3d脚本学习
记录学习中的问题,时刻更新 unity获取鼠标所在位置 BOOL GetCursorPos( LPPOINT lpPoint); 获取鼠标所在位置,不过原点在左下角 ///////////// ...
- SpringBoot2.0拦截器 与 1.X版本拦截器 的实现
1.5 版本 先写个拦截器,跟xml配置方式一样,然后将拦截器加入spring容器管理 .接着创建 配置文件类 继承 WebMvcConfigurerAdapter 类,重写父类方法addInter ...
- mysql 内连接和外连接查询
一.内连接查询 (笛卡儿积) 内联接查询inner join,mysql可以简写为join 二.外连接查询 左外联接查询left outer join,mysql可以简写为left join右外联接查 ...
- javascript常用经典算法实例详解
javascript常用经典算法实例详解 这篇文章主要介绍了javascript常用算法,结合实例形式较为详细的分析总结了JavaScript中常见的各种排序算法以及堆.栈.链表等数据结构的相关实现与 ...
- 条件选择case
SELECT COUNT(*),count(CASE b.AUTHORITY WHEN 'addAsmAccessControlList' THEN '1' ELSE NULL END) as aut ...
- 理解Java GC日志
idea 在vm options处加入-XX:+PrintGCDetails,可打印GC日志. public class ReferenceCountingGC { public Object ins ...
- win10居然把Linux的引导覆盖了
昨天晚上装了个windows10系统试了试,发现触摸板真的难用.最基本的双指点击做右键都搞不出来,开始菜单里要上下滚动的时候触摸板竟然要水平滑动-- 重启的时候发现居然没有Linux的引导选项了 试了 ...