由于智能手机时代来临,很多产品都有了APP,作为一个测试人员掌握APP测试是必要的。

在展开APP测试之前,首先了解一下几个点:

1.基于软件测试框架之上。复习下软件测试框架

2.框架的内容贯穿于APP测试(以及其他的测试)始终。

3.软件测试用例的设计,软件的熟悉程度软件测试思维的锻炼,是所有测试的关键和基本。

学习更多测试点击:更多测试学习

目录

如何学习手机APP测试

了解手机行业

了解APP行业

熟悉手机

熟悉流行的APP

先从业务入手,熟悉基本测试点,测试技巧与方法。

在深入到架构

先从功能和思维入手

再说性能和自动化

移动端测试技术概述

广义的将包括手机,笔记本,平板电脑,pos机甚至包括车载电话。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。

APP测试涉及技术:

功能性测试(手动/云测)

兼容性测试(Fiddler)

稳定性测试 (Monkey)

安全性测试

性能测试(GT)

H5测试

手机操作系统

智能手机组成部分:主要可以分为两部分,硬件和软件。硬件就是处理器、手机屏幕、电池、相机传感器等电子元器件。软件就是系统、框架和各类应用程序了。

智能手机硬件组成:SoC、RAM、ROM、电池、屏幕、传感器等。

智能手机操作系统:

ISO:Cisco的网际操作系统(iOS)是一个为网际互连优化的操作系统--类似一个局域操作系统(NOS)。

Android:Android是一种以linux为基础的开发源代码操作系统。

安卓手机的架构:

1.applications:日历;联系人,邮件等,用java编写。

2.应用程序框架:开发人员可以访问框架api。

3.系统运行库:为开发者提供服务。

4.linux内核

掌握了手机与APP的结构以后下面来看APP测试的几种测试方法。

功能测试:

-根据软件说明或者用户需求验证APP的各个功能实现:

1.根据需求,提炼APP的用户使用场景,验证功能。

2.根据相关测试标准,验证功能。

3.根据被测功能点的特性采用特定的方法进行测试。

4.在测试过程中,及时修正业务或需求理解错误。

常见的功能缺陷

1.功能不起作用(菜单,按钮,连接,控件失效)

2.功能错误(与预期的功能不一致,计算结果错误,显示结果错误)

3.功能缺少(缺少应该具备的菜单,按钮,选项等)

4.执行功能以后系统瘫痪(崩溃,CPU不足)

5.执行功能以后当前功能无法继续操作。

APP UI测试:

UI user interface (用户界面)

确保用户界面符合公司或行业标准。包括用户友好性,人性化,易操作性测试。地域性。

-UI测试的目标是确保用户通过界面能够正确,快速,有效的使用软件的各项功能。

测试用户界面包括:

1.页面是否美观。

2.文字是否正确:操作手机,帮助文档等。

3.文字图片组合是否完美,操作是否友好。

4.菜单,对话框,窗口,控件布局,风格是否满足客户需求。

UI测试的目标是确保用户通过界面能够正确,快速,有效的使用软件的各项功能。确保用户界面符合公司或行业的标准。包括用户友好型,人性化。UI界面对比。图片对比。

APP兼容性测试:

1.操作系统版本。

2.屏幕分辨率。

APP弱网测试:

1.测试软件在2g 3g 4g wifiwifi(100m,200m)网络下应用运行的速度。

2.一般测试环境都是公司的内网进行测试,到外网环境下进行操作是否有异常,(测试环境,正式环境,验收环境)

3.网络不好或者很差的时候,进行数据提交,数据是否交换失败。(曾把网络速度设置为0,提交数据,一直在转圈,友好提示/anr)

4.有网到无网再到有网环境时,数据是否可以自动恢复,正常加载。

APP稳定性测试:

1.在保证基本功能正确的基础上,APP的稳定性就显得特别重要了。如果一个APP应用经常出现闪退或者卡顿,用户体验很差,在有竞品的情况下,很容易造成用户流失。

