2021-06-13

1、网络七层协议:

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

2、session与cookie区别:

(1)数据存放位置不同:cookie数据存放在客户的浏览器,session存放在服务器

(2)服务器压力不同:session保存在服务器,访问增多,占用服务器资源;cookie在客户端不占用服务器资源

(3)安全程度不同:cookie不是很安全,别人可以分析存放在本地的cookie;session保存在服务器,比较安全

(4)数据存储大小不同:单个cookie保存的数据不超过4k,很多浏览器都限制一个站点最多保存20个cookie;session存储没有限制

3、做好用例设计的关键

(1)充分考虑测试计划的实用性,即:测试计划与实际之间的可操作性、接近程度

(2)明确测试范围内容、测试目的、测试开始结束时间、测试文档存放位置、测试人员分配、使用哪些测试方法和测试工具

(3)采用评审和更新机制。项目是渐进过程,需求可能变化,测试计划也要及时更新

(4)测试策略要作为测试重点进行描述:测试级别、角色职责、环境需求、风险分析、测试进度等

4、测试用例设计方法

单个模块

(1)等价类划分:无效等价类、有效等价类

按数据范围划分:有效(4.0-5.0),无效(小于4.0、大于5.0)和4.0-5.0之间小数点后超过1位的值

按数据类型划分:有效(数字),无效(非数字类型、中文、#)

(2)边界值:对等价类的补充,一般是从等价类边缘值去寻找,正好等于、刚刚大于/小于边界的值(需求规定了取值范围)

(3)错误推测:故意进行错误操作,看看程序有没有进行异常处理

流程:(4)场景法:

5、内存溢出与内存泄露的区别

(1)内存溢出--OOM:系统不能在分配出你所需要的空间(系统剩90M,需要100M空间)

egg:栈满时再做进栈必定产生空间溢出,叫上溢;栈空时再做退栈也产生空间溢出,称为下溢

(2)内存泄露:强引用所指向的对象不会被回收,可能导致内存泄漏,虚拟机宁愿抛出OOM也不会去回收他指向的对象

6、常见的crash原因

(1)空指针异常:java.lang.NullPointerException

a.直接使用一个方法返回的数据,不做空指针判断,或不做try catch保护;没有考虑方法会在某些特殊情况返回null

b.作为一个公共方法,在不做入参检查的情况下,使用参数

(2)堆栈溢出(OOM):java.lang.OutOfMemoryError

a.存在严重的内存泄漏,当手机装了一大堆软件之后就会变得非常卡,内存泄露后正在运行的程序越来越感觉内存不够,严重的不断卡顿然后crash

b.对内存使用不合理,比如:内存中有相同图片,对图片缓存大小设置不合理,对可能造成OOM的地方未捕获(在Android中decode一张图片通常需要比较大的内存,在decode图片的时候也很容易出现OOM)

(3)数组越界:java.lang.IndexOutOfBoundsException && java.lang.ArrayIndexOutOfBoundsException

a.多线程处理数据不同步,比如:一个线程在操作一个List,而另一个线程清空了这个List,这时会抛出这类异常

b.使用时没有new一个对象,直接使用,添加元素等操作,会出现错误

(4)应用进程被其他进程中断(如:任务管理器)

(5)系统反应缓慢,导致应用主线程卡死,请求响应超时

(6)CPU负载过高

(7)控件不匹配

7、ANR定义:主线程被长时间阻塞,导致无法响应用户的操作(通常表现为弹出应用无响应的对话框,让用户强制退出)

ANR原因排查:ANR发生以后,在logcat中会有相应的日志输出,/data/anr目录中有traces.txt中记录anr的详细信息

常见ANR原因:

(1)耗时的网络访问

(2)大量的数据读写

(3)等待线程锁或调用thread的join()方法、sleep()方法、wait()方法

(4)其他线程持有锁,导致主线程等待超时

(5)其它线程终止或崩溃导致主线程一直等待

8、安卓四大组件,功能都有哪些?

(1)Activity:是一种展示型组件,主要是向用户展示一个界面,并且可以接收用户的输入信息从而和用户进行交互。对用户来说,Activity就是Android应用的全部,因为其他三大组件对用户来说是不可感知的

(2)Service:是一种计算型组件,用于在后台执行一系列计算任务,由于Service组件工作在后台,用户无法直接感知它的存在

(3)BroadcastRecevicer:是一种消息型组件,用于在不同组件乃至不同应用之间传递消息,无法被用户所感知。它工作在系统内部,也叫广播

(4)ContentProvider:是一种数据共享型组件,用于向其他组件、应用共享数据,无法被用户所感知

9、web和app测试的侧重点?区别?兼容性测试?

1)系统结构方面

web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步会更新

app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍

2)性能方面

web项目 需监测 响应时间、CPU、

app项目 除了监测 响应时间、CPU外,还需监测流量、电量等

3)兼容方面

web项目:

a. 浏览器(火狐、谷歌、IE等)

b. 操作系统(Windows7、Windows10、Linux等)

app项目:

a. 设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)

b. 手机设备可根据 手机型号、分辨率不同

4)相对于 Web 项目,APP有专项测试

a. 干扰测试:中断,来电,短信,关机,重启等

b. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

c. 安装、更新、卸载

安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况

卸载:需考虑 卸载后是否删除app相关的文件

更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

5)界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值