测试面试题 五

1、web端和app端测试的相同点和不同点的是?

相同点:
	1)都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动
	2)WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型

不同点:
	1)采用的系统框架不同:web项目是b/s 框架,app项目是c/s 框架
	2)性能方面:web页面主要会关注响应时间,而app则还需要关心流量、电量、CPU、GPU、Memory这些
	3)兼容方面:①、web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,而app需要测试手机版本(Android、ios)的兼容性
			   ②、web测试是基于浏览器的所以不必考虑安装卸载,而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景,包括安装时的中断、弱网、安装后删除安装文件
	4)app还需要在不同网络下测试(2G网络/3G网络/4G网络/WIFI网络),以及弱网测试、信号中断测试

2、los和android测试的侧重点是?

1.Android多分辨率测试,20多种,IOS较少。
2.Android手机操作系统较多,IOS较少且不能降级,只能单向升级;新的IOS系统中的资源库不能完全兼容低版本中的IOS系统的应用,低版本IOS系统中的应用调用新的资源库,会直接导致闪退。
3.Android操作习惯,Back键是否被重写,应用数据从内存移动到SD卡能否正常运行。
4.安装卸载测试:Android的下载和安装平台较多,IOS主要是AppStore,iTunes,TestFlight。
5.Push测试:Android点击home键,程序后台运行,此时点击Push消息,唤醒后台应用;iOS点击home键关闭程序和屏幕锁屏的情况。
6.单条item的操作:Android中分为点击和长按,点击一般进入一个新的页面,长按进入编辑模式。IOS中分为点击和滑动,点击一般进入一个新的页面,滑动会出现对item的常用操作。
7.悬浮窗:Android中可以有各种悬浮窗,IOS并不支持。

3、如何测试一个app的登录场景?

1.功能测试
2.性能测试
3.安全测试
4.兼容性测试

4、Push消息测试如何测试?

1.检查Push消息是否按照指定的业务规则发送。
2.检查不接收推送消息时,用户不会在接收到Push消息。
3.如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到Push。在非免打扰时间段内,用户能正常收到Push。
4.当Push消息是针对登录用户的时候,需要检查收到的Push与用户身份是否相符,没有错误的将其他人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
5.测试Push时,在开关机、待机状态下执行推送,消息及其推送跳转的正确性。
6.push消息时,会有红点展示,推送消息阅读前后数字的变化是否正确;
7.应用在开发、未打开状态、应用启动且在后台运行的情况下是push显示和跳转是否正确。
8.多条推送的合集的显示和跳转是否正确。

5、App的闪退通常是什么原因造成的?

1.机缓存垃圾太多。闪退修复方法:进入设置—应用管理—全部,找到出现状况的应用程序,清理数据和缓存
2.手机内存不足。闪退修复方法:定期清理后台程序,删掉无用的照片和程序。
3.安卓因为审核较为简单而且很多第三方软件容易植入各种病毒代码。闪退修复方法:建议在正规商店下载程序。
4.网络差。闪退修复方法:建议在WIFI环境下使用部分大型游戏软件,也可升级到4G网络。
5.系统不兼容。闪退修复方法:更新升级手机系统版本即可。
6.手机杀毒软件存在恶意代码,会被杀毒软件拦截因而不能正常进入。解决方法:须通过绿色下载平台或者使用软件商店来下载安全系数较高的趣步手机应用。

6、常见的接口协议/类型是什么?

1.HTTP类型/协议:
		通过GET或POST来获取数据,在数据处理上效率比较高 == 概念 
2.Webservice 类型/协议: 
		通过soap协议来获取数据,比起 http 来说能处理更加复杂的数据类型。本质上也是 http 协议。

7、常见的接口请求方式是什么?

1.Get 向特定资源发出请求(请求指定页面信息,并返回实体主体)
2.Post 向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改
3.Put 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)
4.Head 与服务器索与get请求一致的相应,响应体不会返回,获取包含在小消息头中的原信息(与get请求类似,返回的响应中没有具体内容,用于获取报头)
5.Delete 请求服务器删除request-URL所标示的资源(请求服务器删除页面)
6.opions 返回服务器针对特定资源所支持的HTML请求方法 或web服务器发送测试服务器功能(允许客户端查看服务器性能)

8、常见的状态码是什么以及都有什么意思请解释说明?

1.200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
2.404:(客户端问题)请求的资源没有找到,说明客户端错误的请求了不存在的资源;
3.500:(服务端问题)请求资源找到了,但服务器内部发生了不可预期的错误;
4.301/302/303:(网站搬家了,跳转)重定向
5.304: Not Modified,代表上次的文档已经被缓存了,还可以继续使用。如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面

9、接口测试的原理是什么?

1.接口测试的原理主要是模拟客户端向服务端发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。

10、后台接口测试了一遍前端也测试了一遍是不是重复测试?

