【小知识】Android APP测试方法汇总

3,467 阅读5分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。

前言

我们前期在Android 系统浅析中已经对 Android 统进行全面了解,所以在Android 系统我们通常接触到就是与用户交互层-应用层。

在Android 系统应用层在实际场景中表形式就是我们平时使用的不同APP,生活类APP、社交类APP、摄影类APP等等满足不同需求的APP应用。

对于一个 Tester 当我们拿到手上的APP时,我们就会不由自主地打开进行体验使用,了解熟悉APP UI布局、功能特点等等特性。

当我们着手开始使用APP的时候,我们已经在对APP进行测试了

那么可能就会问,对Android APP测试,主要有哪些测试方法?

本期,总结了日常工作对Android APP一些常见测试方法,让我们一起来看看吧~

1. APP 技术架构

目前,APP 技术架构主要分为Web APP、Native APP、Hybrid APP三大类

  • Web APP :浏览器

    • Web App 技术主要是HTML、JavaScript、CSS等技术,还有主流HTML5
    • 主流框架有 CardKit、Kendo UI、Framework7
  • Native APP:Android 原生

    • Native App 基于手机操作系统,java编写,提供较好的用户体验以及性能
    • 主流框架有 Dagger、RxKotlin
  • Hybrid APP:混合技术

    • Hybrid APP原生应用中嵌入Webview通过webview来访问网页具有优越的体验与跨平台目前主流的应用开发模式
    • 主流框架有 Cordova

2. APP测试思路

假设LD让你去测试掘金APP,我们会怎么做?

大致步骤如下:

  1. 我们要先去应用商店-搜索掘金-下载安装,成功展示在我们手机上
  2. 打开掘金APP,按照页面指引完成注册、账号登陆
  3. 在聚集众多的大佬文章里,随机打开、滑动查看、评论、关注、退出等操作
  4. 在个人设置里查看账号、更改密码等安全性检查
  5. 掘金APP有新版本了,手机更新
  6. 使用掘金APP无法自拔,刷了一天一夜
  7. 掘金APP 有时候显示字体重叠了,影响阅读体验

总结以上步骤如下:

3. APP 基本功能测试

如上一节我们使用掘金APP,对于 Tester 在进行测试任务时,熟悉了APP整体功能后会进行用例设计

功能测试测试方法常见有:

  1. 等价类划分:有效等价类和无效等价类
  2. 边界值:最大值和最小值
  3. 错误推测法
  4. 因果图:对于相互影响关联的功能测试
  5. 业务流程图:根据需求设计进行测试

4. APP 性能测试

我们在测试 APP 性能时需要关注哪些?

1.关注资源消耗(CPU、内存、流量、功耗)

2.启动耗时(冷启、热启),(这个也是很多云测时用到的一个指标)

3.主要页面加载时间

4.内存泄漏、抖动、卡顿、页面渲染(FPS)

5. APP 安全测试

在APP安全测试过程中,我们需要关注有APP是否过度提权、logcat打印等级、账号安全等

APP权限

一般用户对自己的隐私问题十 分敏感,因此,我们需要对APP申请某些特定权限的必要性进行检查,对于没有必要的权限,一般都建议开发 直接支除。

我们可以通过用appt工具查看apk注册的权限信息

反编译

目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码泄漏,安全隐患巨大。

我们可以用APKTool工具对APK反编译

Log打印

google的建议是基于开发人员知晓恰当使用Log的级别,但是很有可能不同的开发人员会出现Log.i(“xxx”,”敏感信息”),Log.d(“xxx”,”敏感信息”)等情况。所以笼统的建议是在生产环境中,不要输出敏感信息日志。

账号安全

  1. 密码是否明文存储在后台数据库在评审和测试中需要关注密码的存储

  2. 密码传输是否加密

  3. 账户锁定策略。

  4. 同时会话情况。

  5. 注销机制。

等等,还有底层接口安全、数据库安全也是我们要关注的

5. APP 用户体验测试

在关于用户体验测试过程中我们要关注如几点:

  • UI界面是否美观
  • 操作是否流畅
  • 功能是否达到用户使用要求

例如 APP端出现空白非常影响用户体验的

6. APP 其他测试

  • 兼容性测试

Android 手机厂商比较较多,我们 APP 应用也要兼容不同手机型号,因此兼容性测试也是避免不了

  • 存储测试

存储测试过程中,一般会受到设备本身性能的影响

7. APP 出现异常场景

  • 设备碎片化

    由于设备极具多样性,APP在不同的设备上可能表现不一样

  • 内存管理

    可用内存过低,或非授权的内存位置的使用可能会导致App失败

  • 网络的变化

    不同网络间的切换可能会影响App的稳定性

  • 带宽限制

    带宽不佳的网络,对APP所需的快速响应时间可能不够

  • 代码错误

    没有经过测试的新功能,可能会导致App在生产环境中失败

  • 用户过多

    连接数量过多可能会导致App崩溃

  • 第三方服务

    广告或弹出屏幕可能会导致App崩溃

总结

本期,总结了关于Android APP 应用测试思路方法的。

在日常工作中对于我们更好地了解APP相关功能,在上线前及时发现,做到给用户更好地体验。

XDM,你们平时使用一个新APP时,会用哪些方法去测试?

以上是本期内容,欢迎大佬们点赞评论,我们下期见~