软件测试面试问题【2】

本文为博主原创,未经许可严禁转载。
本文链接:https://blog.csdn.net/zyooooxie/article/details/114380007

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网络测试:wifi\2G\3G\4G\5G、电信\移动\联通\无网 + 网络切换
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个请求)对最后一个商品下单,或不同账号,对最后一个商品下单】、大数量提交

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

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

日志报错: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 来判断的。

求字符串逆序(翻转)

gl_abc = 'zyooooxie+csdn-XIE'


def str_nixu_1():
    # 字符串 步长-1
    print(gl_abc[::-1])


def str_nixu_2():
    abc_list = list(gl_abc)
    # 列表 切片反转
    abc_list = abc_list[::-1]

    print(''.join(abc_list))


def str_nixu_3():
    # 列表的reverse()
    abc_list = list(gl_abc)

    abc_list.reverse()

    print(''.join(abc_list))


def str_nixu_4():
    # reversed
    abc = reversed(gl_abc)
    print(''.join(list(abc)))

求某个数的正约数


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


def yueshu_fun_1(test_num: int):
    all_data = list()
    for i in range(test_num)
1.什么是兼容性测试?兼容性测试侧重哪些方面? ..................................................................................................... 5 2、我现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? ..... 5 3、测试的策略有哪些? ..................................................................................................................................................... 5 4、正交表测试用例设计方法的特点是什么? ................................................................................................................. 5 5、描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? ......................................................... 5 6、你觉得 bugzilla 在使用的过程中,有什么问题? ................................................................................................... 5 7、描述测试用例设计的完整过程? ................................................................................................................................. 6 8、单元测试的策略有哪些? ............................................................................................................................................. 6 9、LoadRunner 分哪三部分? ............................................................................................................................................ 6 10、LoadRunner 进行测试的流程? .................................................................................................................................... 6 什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样? ................................................. 6 12、使用 QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? ..................... 6 13、QTP 中的 Action 有什么作用?有几种? ................................................................................................................. 6 14、TestDirector 有些什么功能,如何对软件测试过程进行管理? ............................................................................. 7 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、 性能测试„„)? ....................................................................................................................................................... 7 16、条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? ................. 8 17、Beta 测试与 Alpha 测试有什么区别? ...................................................................................................................... 8 18、软件的评审一般由哪些人参加?其目的是什么? ................................................................................................... 8 19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? ....................................................................... 8 20、阶段评审与项目评审有什么区别? ........................................................................................................................... 8 21、阐述工作版本的定义? .............................................................................................. .....
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值