常规考点

WEB测试和App测试从流程上来说,没有区别。
都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。
从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。

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

1、架构区别:WEB项目是B/S架构,基于浏览器的,而APP是C/S架构,必须要有客户端。web测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是app端是不能够保证完全一致的,除非用户更新客户端。如果是app下修改了服务端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。

2、性能测试:在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量、电量、CPU、GPU、Memory、fps(流畅度),安装耗时和启动耗时这些。一般使用emmagee,GT工具测试。

3、兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机或平板设备。浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。app的测试不仅要看分辨率,屏幕尺寸,还要看设备系统。系统总的来说也就分为Android和iOS,不过国内的Android的定制系统太多,也是比较容易出现问题的。一般app的兼容测试三种方法,云测试,请团队测试,真机测试。云测试咱们稍后再聊,这里说说真机的选择。首先要选择主流的机型,其次要选择不同的分辨率,尺寸,然后就是不同的操作系统。

4、安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端的,必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、内存不足、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除app相关的文件等等。升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。

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

6、操作类型测试:如横屏测试,手势测试,多点触控,前后台切换。

7、网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。

原文地址:https://www.cnblogs.com/laoluoits/p/5673291.html

那么导致ANR的根本原因是什么呢?简单的总结有以下两点:

1.主线程执行了耗时操作,比如数据库操作或网络编程
2.其他进程(就是其他程序)占用CPU导致本进程得不到CPU时间片,比如其他进程的频繁读写操作可能会导致这个问题。

细分的话,导致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时候你是怎么处理的?

app偶然出现anr和crash是比较头疼的问题,由于偶然出现无法复现步骤,这也是一个测试人员必备的技能,需要抓日志。查看日志主要有3个方法:

方法一:app开发保存错误日志到本地
一般app开发在debug版本,出现anr和crash的时候会自动把日志保存到本地实际的sd卡上,去对应的app目录取出来就可以了

方法二:实时抓取
当出现偶然的crash时候,这时候可以把手机拉到你们app开发那,手机连上他的开发代码的环境,有ddms会抓日志,这时候出现crash就会记录下来日志。
尽量重复操作让bug复现就可以了

也可以自己开着logcat,保存日志到电脑本地,参考这篇:https://www.cnblogs.com/yoyoketang/p/9101365.html

原文:https://blog.csdn.net/jaychou_maple/article/details/78782822

 

你平常会看日志吗, 一般会出现哪些异常(Exception)?

这个主要是面试官考察你会不会看日志,是不是看得懂java里面抛出的异常,Exception

一般面试中java Exception(runtimeException )是必会被问到的问题
app崩溃的常见原因应该也是这些了。常见的异常列出四五种,是基本要求。

常见的几种如下:

NullPointerException - 空指针引用异常
ClassCastException - 类型强制转换异常。
IllegalArgumentException - 传递非法参数异常。
ArithmeticException - 算术运算异常
ArrayStoreException - 向数组中存放与声明类型不兼容对象异常
IndexOutOfBoundsException - 下标越界异常
NegativeArraySizeException - 创建一个大小为负数的数组错误异常
NumberFormatException - 数字格式异常
SecurityException - 安全异常
UnsupportedOperationException - 不支持的操作异常

 

Monkey命令,至少三种不同测试策略:

(1)、策略:执行随机操作10000次,不指定操作序列,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

(2)、策略:执行随机操作10000次,指定操作序列,操作touch 占50%,其余两种操作(motion + appswitch)各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 50 --pct-motion 25 --pct-appswitch 25 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test2.txt

(3)、策略:执行随机操作10000次,指定操作序列,操作motion占50%,其余两种操作(touch + appswitch)各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 25 --pct-motion 50 --pct-appswitch 25 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test3.txt

(4)、策略:执行随机操作10000次,指定操作序列,操作appswitch占50%,其余两种操作(touch + motion )各25%,忽略超时、crash、安全异常:

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --pct-touch 25 --pct-motion 25 --pct-appswitch 50 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --kill-process-after-error -v -v -v 2000 > d:\xnonline-monkey-test4.txt

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值