1.从后端角度出发:后端测试自己开发的接口,更多在于单测层面,好的开发会从接口业务调用场景出发,覆盖一些功能case,但是开发测试自己的代码,他往往觉得自己的代码已经很完美了,所以开发测试自己的代码往往是覆盖不全面的。
2.从前端角度出发:前端开发要和后端联调,所以前端的关注点是你接口返回给我的数据结构是不是严格按照技术方案上契约来设计的,你让我传给接口的参数是不是按照契约约定的,,所以前端开发不太关注接口逻辑对不对,只关心我只要入参给的对,返回的数据结构对就行了。
3.从测试角度出发:测试是保证质量最重要的一环,接口测试我们不仅仅只考虑功能层面用例,还要从非功能层面出发,比如接口性能,稳定性,安全性。我们还要结合业务场景,去思考一些反向的异常case,和其他服务相互调用过程的异常场景怎么兜底,依赖服务响应超时怎么兜底,系统异常怎么兜底等。

11、接口测试的流程/步骤?

1.需求分析和设计评审
2.测试框架和技术选型 
3.测试计划制定 
4.测试环境搭建 
5.测试用例设计和评审
6.测试实现和执行 
7.持续集成

12、get/post的区别?

1.get是获取数据的,而post是提交数据的
2.GET 用于获取信息,是无副作用的,是幂等的,且可缓存, 而POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存。

13、如何编写接口测试用例?

1.用例编号
2.所属模块
3.用例标题
4.优先级
5.前置条件
6.操作步骤
7.请求方法
8.参数名
9.参数类型
10测试数据
11.预期结果
12.实际结果
13.通过否
14.bugid
15.编写人员
16.编写时间
17.测试人员
18.测试时间
19.备注

14、性能测试都包含了哪些?

1.压力测试
2.负载测试
3.容量测试

15.什么时候执行性能测试?

1.一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。

16、你是如何做测试分析?

1.根据需求规格提取独立的功能点,确定测试范围
2.对独立功能进行分析,确定各独立功能的测试点
3.对业务场景即功能组合进行分析,提供业务场景的测试点
4.对非功能特性进行分析,了解需要测试的非功能特性
5.针对系统级接口进行分析,了解被测试对象、测试规格。分析可测性,确定测试方法、工具。

17、性能测试的步骤/流程?

1.测试准备
2.搭建环境
3.测试脚本开发
4.测试数据准备
5.测试执行
6.结果分析与调优
7.测试后续跟踪

18、如何识别性能测试的瓶颈?

1.查看系统日志,如果日志记录的全面,很容易通过日志发现问题。比如,系统宕机时,系统日志打印了某方法执行是抛出out of memory的错误,很快定位到导致内存溢出的问题在哪里。
2.利用性能监控工具,比如:linux系统环境下通过nmon来监控系统性能。
3.设计合理的性能测试场景,好的测试场景能更加快速的发现瓶颈。
4.了解系统参数配置,可以进行后期的性能调优

19、常用的性能测试指标的含义?

1.TPS
		TPS的含义是每秒事务数。

2.并发
		多个线程模拟多个虚拟用户(virtual user)
		
3.RT
		response time;90%用户的响应时间,就是这个意思,比如一个小时内90%的响应时间为500ms,表示是这个小时内所有请求该页面的响应时间中,有90%的请求响应时间小于或等于500ms

4.吞吐量

20、如何判断一个bug是前端bug还是后台bug?

	通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。
	1.请求接口url是否正确
	2.传参是否正确
	3.请求接口url和传参都正确,查看响应是否正确
	4.也可以在浏览器控制台输入js代码调试进行分析

21、说一说你知道的Python数据类型有哪些?

1.数字类型
		int(整型)、long(长整型)、float(浮点型)
2.字符串
3.布尔型
4.列表
5.元组
6.字典
7.集合

22、什么是测试用例?什么是测试脚本?两者关系?

1.测试用例为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。
2.测试脚本是为了进行自动化测试而编写的脚本。
3.测试脚本的编写必须对应相应的测试用例

23、简述静态测试、动态测试、黑盒测试、白盒测试、α测试、β测试分别是什么?

1.静态测试(ui界面 业务逻辑 )是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。
2.动态测试(链接数据之后 )是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。
3.黑盒测试 :纯功能测试 
4.白盒测试 :使用编程脚本进行测试 实现自动化
5.α测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。
6.β测试:是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。

24、在你的项目中详细的描述一个测试活动完整的过程?

	项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后SQA进入项目,开始进行统计和跟踪

开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。

测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。

测试用例完成后,测试和开发需要进行评审。

测试人员搭建环境

开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现BUG后提交给BugZilla。

开发提交第二个版本,包括Bug Fix以及增加了部分功能,测试人员进行测试。

重复上面的工作,一般是3-4个版本后BUG数量减少,达到出货的要求。

如果有客户反馈的问题,需要测试人员协助重现并重新测试。

25、如果项目周期很短,测试人力匮乏,你是怎么协调的?

1.依据代码review的结果和影响范围,对测试内容进行适当的裁剪。
2.借助自动化工具的支持,提高测试案例的执行效率。
3.调整组内任务的优先级,进行人力协调,优先投入最紧要的项目。
4.必要的情况下加班
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值