2.稳定性的问题,可以通过黑盒测试,灰度内测,以及用户的反馈得以发现而修改。

灰度内测:指有没有限制的内测。但是还是会限制用户身份,即只有资格的用户才可以获得内测软件。

稳定性测试工具:Monkey

APP安全性测试:

app的安全性不言而喻,安全性涉及到权限设置,敏感信息存储,日志中的敏感信息,第三方键盘是否恶意劫持信息。密码显示,密码输入,修改密码,动态验证码。

1.APP软件因为涉及到用户隐私,因为安全性测试很重要,比如iOS出现iCloud艳照门这样的事件,感兴趣的百度一下“好莱坞艳照门”,起因是黑客使用了Apple公司的find my iphone 服务的漏洞,进行暴力破解。所以用户对于APP安全性的要求更高了。

2.权限问题,我们需要对APP申请某些特定权限的必要性进行检查,列如访问图库,对于没有必要的权限,我们直接建议开发删除。评估增加的新权限。

3.数据库中敏感信息问题,现在大部分移动APP都会用到数据库,一旦手机被他人获取,就可能造成用户的隐私泄露,在跑完一个包含数据库的测试用例后,我们可以直接查看数据库里的数据,观察是否有敏感信息存储在内。一般来说,这些敏感信息需要在用户进行注销操作后删除。

4.八项基本原则:目的明确,最少够用,公开告知,个人同意,质量保证,安装保证,诚信履行,和责任明确。划分了手机,加工,转移,删除四个环节。

5.日志中包含敏感信息。开发人员在写程序的过程中都会加入日志帮助调试,在日志中写入一些敏感信息。通常在应用发布版本不会使用日志,但也不排除一些特殊情况。对于发布版本中包含日志的应用,在测试的时候我们也需要关注日志是否存在敏感信息

APP性能测试:

APP端的性能也是影响用户体验的非常重要的方面,例如cpu和内存的使用情况,应用的响应时间,页面渲染时间都是我们需要考虑的问题。

性能测试:

1.测试APP在不同网络速度下操作的流畅程度。可以通过测试人员在使用APP时直观的感受来验证APP性能带给用户的体验。

2.测试APP操作数据库的性能。APP在本地存储和读取数据时,如果操作的数据量很大,例如对APP对短信的读取。就可能引起APP的性能问题。读写电子邮件和照片也可能出现类似问题。

3.压力测试:返回/长期操作,系统资源是否战友异常(monkey)

4.资源消耗(CPU,内存,流量,功耗)

example:

内存使用过高,以及内存不够而导致的崩溃。

软件启动时要求CPU<20%,实际结果是>20%,那么就是fail。

H5测试

h5就是超本文编辑语言,h5测试和web端测试很类似,包括功能测试,浏览器兼容性测试,前端性能测试等。

example:微信>我的>钱包>腾讯公益。这就是h5页面,是对这种界面的测试。

以上就是APP测试的几种方法。掌握这几个方法后,基本上APP测试所覆盖的点基本上就比较全面了。下面介绍一下APP测试中的常见问题。

APP测试主要术语

分辨率 :手机>设置>关于手机>我的设备>分辨率

色深

像素

APP测试为什么以安卓为主?

1.用户量大

2.Android碎片化严重。

3.iOS相对于Android是封闭式系统

4.APP在Android手机上屏幕尺寸,分辨率兼容较高,比如有很多牌子的安卓手机,苹果只有一个。

android与iOS分别用什么语言写的?

iOS:object-c

android:java

