App知识点(持续更新......)

1.app的性能测试,即专项测试,需要重点关注那些方面?

内存、cpu占用、耗电量、流量、流畅度等

 

2.什么是activity?它的生命周期?

Activity是一个Android的应用组件,它提供屏幕进行交互,一个应用通常是由多个彼此松散联系的Activity组成,一般会指定应用中的某个Activity为主活动,也就是说首次启动应用时给用户呈现的Activity。

生命周期:运行-暂停-停止-系统回收

 

3.Android的四大组件之一?

Activity,Broadcast Receiver广播接收器,Content Provider内容提供者,service服务

 

4.App测试和web测试有什么不同?

从流程上来说,没有区别,都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。

从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、UI测试等

 

主要区别在于具体测试的细节和方法有区别,比如:

性能测试,在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。

兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE,Chrome,火狐,edge)

如果是手机端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系统的兼容。(常见的兼容方式是兼容市场占用率前N位的手机即可)。

 

还有,App测试基于手机设备,还有一些手机设备的专项测试:

安装测试:App的安装,卸载,升级

中断事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。

操作类型测试:如横屏测试,手势测试

网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。

 

5.App出现crash的原因有哪些?

1.内存管理错误:可能是可用内存过低,app所需的内存超过设备的限制,app跑不起来导致App crash。或是内存泄露,程序运行的时间越长,所占用的内存越大,最终用尽全部内存,导致整个系统崩溃。亦或非授权的内存位置的使用也可能会导致App crash。

2.程序逻辑错误:数组越界、堆栈溢出、并发操作、逻辑错误。

e.g. app新添加一个未经测试的新功能,调用了一个已释放的指针,运行的时候就会crash。

3.设备兼容:由于设备多样性,app在不同的设备上可能会有不同的表现。

4.网络因素:可能是网速欠佳,无法达到app所需的快速响应时间,导致app crash。或者是不同网络的切换也可能会影响app的稳定性。

 

6.App对于不稳定偶然出现ANRCrash时候你是怎么处理的?

抓个log,当出现偶然的crash时候,可以把手机拿到开发那里,手机连上他的开发代码的环境,就能查看到错误日志,也可以自己在命令行里开着logcat,保存日志到电脑本地,提高优先级别的bug,并附上这log

 

7.日志中一般会出现哪几种异常?

Null Pointer Exception - 空指针引用异常

Class Cast Exception - 类型强制转换异常。

Illegal Argument Exception - 传递非法参数异常。

Arithmetic Exception - 算术运算异常

Array Store Exception - 向数组中存放与声明类型不兼容对象异常

Index Out Of Bounds Exception - 下标越界异常

Negative Array Size Exception - 创建一个大小为负数的数组错误异常

Number Format Exception - 数字格式异常

Security Exception - 安全异常

Unsupported Operation Exception - 不支持的操作异常

 

8.Android和iOS的区别?

1.底部按键不同,Android有三个键,分别为home键,back键和呼出应用列表这三个,而iOS只有一个

2.Android分辨率较多有20来钟,而iOS较少

3.Android的手机操作系统较多,iOS的较少并且只能单向升级

4.安装:Android应用的安装方式较多,而iOS一般就是App store,testflight,i4, itunes 

猜你喜欢

转载自www.cnblogs.com/demilisi/p/10938138.html
今日推荐