App知识点
什么是activity
Activity一个应用程序的组件,它提供一个屏幕来与用户交互。
Activity:应用程序中,一个Activity就相当于手机屏幕,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含许多活动,比如事件的点击,一般都会触发一个新的Activity。
Activity生命周期
四种状态: 1、运行 2、暂停 3、停止 4、系统回收(killed)
Android四大组件
Android四大基本组件:Activity、BroadcastReceiver广播接收器、ContentProvider内容提供者、Service服务。
app测试点
1、安装、卸载测试
2、功能测试
根据需求文档和UI图设计测试用例,执行测试
3、数据安全性或者敏感性测试
密码、手机号、身份证等加密传输,文字显示等敏感词规避
4、异常场景
中断测试,比如电话来电、短信、推送消息等,app的返回功能等
5、网络测试
无网情况下,app各个功能的表现,关注用户体验和闪退问题
弱网下,各个功能点的异常反应
网络切换测试,wif和4G网络切换的场景
6、兼容性测试
App和安卓,一般放到最后进行,待测试结束之前
7、app升级测试
主要关注大小版本升级,跨版本升级,以及缓存清除机制等。
APP版本升级,即为整个APP内容升级,Android和IOS一致,分为强制升级和非强制升级。
8、性能测试
如果已经能感觉出来系统响应慢,需要提相应的bug跟踪,并且要具备初步排查分析的能力,比如:查看每一个报文的响应时间,前后端分别耗时,后端如果涉及多接口,每一个接口的耗时等,简单分析性能的瓶颈。
iOS腾讯GT内嵌,Android通过weTest助手软件进行监测
web测试需要中的点
用户界面测试:用户界面测试要注意是否有使用说明、站点地图和导航条,还要关注内容、颜色/背景、图片表格等。
功能测试:功能测试要关注链接、信息交互、数据校验等。
接口测试:接口测试关注服务器接口、外部接口、错误处理等。
兼容性测试:兼容性测试要关注操作系统、浏览器、Modem/连接速率、硬件设备等的兼容性。
负载/压力测试:要关注瞬间访问高峰、每个用户传送大量数据、长时间的使用等。
安全测试:要关注目录设置、登录、日志文件等。
App测试和Web测试的区别?
相同点:功能测试和UI层面
不同点:
兼容性测试:在web端是兼容浏览器,在App端兼容的是手机设备
安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点(能否正常的安装、运行、卸载,Android平台安装时还要看同版本覆盖安装,低版本覆盖高版本安装)
交叉事件测试:在操作某个软件时,来电话、来短信,推送消息、电量不足提示等外部事件。
操作类型测试:如横屏测试,手势测试
网络测试:包含弱网和网络切换测试
升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。
App测试中ios和Android有哪些区别呢?
1.多分辨率测试,Android端20多种,ios较少;
3.手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);
4.操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;
5.push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示); 6.安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载;
7.升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)
app导致ANR的原因有如下几点:
1.耗时的网络访问
2.大量的数据读写
3.数据库操作
4.硬件操作(比如camera)
5.调用thread的join()方法、sleep()方法、wait()方法或者等待线程锁的时候 6.service binder的数量达到上限
7.system server中发生WatchDog ANR
8.service忙导致超时无响应
9.其他线程持有锁,导致主线程等待超时 10.其它线程终止或崩溃导致主线程一直等待。
app对于不稳定偶然出现anr和crash时候你是怎么处理的?
1、app开发保存错误日志到本地
2、实时抓取
3、第三方sdk统计工具
一般接入了第三方统计sdk,比如友盟统计,在友盟的后台会抓到报错的日志
压力测试
压测范围: | 对提测范围内TOP54个用例进行接口性能压测、容量测试、综合场景压测、稳定性压测 |
压测目的: | 对系统进行性能评估,验证系统在并发下TPS、响应时间和错误率符合压测标准 |
压测场景: | 容量指标测试:根据产品预估系统5年数据量,参数化相关数据录入数据库; 接口性能压测:提测范围内TOP54个用例,每个用例单独性能评估; 综合场景压测:综合压测主要场景,测试性能指标是否符合PV、TPS、响应时间、成功率等指标; 稳定性压测:使用综合场景脚本,持续进行48小时系统稳定性测试,分析性能结果; |
app性能测试
指标说明 |
|
|
场景 | 说明 | 其它 |
CPU使用率 | 在测试的过程中,取CPU使用率平均值 |
|
内存使用率 | 在测试的过程中,取内存降(Max-Min)值 |
|
流畅度帧率 | 流畅度均值:测试全程平均单帧绘制时长; |
|
耗电量 | 利用系统工程模式测试电池电压降(Max-Min)数值 |
|
网络IO吞吐率 | 前后台交互时,占用网络IO的通讯时长和大小 |
|
App启动时间 | App启动到加载到首屏的时长 |
|
关键路径耗时 | 在操作的过程中,关键业务的请求耗时 |
|
关键路径流量 | 在操作的过程中,关键业务的流量消耗 |
|