在讲APP测试之前,先讲一下,目前APP的操作系统以及APP相关基础知识。

一.APP基础知识

1.操作系统#

现在移动端的操作系统主流的分为两种:(1)安卓系统 (2)IOS系统。

2.安卓系统#

基于Linux系统的内核进行开发的开源的操作系统,安卓系统上的app一般用Java语言编写,软件包的后缀名名为.apk,最高权限需要root。

3.IOS系统#

软件包后缀名为.ipa,开发语言涉及到C,object -c,swift,C++等

4.app上的web服务器现在普遍使用最多的是Nginx,数据库采用最多的是MySQL。

5.目前APP测试大多数是敏捷开发测试,更新迭代的时间大多数为两到三周。

二.APP的测试点#

总结画了一个思维导图,如下图所示

一.功能测试点

1.运行

2.注册

3.登陆

4.启动

5.应用的前后台切换

6.免登陆

7.数据更新

8.离线浏览

9.定位,照相机服务等等

10.时间测试(以服务器时间为准)

11.Push测试,就是把APP信息推送到手机上

以及其他点等等……

二.安全测试点

1.敏感信息是否加密,用抓包工具分析

2.密码过于简单检查

3.重要数据,如支付密码会不会保存到设备中,会不会被解密

4.同一账号在不同终端登陆,是否有提示

5.异地登陆是否有提示

6.系统是否允许多次非法登陆,是否有提示

7.限制或者允许使用手机某些功能

8.注册的验证码是否能重复使用,是否有超时限制

9.反编译,即将编译后的数据转换成源代码,进而篡改程序

10.协议抓取,即对代码进行反编译后,植入非法程序抓取用户和服务器之间的通讯信息,从而获取用户数据

等等其他的安全测试点,这里补充一个免费的安卓扫描平台,百度 爱加密 即可。

三.用户体验测试

以主观的普通消费者的角度去感知产品或服务的舒适度,有用,易用和友好亲切程度。

四.交叉事件测试

即冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。

五.兼容性测试

1.与本地以及主流APP是否兼容

2.不同操作系统的兼容性,是否适配

3.不同手机屏幕分辨率的兼容性

等等还有一些。

六.性能测试

分为服务器的性能测试和手机端的性能测试

(关注:CPU,内存,上传流量,下载流量,电量使用情况等等)

七.安装,卸载,升级测试

八.UI测试

原型图和效果图对比测试

说了这么多,说一下我测APP的一个简单流程吧。

测试前,先熟悉APP的原型图和业务需求,确定测试点。

APP开发完成后,先做一个冒烟测试,看看软件的基本功能是否可用,如果正常,再做功能测试,UI测试,兼容性测试,交叉事件测试,安装卸载升级测试等等。

顺便在这里讲一下,以前经常有朋友会问到的一些问题。

APP常见问题总结

1.APP测试和web测试的区别

APP要进行前后台切换测试,免登陆,交叉事件测试,流量和电量测试,中断测试等等,而这些web测试没有。

2.APP的弱网环境怎么模拟

用抓包工具Fiddler模拟弱网环境,具体怎么模拟,以后会在Fiddler专题篇中讲到。

3.APP测试怎么判断是前端还是后台问题

用抓包工具Fiddler抓包 1.看发送的请求参数是否有问题,有问题就是前端问题 2.看返回的响应参数是否有问题,有问题就是后台问题

APP test的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  5. SQLSERVER走起 APP隆重推出

    SQLSERVER走起 APP隆重推出 为方便大家查看本微信公众以前推送的文章,QQ群里面的某位SQLSERVER重度爱好者开发了<SQLSERVER走起>的APP 以供大家一起交流 网页 ...

  6. 从中间件的历史来看移动App开发的未来

    在移动开发领域我们发现一个很奇怪的现象:普通菜鸟新手经过3个月的培训就可以拿到 8K 甚至上万的工作:在北京稍微有点工作经验的 iOS 开发,就要求 2 万一个月的工资.不知道大家是否想过:移动应用开 ...

  7. 搞个这样的APP要多久?

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  8. app开发外包注意事项,2017最新资讯

    我们见过很多创业者,栽在这app外包上.很多创业者对于app外包这件事情不是特别重视,以为将事情交给app外包公司就完事了,实际上不是的.无论是从选择app外包公司还是签订合同.售后维护等各方面都有许 ...

  9. 【Win 10 应用开发】在App所在的进程中执行后台任务

    在以往版本中,后台任务都是以独立的专用进程来运行,因此,定义后台任务代码的类型都要位于 Windows 运行时组件项目中. 不过,在14393中,SDK 作了相应的扩展,不仅支持以前的独立进程中运行后 ...

  10. 猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS

    一.假新闻如此猖獗 刚才一位老同事 打电话问:我们公司还是用的HTTP,马上就到2017年了,提交AppStore会被拒绝,怎么办? 公司里已经有很多人问过这个问题,回答一下: HTTP还是可以正常提 ...

随机推荐

  1. jenkins使用4----git maven工具连接

    搭建完git服务器 将jenkins服务器的的公钥传到git服务器的/home/git/.ssh的authorized_keys文件下 ssh端口2994 创建工程 配置完maven发现创建项目没有m ...

  2. Jupyter notebook工具栏隐藏和jupyter notebook主题更改

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python  https://www.cnblogs.com/xxtalhr/p/10747200.html 一.问题 Jupyt ...

  3. AI tensorflow MNIST

    MNIST 数据 train-images-idx3-ubyte.gz:训练集图片 train-labels-idx1-ubyte.gz:训练集图片类别 t10k-images-idx3-ubyte. ...

  4. Vue2.x源码学习笔记-Vue静态方法和静态属性整理

    Vue静态方法和静态属性,其实直接在浏览器中可以查看到的,如下 圈起来的是其静态属性,但是有的属性对象中的属性的值又是函数.未圈起来的则是函数. 其实它来自如下各个目录下的js文件 // src/co ...

  5. Generative Adversarial Nets[LSGAN]

    0 背景 在这之前大家在训练GAN的时候,使用的loss函数都是sigmoid_cross_entropy_loss函数,然而xudon mao等人发现当使用伪造样本去更新生成器(且此时伪造样本也被判 ...

  6. [转]关于oracle sql语句查询时表名和字段名要加双引号的问题

    oracle初学者一般会遇到这个问题.   用navicat可视化创建了表,可是就是不能查到!   后来发现②语句可以查询到 ①select * from user; 但是,我们如果给user加上双引 ...

  7. C#使用Json.Net遍历Json

    StringBuilder builder=new StringBuilder(); builder.AppendLine("{"); builder.AppendLine(&qu ...

  8. Java获取Window和Linux系统的项目ClassPath路径

    不啰嗦,直接复制工具类 /** * 在windows和linux系统下均可正常使用 * Create by yster@foxmail.com 2018/6/6/006 14:51 */ public ...

  9. 性能调优9:根据WaitType诊断性能

    SQL Server数据库接收到查询请求,从生成计划到执行计划的过程,等待次数和等待时间在一定程度上揭示了系统性能的压力,如果资源严重不足,就会成为性能的瓶颈.因此,对等待的监控非常有助于对系统性能进 ...

  10. Rollup处理并打包JS文件项目实例

    关于Rollup rollup是一款用来es6模块打包代码的构建工具(支持css和js打包).当我们使用ES6模块编写应用或者库时,它可以打包成一个单独文件提供浏览器和Node.js来使用. 它的优点 ...