面试官你好,我叫***,从事测试工作有3年。以前工作中做过Web端的测试,以及手机APP的测试。熟悉测试的流程、方法、以及常用工具等。在项目中除了功能测试也涉及到一些接口测试、自动化测试以及性能测试等。
1.接口测试主要使用的工具就是POST和Jmeter,也会用Python自己写接口测试的脚本。
2.自动化测试主要是做UI自动化测试,使用的工具就是selenium。
3.性能方面主要使用的是Loadrunner工具,针对Web的项目进行并发测试,负载测试等。
4.在APP项目中,使用过简单的ADB命令,也使用Monkey对APP进行过压力测试。同时也熟悉Fiddler抓包工具。
我看了咱们公司做的产品以及工作岗位的要求,跟我最近做的项目类似,完全可以胜任这份工作。希望能通过面试成为咱们公司的一员。
回答要点:HTTP协议、Postman、Jmeter工具的使用。准备核心的接口描述(如支付接口,请求方法、请求头、请求参数有哪些)。
前置处理器-用户参数、取样器-用户自定义变量、配置元件-CSV数据文件、通过函数实现。
示例:
根据开发提供的接口文档,首先编写接口测试用来,然后使用工具进行接口测试。
功能方面:接口参数的组合测试
性能方面:接口的并发测试
安全方面:SQL注入、鉴权测试,修改Cookie
回答要点:Python、Selenium工具(定位元素)。
示例:
在回归测试时对偶现的BUG进行自动化测试,或利用Selenium对UI进行自动化测试。
回答要点:熟悉性能测试流程,场景设计、性能测试指标,性能测试类型(并发测试、压力测试、负载测试、容量测试等)。
l 性能测试流程:性能指标分析、场景设计、工具选择、测试数据准备、脚本开发优化、执行负载测试、分析结果、性能优化、性能测试报告。
l 性能指标:响应时间、TPS、吞吐量、点击率、访问量、资源。
l 性能场景:1)登录并发测试 2)核心业务并发测试 3)大数据量测试查询 4)第三方接口 5)混合场景(多业务混合负载测试)。
l 录制选项:HTML与URL有什么区别方式
HTML:基于浏览器HTML操作录制内容(录制不到服务器返回的动态参数)
HTML-URL:基于浏览器URL的请求录制,类似接口的模式
URL:基于URL录制所有的请求,包括发送的请求和服务器返回,单独生成函数
为了实现数据的唯一性,对多用户不同数据进行参数化(理论上手动输入的数据需要做参数化,日期必须做参数化),参数取值设置(一般设置3唯一的-1迭代更新-2数据循环)
自动关联和手动关联(user-扫描脚本中的关联)
手动关联:判断哪些参数需要关联(脚本比较、熟悉业务后自己判断)
如:session、订单号、流水号、ID编号、准考证号、加密等
Nmon监控Linux工具
命令:./nmon -s 1 -c 300 -f -m /hmoe/
-s:每隔1S采集一次
-c:采集了300次
-f:生成文件后加系统时间
-m:生成文件保存在/home/目录下
示例:
工作以功能为主,所有性能测试也没有时间设计更多的场景,只设计了以下几个场景
1.登录并发测试 2.跟投并发测试、压力测试 3.查询大数据量测试 4.混合多业务执行负载测试
2.指标:用户要并发数100(一台电脑最大200~500并发)
3.响应时间:用户要求小于3S(2-5-8原则)
4.负载数:5000(用户提供注册数5W,按比例10%计算),一台最大负载5000
如果测试数据大需要添加负载机
性能测试中的经典Bug(程序有死循环导致内存泄漏、数据库死锁、索引造成全表扫描、存储过程不支持同时写库的等)
回答要点:流程都一样,只是APP的专项测试多,弱网测试、兼容性测试、低电量等。
功能测试:以流程为主
性能测试:monkey做压力测试,Jmeter做接口的性能
兼容性:云测试平台,土豪公司采购真机进行测试,
弱网测试:fiddle模拟
用户体验测试:后期在公司内部进行用户体验测试
Adb Monkey
Monkey主要测试手机APP的存在无响应、死机、崩溃、闪退等。一般都是内存问题造成。Monkey使用测试步骤:
先利用工具查看手机内存并记录大小
执行Monkey命令(可以指定一个包或指定一个事件)
再利用工具查看手机内存,如果递增内存泄漏
1.C/S是建立在局域网基础上的,而B/S是建立在广域网基础上的
2.C/S的因为在局域网,所以安全性比B/S强
3.C/S对客户端需要相对高,所以开发成本比B/S要高。
4.C/S需要有专门的服务器提供数据交互,而B/S是通过Web server来进行交互
5.C/S架构可以满足用户的个性化需求,且稳定性比B/S要高。
6.C/S架构的支持任何通信协议,而B/S必须是HTTP协议。
1.它们使用端口不同HTTP是80,HTTPS是443
2.它们在TCP/IP的位置不同HTTP属于应用层,HTTPS是在传输层-应用层之间
3.HTTPS是HTTP的加密版,HTTP的数据是明文传输,HTTPS数据加密处理
4.HTTP的速度相对HTTPS要快很多
5.HTTPS需要购买证书,对服务器配置的要求也高,需要固定IP
1.GET请求是相当于查询,可以带参数也可以不带参数。而POST请求xiangdy 创建数据,必须带参数。
2.GET请求中的参数是URL的一部分,参数数据类型只允许ASCII字符。而POST请求的参数对数据类型没有限制。
3.GET请求的数据是对所有人可见的,相比POST请求,安全性比较差。
4.GET可以被浏览器缓存,而POST请求不会被缓存,也不会存到服务器的日志中。
5.GET请求的URL最大长度是由限制的,基于不同浏览器限制不同,IE为2048,谷歌为8182,火狐为65536等。
1.TCP是一种端对端的、面向连接的、可靠的、基于字节流的传输层协议。每一次TCP在连接建立时需要经过三次握手。
2.UDP是一种一对一(一对多的)、无连接的、不可靠的、基于数据包的传输层协议。传输方式与IP类似,但是UDP协议实现了端口。
1.Web端是基于浏览器的B/S架构,而APP项目主要是基于手机端的C/S架构。
2.Web服务器更新后,客户自动更新,而APP服务端更新后,客户端可以选择更新。
3.在APP测试中,专项测试比较多,比如弱网测试,低电量测试等。
4.Web端不支持离线流量,APP可以支持离线浏览,待有网络时再同步更新数据。
5.Web端性能主要关注服务器的压力,而APP主要关注手机端的。
6.Web端的兼容性通常只关注浏览器,而APP需要考虑不同设备,系统、分辨率等
测试工具也不同
1.App端与小程序的区别?
2.APP需要下载安卓,而小程序不需要下载
3.APP是属于C/S架构,小程序是H5页面(渲染)
4.权限问题,小程序需要微信平台审核,授权
回答要点:方法一:结合质量特性进行描述;方法二:从用户角度发散思维进行描述。
问题描述:王者荣耀上线新英雄你该怎么测?
1.英雄技能释放是否需要MP?需要多少MP?(特殊英雄需要HP)
2.英雄技能释放后恢复的时间多久?(特殊英雄技能有缩短时间)
3.英雄技能的伤害是多少?范围是多少?有没有持续时间?时间是多久?
4.英雄技能的伤害对象是单体?全体(队友、敌人、小兵)?
5.如果伤害全体的,没打中一个会不会减少伤害?
6.技能是否可以被格挡(队友、敌人、小兵、场景中障碍物)
7.英雄技能释放后的特效属性,比如眩晕、沉默、冰冻、减速等
8.特效属性:眩晕、沉默、冰冻、减速等的有效时间多少?
9.特效属性:眩晕、沉默、冰冻、减速等的时间释放会叠加?
10.特效属性:眩晕、沉默、冰冻、减速等的特效(画面)?
11.特效属性是否会叠加?比如眩晕和沉默。
12.英雄技能的联动,组合释放的效果,以及画面的特效?
1.英雄操作难易程度?英雄的类型?英雄是否有皮肤?
2.如何获取英雄和英雄皮肤?点卷购买?金币购买?任务获取?活动获取?碎片获取?抽奖获取?赠送获取?
问题描述:给你一个纸杯该怎么进行测试,说说你的测试思路?
1.功能方面:是否可以装水或其它液体(茶水、饮料、酒、硫酸等)?温度冷热?是否会漏?是否方便倒入?倒出?可以放在哪里?
2.安全方面:纸杯的材质是什么?是否有毒?厚度多少?重量多重?
3.易用方面:杯子的设计纸杯的大小?容量?是否吸引?是否有图案?杯口设计?是否方便携带?热水是否会烫?杯面是否防滑?
4.可靠性方面:放久是否会漏?是否会变形?变形后是否可以恢复?放冰箱后会怎么样?不同的高度跌落怎样?