软件测试面试问题【2】

2年前分享过一期 软件测试的面试题 ;
今年有些想法,想换工作了,就重新整理了些,再做个分享。

个别答案 仁者见仁

个人博客:https://blog.csdn.net/zyooooxie

性能测试关注指标

答:

【被测系统的实际性能状况】TPS、事务平均响应时间、事务成功率、并发用户数

【整个系统环境的硬件资源使用情况】
1,服务器:服务器的CPU平均使用率小于70%,内存使用率小于75% [PerfMon Metrics Collector插件]
2,数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量
3, 络: 络吞吐量、 络带宽、 络缓冲池大小
4,缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量
5,测试设备(压力发生器):CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状态、 卡带宽使用情况

APP性能测试关注点

内存
CPU占用率
流量
启动时长、启动速度
帧数(FPS)
电量

OSI七层 络结构图

答:

应用层
表示层
会话层
传输层
络层
链路层
物理层

TCP/IP五层 络结构图

答:

物理层
链路层
络层
传输层
应用层

也可以分为四层:
应用层
运输层
络层
络接口层

App测试的测试点

答:
1功能性测试
2兼容性测试:android版本、手机品牌、手机分辨率
3性能测试:耗电量、流量、cup、内存消耗、fps、响应时间、app启动时长、crash率
4 络测试:wifi2G3G4G5G、电信移动联通无 + 络切换
5接口测试:关注数据的传送,数据的安全加密
6异常测试:交叉事件【来电、来短信、低电量等;待机,插拔数据线、耳机等操作】、异常性测试【断 、断电、服务器异常】
7交互测试:调用相机、分享功能
8安全测试:APP内涉及到用户的信息是否加密(数据在本地的存储、传输等、执行某些操作时导致的输入有效性验证、授权、数据加密等)

TCP、IP协议

TCP 的全称是Transmission Control Protocol ,传输控制协议。是一种面向连接的、可靠的、基于字节流的传输层通信协议。
它能够帮助你确定计算机连接到 Internet 以及它们之间的数据传输。通过三次握手来建立 TCP 连接。一旦连接建立后,就可以发送数据了,当数据传输完成后,会通过 四次挥手来断开连接。

IP的全称是Internet Protocol, 络之间互连的协议。

三次握手、四次挥手

三次握手,是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。在socket编程中,客户端执行connect()时,将触发三次握手。

  1. 首先客户端向服务端发送一个带有 SYN 标志,以及随机生成的序 (例如 1)的数据包;
  2. 服务端收到数据包后返回一个数据包(SYN为随机数(例如100),ACK为2)给客户端;
  3. 客户端再次发送带有 ACK 标志101序 的数据包给服务端;至此三次握手过程结束,客户端开始向服务端发送数据。

TCP的连接的拆除需要发送四个包,因此称为四次挥手。客户端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作,即可产生挥手操作。

  1. 客户端发送带有 FIN 标识的 文给服务端,请求通信关闭;
  2. 服务端收到信息后,回复 ACK 答应关闭客户端通信(连接)请求;
  3. 服务端发送带有 FIN 标识的 文给客户端,也请求关闭通信;
  4. 客户端回应 ACK 给服务端,答应关闭服务端的通信(连接)请求;

PO模式

page object model 简称:POM/PO,PO模式最核心的思想是分层,把页面元素定位和业务操作流程分开,实现脚本重复使用及脚本易维护性。【UI元素的改变不需要修改业务逻辑代码。只需要找到对应的PO页修改定位即可,数据代码分离】

PO模式主要分三层:
1.基础层BasePage:封装一些最基础的selenium的原生的api方法,元素定位,框架跳转等。
2.PO层:元素定位、获得元素对象,页面动作
3.测试用例层:业务逻辑,数据驱动。

三者的关系:PO层继承基础层,测试用例层调用PO层。

搭建的自动化测试框架 结构是怎么样的

系统架构、中间件

接口测试咋测

答:

通过性验证:正常场景【首先肯定要保证这个接口功能是好使的,按照接口文档上的参数,正常传入,是否可以返回正确的结果】、异常场景。

边界测试:不按照你接口文档上的要求输入参数,测试其边界情况【必选和非必选、长度、字符类型、为空、缺失、组合、重复】

参数组合:不同参数的组合。

异常情况测试:重复提交、并发测试【一个账 ,同时(大于2个请求)对最后一个商品下单,或不同账 ,对最后一个商品下单】、大数量提交

性能测试:接口响应时间、并发数、吞吐量、服务器资源利用率

安全测试:敏感信息加密【userNamepwd】、绕过身份授权【群主、群员、非群友】

日志 错:Java的Exception

答:

1 ArrayIndexOutOfBoundsException 数组越界异常【用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引】
2 NullPointerException 空指针异常【当应用程序试图在需要对象的地方使用 null 时,抛出该异常】
3 IllegalArgumentException 非法参数异常【抛出的异常表明向方法传递了一个不合法或不正确的参数】
4 NegativeArraySizeException 数组长度为负异常【如果应用程序试图创建大小为负的数组,则抛出该异常】
5 IllegalStateException 非法状态异常【在非法或不适当的时间调用方法时产生的信 。换句话说,即 Java 环境或 Java 应用程序没有处于请求操作所要求的适当状态下】
6 ClassCastException 类型转换异常【当试图将对象强制转换为不是实例的子类时,抛出该异常】

UnsupportedOperationException – 不支持的操作异常
SecurityException – 安全异常
NumberFormatException – 数字格式异常
ArrayStoreException – 向数组中存放与声明类型不兼容对象异常
ArithmeticException – 算术运算异常
IndexOutOfBoundsException – 下标越界异常

python面试题

is 和==的区别

is 判断的是 a 对象是否就是 b 对象,是通过 id 来判断的。
== 判断的是 a 对象的值是否和 b 对象的值相等,是通过 value 来判断的。

求字符串逆序(翻转)

求某个数的正约数


【正约数:可以整除 + 包括1和本身】
举例:
10的正约数有:1、2、5、10。
12的正约数有:1、2、3、4、6、12。

写个list的冒泡排序

【冒泡排序:比较相邻的元素,如果前一个比后一个大,交换之。】

鸡兔同笼

2种思路:

二分法

需求:使用二分法 求某元素不重复、升序的list【长度小于1000】 的 某元素的索引;若元素不存在 返回 -1

递归限制 一个小实例

【我觉得 面试官的这个需求有问题:使用 二分法 多此一举(因为元素不重复,索引直接index();元素重复,使用enumerate+列表推导式)】

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月20日
下一篇 2021年2月20日

相关推荐