在讲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. Linux:Day4(上) 文件管理、管道

    文件管理:cp.mv.rm 复制命令:cp cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION] ...

  2. 002_浅析python 中__name__ = '__main__' 的作用

    很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...

  3. AI 可视化

    可视化 参考链接: http://www.tensorfly.cn/tfdoc/how_tos/summaries_and_tensorboard.html

  4. Generative Adversarial Nets[Pre-WGAN]

    本文来自<towards principled methods for training generative adversarial networks>,时间线为2017年1月,第一作者 ...

  5. 你知道Java的四种引用类型吗

    关于java四种引用类型,我也是刚了解,特此记下! 在Java中提供了四个级别的引用:强引用,软引用,弱引用和虚引用.在这四个引用类型中,只有强引用FinalReference类是包内可见,其他三种引 ...

  6. 卷积神经网络CNN的意义

    一.选用卷积的原因 局部感知 简单来说,卷积核的大小一般小于输入图像的大小(如果等于则是全连接),因此卷积提取出的特征会更多地关注局部 —— 这很符合日常我们接触到的图像处理.而每个神经元其实没有必要 ...

  7. oracle树形结构层级查询之start with ....connect by prior、level、order by以及sys_connect_by_path之浅谈

    浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只 ...

  8. Redux 入门教程(二):中间件与异步操作

    上一篇文章,介绍了 Redux 的基本做法:用户发出 Action,Reducer 函数算出新的 State,View 重新渲染. 但是,一个关键问题没有解决:异步操作怎么办?Action 发出以后, ...

  9. JS 面向对象 ~ 创建对象的 9 种方式

    一.创建对象的几种方式 1.通过字面量创建 var obj = {}; 这种写法相当于: var obj = new Object(); 缺点:使用同一个接口创建很多单个对象,会产生大量重复代码 2. ...

  10. mysql问题汇总——持续更新

    1.this is incompatible with sql_mode=only_full_group_by set @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_ ...