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

前言

下面是我面试时会问的一些问题
整体提问思路:接口自动化框架->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 配置、构建、插件安装配置等

相关推荐
CHICX122916 分钟前
【Hadoop】改一下core-site.xml和hdfs-site.xml配置就可以访问Web UI
xml·大数据·hadoop
权^1 小时前
MySQL--聚合查询、联合查询、子查询、合并查询(上万字超详解!!!)
大数据·数据库·学习·mysql
杰哥在此1 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程
bin91535 小时前
【EXCEL数据处理】000010 案列 EXCEL文本型和常规型转换。使用的软件是微软的Excel操作的。处理数据的目的是让数据更直观的显示出来,方便查看。
大数据·数据库·信息可视化·数据挖掘·数据分析·excel·数据可视化
GISer_Jing7 小时前
【React】增量传输与渲染
前端·javascript·面试
极客先躯8 小时前
Hadoop krb5.conf 配置详解
大数据·hadoop·分布式·kerberos·krb5.conf·认证系统
2301_7869643610 小时前
3、练习常用的HBase Shell命令+HBase 常用的Java API 及应用实例
java·大数据·数据库·分布式·hbase
matlabgoodboy11 小时前
“图像识别技术:重塑生活与工作的未来”
大数据·人工智能·生活
happycao12312 小时前
Flink 03 | 数据流基本操作
大数据·flink
Neituijunsir12 小时前
2024.09.22 校招 实习 内推 面经
大数据·人工智能·算法·面试·自动驾驶·汽车·求职招聘