01- APP移动端测试怎么测试?APP测试方法大全。的更多相关文章

  1. (原创)如何对APP服务端进行压力测试

    版权声明:本文为原创文章,转载请先联系并标明出处 APP性能测试分为客户端性能测试和服务端性能测试,客户端的性能测试主要是针对启动快慢.耗电量.耗流量.内存使用等指标进行评估,目前主流的APP客户端性 ...

  2. Web压力测试和手机App测试

    总纲:认识测试关系和目标http://blog.csdn.net/superxgl/article/details/27189631 一.web测试和App服务端测试 软件安装 建议安装loadrun ...

  3. APP移动端测试

    重点: app测试的内容 add 命令  monkey命令 次重点:模拟器的安装 雷电 夜神 android 自带的模拟器 真机测试 简单了解云测Testing  腾讯云() 了解:市场有点移动端的操 ...

  4. APP敏捷测试,测试和开发并行!

    测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...

  5. 无需编译app切换线上、测试环境

    在咱们测试过程中,经常需要切换测试环境和线上环境.大致有如下几个方案. 一.服务器地址编译到app中 此种方式需要在代码里保存两套配置,一套指向线上,一套指向测试.通过编译参数分别生成测试包.线上包. ...

  6. 【测试基础】App测试要点总结

    测试工作过程中思维过程:测试人员常被看作Bug寻找者,程序的破坏者. 1.好的测试工程师所具备的能力: 细心的观察能力 有效的提问能力 产品的业务能力 好奇心 2.测试人员需要询问问题:测试人员的核心 ...

  7. 使用DDMS测试安卓手机APP的性能(android)

    安装/配置: 通过另外一个工具也可以测试手机客户端APP的性能,这就是android开发包中的DDMS工具(Dalvik Debug Monitor Service),先来说一下android开发包的 ...

  8. 本地如何搭建IPv6环境测试你的APP

    IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索). PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦 ...

  9. app测试--稳定性测试

    稳定性测试的概念有2种, 一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试.包含: 1 交互性测试,被打扰的情况,如来电,短信,低电量等.这些其实在上章的功能测试中有提到. 2 ...

随机推荐

  1. 音视频+ffmpeg

    雷霄骅:https://me.csdn.net/leixiaohua1020 致敬! 1.[总结]视音频编解码技术零基础学习方法 https://blog.csdn.net/leixiaohua102 ...

  2. 后端程序员之路 46、Redis Sentinel

    Sentinel - Redis 命令参考http://doc.redisfans.com/topic/sentinel.html#sentinel-api Guidelines for Redis ...

  3. vue3使用路由

    下载 npm install vue-router@4 配置路由 暴露出一个createRouter方法,用来创建路由对象 通过defineAsyncComponent方法来实现路由的懒加载(文章1. ...

  4. 500GJava/Hadoop/Spark/机器学习...视频教程免费分享 百度云持续更新

    参加工作这么长时间了,工作中遇到了不少技能都是看视频教程学习的,相比较看书而言看视频确实比较容易理解.分享一下自己看过的和收集的视频教程. 资源包括: 大数据方面的Hadoop(云帆,小象学院,八斗学 ...

  5. pytorch(09)transform模块(基础)

    transforms transforms运行机制 torchvision.transforms:常用的图像预处理方法 torchvision.datasets:常用数据及的dataset实现,mni ...

  6. C语言中储存类别和内存管理

    C语言中储存类别和内存管理 储存类别 C语言提供了多种储存类别供我们使用,并且对应的有对应的内存管理策略,在了解C中的储存类型前,我们先了解一下与储存类型相关的一些概念. 1. 基础概念 对象:不同于 ...

  7. Spring的IOC常用注解(含源码)

    一.容器中注入组件 1,包扫描 + 组件标注注解 源码:Demo01_ComponentScan a)组件标注 @Controller @Service @Repository @Component ...

  8. JAVA使用Collator对中文排序

    首先创建一个集合 public static List<String> init() { List<String> list = new ArrayList<String ...

  9. 一次线上MySQL主从延迟排查

    今天早上来上班,发现zabbix一直告警主从延迟,mysql slave Seconds_Behind_Master (mysql.slave_status[Seconds_Behind_Master ...

  10. C# 通过ServiceStack 操作Redis——List类型的使用及示例

    Redis list的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销, /// <summary> /// Redis list的实现为一个双向链表 ...