软件测试——面试指南,磨刀不误砍柴工,看完对你绝对有用!

2021-09-19 20:58:00 浏览数 (1)

如何进行自我介绍?

面试官你好,我叫***,从事测试工作有3年。以前工作中做过Web端的测试,以及手机APP的测试。熟悉测试的流程、方法、以及常用工具等。在项目中除了功能测试也涉及到一些接口测试、自动化测试以及性能测试等。

1.接口测试主要使用的工具就是POST和Jmeter,也会用Python自己写接口测试的脚本。

2.自动化测试主要是做UI自动化测试,使用的工具就是selenium。

3.性能方面主要使用的是Loadrunner工具,针对Web的项目进行并发测试,负载测试等。

4.在APP项目中,使用过简单的ADB命令,也使用Monkey对APP进行过压力测试。同时也熟悉Fiddler抓包工具。

我看了咱们公司做的产品以及工作岗位的要求,跟我最近做的项目类似,完全可以胜任这份工作。希望能通过面试成为咱们公司的一员。

接口测试-Jmeter问题?

回答要点:HTTP协议、Postman、Jmeter工具的使用。准备核心的接口描述(如支付接口,请求方法、请求头、请求参数有哪些)。

l Jmeter参数的方式有哪些?

前置处理器-用户参数、取样器-用户自定义变量、配置元件-CSV数据文件、通过函数实现。

示例:

根据开发提供的接口文档,首先编写接口测试用来,然后使用工具进行接口测试。

功能方面:接口参数的组合测试

性能方面:接口的并发测试

安全方面:SQL注入、鉴权测试,修改Cookie

自动化测试-selenium问题?

回答要点:Python、Selenium工具(定位元素)。

示例:

在回归测试时对偶现的BUG进行自动化测试,或利用Selenium对UI进行自动化测试。

性能测试-Loadrunner问题?

回答要点:熟悉性能测试流程,场景设计、性能测试指标,性能测试类型(并发测试、压力测试、负载测试、容量测试等)。

l 性能测试流程:性能指标分析、场景设计、工具选择、测试数据准备、脚本开发优化、执行负载测试、分析结果、性能优化、性能测试报告。

l 性能指标:响应时间、TPS、吞吐量、点击率、访问量、资源。

l 性能场景:1)登录并发测试 2)核心业务并发测试 3)大数据量测试查询 4)第三方接口 5)混合场景(多业务混合负载测试)。

Loadrunner工具

l 录制选项:HTML与URL有什么区别方式

HTML:基于浏览器HTML操作录制内容(录制不到服务器返回的动态参数)

HTML-URL:基于浏览器URL的请求录制,类似接口的模式

URL:基于URL录制所有的请求,包括发送的请求和服务器返回,单独生成函数

l 为什么参数化?

为了实现数据的唯一性,对多用户不同数据进行参数化(理论上手动输入的数据需要做参数化,日期必须做参数化),参数取值设置(一般设置3唯一的-1迭代更新-2数据循环)

l 怎么做关联?

自动关联和手动关联(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测试问题?

回答要点:流程都一样,只是APP的专项测试多,弱网测试、兼容性测试、低电量等。

功能测试:以流程为主

性能测试:monkey做压力测试,Jmeter做接口的性能

兼容性:云测试平台,土豪公司采购真机进行测试,

弱网测试:fiddle模拟

用户体验测试:后期在公司内部进行用户体验测试

Adb Monkey

Monkey主要测试手机APP的存在无响应、死机、崩溃、闪退等。一般都是内存问题造成。Monkey使用测试步骤:

先利用工具查看手机内存并记录大小

执行Monkey命令(可以指定一个包或指定一个事件)

再利用工具查看手机内存,如果递增内存泄漏

B/S与C/S的区别?

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协议。

HTTP与HTTPS的区别?

1.它们使用端口不同HTTP是80,HTTPS是443

2.它们在TCP/IP的位置不同HTTP属于应用层,HTTPS是在传输层-应用层之间

3.HTTPS是HTTP的加密版,HTTP的数据是明文传输,HTTPS数据加密处理

4.HTTP的速度相对HTTPS要快很多

5.HTTPS需要购买证书,对服务器配置的要求也高,需要固定IP

GET与POST的区别?

1.GET请求是相当于查询,可以带参数也可以不带参数。而POST请求xiangdy 创建数据,必须带参数。

2.GET请求中的参数是URL的一部分,参数数据类型只允许ASCII字符。而POST请求的参数对数据类型没有限制。

3.GET请求的数据是对所有人可见的,相比POST请求,安全性比较差。

4.GET可以被浏览器缓存,而POST请求不会被缓存,也不会存到服务器的日志中。

5.GET请求的URL最大长度是由限制的,基于不同浏览器限制不同,IE为2048,谷歌为8182,火狐为65536等。

TCP与UDP的区别?

1.TCP是一种端对端的、面向连接的、可靠的、基于字节流的传输层协议。每一次TCP在连接建立时需要经过三次握手。

2.UDP是一种一对一(一对多的)、无连接的、不可靠的、基于数据包的传输层协议。传输方式与IP类似,但是UDP协议实现了端口。

Web端与App的区别?

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.可靠性方面:放久是否会漏?是否会变形?变形后是否可以恢复?放冰箱后会怎么样?不同的高度跌落怎样?

0 人点赞