大数据平台测试-我是怎么面试高级测试的

前言

下面是我面试时会问的一些问题
整体提问思路:接口自动化框架->UI 自动化框架->测试用例设计思维->Linux->SQL->Python->常用算法和数据结构->Shell 脚本->jmeter->Docker/k8s->Jenkins

重点还是 UI、接口自动化等方面的技能,最好是有过落地实践的项目或者自己写的 demo,这样才能在面试的时候有干货可以说

一、接口自动化框架

掌握 requests 库的使用,测试数据的生成,可以使用数据库或者 faker 之类的库,断言判断接口的返回状态码和数据体等内容。同时为了提高框架的可维护性和稳定性,可以使用正交实验法来生成接口用例,用 JSONschema 来进行对比。还可以使用一些设计模式来提高框架的可用性,比如单例模式,工厂模式等

二、UI 自动化框架

UI 自动化方面除了常问的元素定位方式、PO 模式外,还需要准备更多,比如框架的分层设计、日志如何存储,报告如何管理,测试数据怎么构造,失败重试机制,driver 统一调度等等问题,这些需要在实际的设计过程中逐一其思考解决

三、测试用例设计

面试时可能会问,给你个功能,如何去设计它的测试用例。

回答的思路可以分类、分设计方法来设计

如分类:功能用例、UI 用例、接口用例、性能用例、兼容性用例、安全用例等

如分设计方法:等价类、边界值、场景法、因果图、判定表、正交实验法、错误推测法等

四、Linux

重点掌握常用的命令即可,可以分类掌握。

  1. 文件目录操作:cd、ls、pwd、touch、mkdir、mv 、rm

  2. 搜索命令:whereis、find、which

  3. 文本操作:cat/tac、head/tail、wc、cut、sort、uniq、grep、awk、sed

  4. 系统操作:ps、top、ifconfig、ping

五、Sql

主要看联表查询、子查询、group by... having 、order by、distinct、常用函数(count,sum 等)、存储过程等,然后可以在力扣上练习一下就会比较熟练了

六、Python

  1. Python 基本语法和数据结构:熟悉 Python 的语法规则,掌握常用的数据结构特点和区别,比如如列表、字典、元组等

  2. 文件操作:学习如何读取和写入文件,以及处理文件路径和文件夹的操作。

  3. 异常处理:了解如何使用try-except语句来捕获和处理异常,确保程序在出现错误时能够正常执行或给出相应的提示

  4. 模块和包的使用:掌握如何导入和使用Python的标准库和第三方库,以扩展程序的功能

  5. 正则表达式:学习如何使用正则表达式进行字符串的匹配和替换,以及提取特定的文本信息

  6. 面向对象编程(OOP):了解面向对象编程的基本概念和原则,学会定义类、创建对象,并使用类的属性和方法

七、常用算法和数据结构

  1. 排序算法:常见的排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序等。了解它们的原理、时间复杂度和空间复杂度,并能够实现它们的代码。

  2. 查找算法:了解常用的查找算法,如线性查找、二分查找等。

  3. 栈和队列:学习栈和队列的基本概念和特点。了解它们的应用场景,例如栈的应用可以用于括号匹配、逆波兰表达式求值等;队列的应用可以用于实现缓冲区、任务调度等。

  4. 链表:掌握链表的概念和基本操作,包括插入、删除和遍历等。了解链表与数组的区别和优劣,并能够使用链表解决相应的问题。

  5. 树和二叉树:了解树和二叉树的基本概念和性质。学习树的遍历方式,包括前序遍历、中序遍历和后序遍历

八、Shell 脚本

重点掌握 Shell 的语法和一些常见处理,最好写一些脚本练习练习,面试的时候可以拿出来当例子,比如自动化测试用例执行脚本、代码行数统计之类的:

  1. 变量和参数处理:定义和使用变量,包括局部变量和环境变量。了解如何处理命令行参数,使用特殊变量如0、1等获取参数值

  2. 分支和循环结构:掌握if-else语句进行条件判断,根据条件执行不同的代码块。了解for循环、while循环等进行迭代操作

  3. 文件和目录操作:学习检查文件或目录是否存在,创建和删除文件或目录,以及进行文件读取和写入操作

  4. 字符串处理:掌握字符串的拼接、截取和替换操作

  5. 错误处理和日志记录:学习捕获和处理脚本中的错误,将脚本的执行结果输出到日志文件中。

  6. 常用命令的组合和管道操作:熟悉常用的Shell命令,如grep、sed、awk等,学会结合它们使用,通过管道操作实现更复杂的功能

九、Jmeter

主要掌握如何用 jmeter 来做性能测试,包括性能脚本编写操作、性能脚本运行结果分析。同时,对 JMeter 的高级特性有深入的了解,比如创建和使用自定义函数和变量,利用 BeanShell 编写高级脚本,以及执行分布式测试来模拟大规模的用户负载。最后,对性能测试的基本原则和方法,如负载测试,压力测试,耐久性测试等有清晰的理解,并能够明确地解释这些测试的目的和预期结果

十、Docker/k8s

重点看下 Dockerfile、Docker compose、Docker 文件管理等

k8s基本概念

十一、Jenkins

掌握 Jenkins 环境安装、job 配置、构建、插件安装配置等

相关推荐
TDengine (老段)2 小时前
TDengine 使用最佳实践(2)
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Deng9452013143 小时前
基于大数据的电力系统故障诊断技术研究
大数据·matplotlib·深度特征提取·随机森林分类算法·标签编码
阿芯爱编程5 小时前
2025前端面试题
前端·面试
小菜鸡06266 小时前
FlinkSQL通解
大数据·flink
天真小巫7 小时前
2025.7.13总结
职场和发展
寅鸷7 小时前
es里为什么node和shard不是一对一的关系
大数据·elasticsearch
倔强青铜三7 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三7 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试
军军君018 小时前
基于Springboot+UniApp+Ai实现模拟面试小工具四:后端项目基础框架搭建下
spring boot·spring·面试·elementui·typescript·uni-app·mybatis
码字的字节8 小时前
深入解析Hadoop架构设计:原理、组件与应用
大数据·hadoop·分布式·hadoop架构设计