热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

APP常见测试点总结

常见测试点总结:1.安装、卸载测试主要针对编译后源程序生成的APK安装文件。主要测试点:a.生成的APK文件在真机上可以安装及卸载;b.Android手机端的通用安装工具,如:豌豆

常见测试点总结:

1.安装、卸载测试

主要针对编译后源程序生成的APK安装文件。

主要测试点:a.生成的APK文件在真机上可以安装及卸载;

b.Android手机端的通用安装工具,如:豌豆荚及91助手等工具可以正常安装及卸载程序。

2.在线升级测试

测试点:a.验证数字签名 b.升级后可以正常使用 c.在线跨版本升级

3.业务逻辑测试

业务逻辑测试:主要测试客户端业务能否正常完成

功能点测试:主要测试客户端功能点是否正常使用

关联性测试:主要测试客户端与PC端的交互,客户端处理完后,PC端与客户端数据一致

4.异常测试

主要包含了断网、断电、服务器异常等情况下,客户端能否正常处理,保证数据正常性。

5.交互性测试

客户端作为手机特性测试,包含被打扰的情况13种,来电,来短信,低电量测试等,还要注意手机端硬件上,如:待机,插拔数据线,耳机等操作不会影响客户端。

6.易用性测试

界面与交互性测试:符合android交互规范,符合用户使用习惯,操作方便简单,具有一致性。

可用性测试:用户体验好,用户操作方便,用户使用错误率低。

7.适配测试

手机不同分辨率支持:客户端支持800*480,960*540,1920*1280等;

手机不通版本的支持:4.0, 5.0, 6.0;在测试计划中,需要安排单独的时间用于android不同系统的兼容性测试,包括7.0版本等;

手机不同厂家系统的支持:不同厂家会有不同android系统,例如:小米收,华为输入法。是市场主流的系统及厂家不同型号的支持;

手机不通尺寸的支持:4.0到7.0屏幕在UI显示有区别的,要支持最大到最小。

解决方案:

a.自行购买或者使用借来设备来实际验证。耗费资金,购买几台。

b.第三方云测试的解决方法。

c.整理不兼容的地方,然后去分析app总可能不兼容的代码。对技术能力的要求比较高,前期也需要花费不少的时间。

d.利用友盟等第三方统计平台获得应用对应的TOP N 的记性重点进行测试。

8.客户端侧性能测试

偏重客户端侧CPU、MEM、流量、电量以及客户端在不同网络环境下响应速度等等。

大数据的测试:主要在特定环境下,客户端一次性更新大量的数据,客户端能否正常处理,分为三种情况:

a.客户端第一次使用,的一次就更新大量数据

b.客户端在平时更新中,更新大量的数据

c.客户端已经在手机本地下载很多数据后,再次更新大量数据。

9.电量与流量测试

手机的电量及流量测试主要是为了站在用户角度思考,毕竟电量、流量消耗比较大,会影响客户的使用感受。手机端量使用是和CPU使用率成正比的。由于这个没有比较详细的规定,只能出一个通用范围。CPU使用率不能超过10%以上,流量不要超过10M以上。一般通过android手机端一些监控软件获取数据。

当然也可以通过代码打点获取。

10.内存泄漏测试

OutOfMemory。

11.外网与场景测试

主要是模拟客户使用网络环境,检验客户端程序在实际网络环境中使用情况及进行业务操作。外网测试主要覆盖到wifi\3G\4G、net\wap、电信\移动\联通,所有可能的组合进行测试。

原则:a.尽可能全面覆盖用户的使用场景,测试用例中需要包含不同网络排列组合的各种可能; b.模拟信号被屏蔽时候,客户端的影响等; c.做外部场景测试,在高山、丘陵、火车上等特殊环境下进行全面测试。

12.APP性能测试分类

客户端:

    a.应用测试(关注CPU、MEM、流量、GPU等)

    b.ROM测试

    c.其他(web页面,现在APP大多都是web页面)

服务器端:性能测试方法和WEB差不多

tips:客户端的测试其实比较推荐专用的硬件设备来,这样测出的数据更加准确,比如高速相机、功耗仪等

13.APP自动化测试分类

UI(robotium、Appium等)

接口

单元(junit、Robolectric等)

持续集成

tips:一句话,对编程要求高,逻辑性思维要求高

14.测试启动时间

a.代码里插入时间并打印Log.e

b.命令方式

    adb shell

    am start -W -n 包名/activity名

    -W是指启动完成之后,返回启动耗时

c.秒表、高速相机

d.adb logcat

    adb logcat >d:\log.txt

    启动应用,待加载完成后ctrl+c停止

    find “Displayed” d:\log.txt>d:\log1.txt

    find “包名” d:\log1.txt>d:]log2.txt

15.代码静态扫描

代码扫描工具Lint,它能非常容易得帮米找出代码上的结构问题

具体的检察规则可以自定义(局部,全局)

lint –list 获得检查项id和简要说明

lint –show xxx 获得详细说明

jenkins:持续版本构建,与lint搭配使用

lint:检查已有规则规范

findbugs:针对java平台代码的检查

16.traceview

手机root,代码中埋点,加SD卡读写权限。通过monitor.bat打卡.trace文件。

Debug.startMethodTracing(“路径”); //在oncreate方法中,开始埋点

Debug.stopMethodTracing(); //ondestroy中,结束

17.手机电量测试

a.利用硬件设备:比如耗电量测试仪

b.第三方软件来检测:手机自带电量监控、360助手、GT等

c.命令方式(5.0以上版本)

    //初始化batterystats数据

    adb shell dumpsys batterystats –reset

    //得到整个设备的电量消耗信息

    adb shell dumpsys batterys > /storage/sdcard0/Download/b1.txt

    //得到指定app相关的电量消耗信息

    adb shell dumpsys batterystats 包名 > /storage/sdcard0/Download/b1.txt

    

18.测试流量

流量分两种:a.操作app b.不操作app

测试方法:

a.各类云测平台、DDMS的Network

b.命令(模拟器不支持,某些真机不支持)

    ps | grep com.android.browser 获取pid

    cat /proc/pid/status 获取uid

    cat /proc/uid_stat/uid/tcp_snd 发送的流量byte

    cat /proc/uid_stat/uid/tcp_rcv 接受的流量byte

c.android自带api

    long uidrx=TrafficStats.getUidRxBytes(10053); //10053表示uid

d.抓包(最好用root真机练习)

    通过tcpdump抓包,再通过wireshark直接读取报信息来获取流量

    

19.GPU

通过开发者模式-》显示GPU过度绘制

20.CPU

a.第三方工具、各类云测平台

b.dumpsys命令

    adb shell dumpsys cpuinfo | grep com.android.browser > /storage/sdcard0/Download/cpu.txt

c.top命令

    adb shell top | grep com.android.browser > /storage/sdcard0/Download/cpu.txt

tips:关注活动状态和静默状态下的情况

21.线上监控的方法

a.第三方的标准化的开源、商业产品,如Nagios、zabbix、Ganglia、百度统计等

b.自主研发的监控手机平台

c.APM,比如听云

d.用户反馈

app埋点监控测试:如友盟


推荐阅读
  • 安卓中的刮刮卡视图,示例原文:https://www.gee ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
  • jenkins 搭建配置
    jenkins部署安装方法一: 下载jenkinswar包  wgethttp:mirrors.jenkins.iowar-stablelatestjenkins.war运行jen ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
  • Android 常用工具类源码大全
    Android常用工具类源码大全 ... [详细]
  • 1jdk去网站下载,然后拷贝到linux上;或直接wgethttp:download.oracle.comotn-pubjavajdk8u181-b1 ... [详细]
  • 基于,docker,快速,部署,多,需求,spark ... [详细]
author-avatar
浪子烦恼猪_309
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有