软件自动化测试工程师面试题集锦

news2024/9/27 19:22:20

以下是部分面试题目和我的个人回答,回答比较简略,仅供参考。不对之处请指出····

1.自我介绍

答:姓名,学历专业,技能,近期工作经历等,可以引导到最擅长的点,比如说代码或者项目

参考:面试官您好,我叫xxx,我是xxx年xxx专业毕业的。进入测试行业已经xxx年了,前xxx年我主要做的功能测试,积累不少测试经验,整个系统测试过程中的需求分析、用例编写、用例评审,用例执行、bug记录,跟踪验证bug,上线回归等已经非常熟悉了,能够独立带项目完成功能测试工作。后面我主要负责自动化测试,包括ui自动化和接口自动化。我有一定的python代码基础,能够独立编写自动化脚本,熟练使用数据驱动思想搭建框架,就拿我最近做的项目,这个职工管理系统,除了使用python+selenium实现主要业务功能的ui自动化外,还使用python+request实现了所有接口的自动化,框架中用到了pymsql库和 unittest库,还有对Excel、json等格式的文件读取方法的封装。另外我对性能测试和APP测试也有一定了解,能够设计拱形场景和门型场景,完成基础的性能测试,对于负载测试,压力测试数据的分析有初步的认识;APP测试会使用monkey测试以及python+appium完成自动化测试。这次来是求职一份自动化测试工作,希望有机会共事,谢谢

2.项目介绍

答:项目什么类型,哪种语言写的,主要功能,项目周期,自己承担的职责等方向说

参考:这是一个使用java语言开发的web端系统,用于企业人力资源管理,在员工入职到离职过程中,可以从员工信息,职位部门,合同工资,考勤方面进行全面的管理。系统主要包括员工信息管理,部门管理,考勤管理,工资管理,合同管理。这个项目历时一年,我们测试部门从需求分析阶段开始就介入,整个项目中不仅做了功能测试,还做了gui,接口自动化测试和性能测试。本项目大版本大约一个月会迭代一次,一共迭代12次,中间还有一些小版本,一般两天左右会更新一次。大版本之间通常是添加了新功能或者有一二级bug的修复,在每次大版本迭代前都会做需求分析;小版本主要修复了一些缺陷。本项目中我主要负责搭建和优化自动化测试框架,还有测试方案,测试报告的编写,框架中用到了pymsql库和 unittest库,还有对Excel、json等格式的文件读取方法的封装。
这个项目中,在这个项目中,令我印象最深的一个缺陷是:系统左侧有可以伸缩的导航栏,我们只是在进入系统主页进行了一个点击测试,有一次我在新增工资信息的时候,把导航栏点击收缩起来了,然后点不开了,因为界面中没有其他能返回和跳转的按钮,只能退出系统或者关闭浏览器才能继续操作。最后当三级bug提给开发修复了。

3.git和svn有什么区别?

答:git是分布式,svn不是。

4.给你一个登录页面怎么测?(比如淘宝,美团)

从功能,性能,安全,兼容,界面测试等方向回答

5.会java吗?

答:会,这时候面试官会问具体的java情况,比如公共类私有类,数据类型,声明变量等

6.linux常用命令

答:cd,ls,ll,ping,ifconfig,reboot,vi,touch,mkdir.rm,free,top,ps,wc,df,kill,mv,cp,find,cat等等

7.mysql增删改查各举一个例子

答:增加列:alter table user add address varchar(20);

增加一条数据:insert into uesr (address) values (‘zhongguo hubei’);

删除列:alter table user drop address;

删除某条数据:delete from uesr where address=‘zhongguo hubei’';

修改列:alter table change address newaddress varchar(50);

修改某条数据:updata user set address=‘zhongguo shanghai’’ where uid=1;

8.get和post的区别

答:最大的区别,是get通过url传递参数,post的参数写在body里面。因此get不太安全,直接暴露在url中,且会在历史记录中查到。所以一些敏感操作一般使用post,如增删改操作

9.怎么判断一个bug是前端还是后端的

答:可以通过F12看后台是否有请求,请求的参数是否正确,如果不正确说明前端bug;如果服务器没响应或返回数据有错误,一般是后端bug。

10.ui自动化有时候找不到元素,你怎么处理?

答:很有可能是元素尚未加载,可以添加隐式等待implicity_wait或显示等待WebDriverWait(),再不行使用强制等待time.sleep()

11.怎么查看App测试日志

答:使用adb命令,adb logcat

12.弱网测试和低电量测试怎么做?

答:弱网可以使用fiddle或者腾讯的QNET工具测试,低电量可以使用iTest工具。指标可以参考竞品

13.性能测试流程?报告主要内容

答:流程:分析,设计,实现,执行;主要内容:范围,环境,场景,方法,结果,瓶颈等

14.cookie和session有什么区别?

答:cookie保存在客户端,session在服务端,session关闭浏览器和服务器断开连接就失效了。相对来说cookie不太安全,但session会给服务器造成一定压力

15.你认为自己做测试有什么优势?

答:从技能,职业素养,性格等方面回答

16.python常用数据类型,列表和元组的区别

答:六种基本数据类型,数字,字符串,列表,元组,字典,集合。列表和元组都是序列,都可以通过下标访问,可以互相嵌套,支持切片;列表是长度可变,元组不可变

17.selenium常用的定位方式

答:classname,id,xpath,partial_link_text

18.功能测试你常用的测试方法

答:主要是边界值和等价类划分法,还有正交实验,流程分析法

19.数据库三大范式

答:

第一:确保每列保持原子性:指列不能再拆分。(自动满足第一范式)
第二:每个实例或行必须可以被唯一的区分。(就是必须要有主键)
第三:确保每列都和主键列直接相关,而不是间接相关。(通过外键区分)

20.tcp和http有什么区别:

答:tcp是传输层协议,http是应用层协议,http承载在tcp上。

备注:其实经常面试会问tcp和udp的区别,http和https的区别。

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt音视频开发19-vlc内核各种事件通知

一、前言 对于使用第三方的sdk库做开发,除了基本的操作函数接口外,还希望通过事件机制拿到消息通知,比如当前播放进度、音量值变化、静音变化、文件长度、播放结束等,有了这些才是完整的播放功能,在vlc中要拿到各种事…

ImportError: Can not find the shared library: libhdfs3.so解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

WSL2通过OpenCV调用并展示本机摄像头的RTSP视频流

文章目录前言安装 CMake安装 OpenCV 和 FFmpeg启动 Windows 本机的 RTSP 视频流查看本机摄像头设备开始推流开放本机防火墙用 OpenCV 接收视频流结果展示前言 本篇博客的由来如上图哈哈,WSL2 相关安装教程可以参考我之前的博客:Win11安装WSL2和Nvidia驱动…

如果我只有一个奔腾CPU,怎么加速推理神经网络?

前言 有人说当下的AI热潮不过是算力堆砌的产物。现在层出不穷的各种大模型大训练集,使用复杂精致的技术在排行榜上不断刷新分数,这些人似乎忘了一件事情,AI模型最终是要落地的,是要用的,如果不能普及开去那和在象牙塔…

2023年最新软著申请流程(一):软件著作权说明、国家版权官网的账号注册与实名认证

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/129230460 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

如何使用Cliam测试云端环境IAM权限安全

关于Cliam Cliam是一款针对云端安全的测试工具,在该工具的帮助下,广大研究人员可以轻松枚举目标云端环境的IAM权限。当前版本的Cliam支持下列云端环境:AWS、Azure、GCP和Oracle。 Cliam同时也是一个云端权限识别工具,该工具是一…

Mapper代理开发——书接MaBatis的简单使用

在这个mybatis的普通使用中依旧存在硬编码问题,虽然静态语句比原生jdbc都写更少了但是还是要写,Mapper就是用来解决原生方式中的硬编码还有简化后期执行SQL UserMapper是一个接口,里面有很多方法,都是一一和配置文件里面的sql语句的id名称所对…

HEC-HMS和HEC-RAS快速入门、防洪评价报告编制及洪水建模、洪水危险性评价等应用

目录 ①HEC-RAS一维、二维建模方法及实践技术应用 ②HEC-HMS水文模型实践技术应用 ③新导则下的防洪评价报告编制方法及洪水建模实践技术应用 ④基于ArcGIS水文分析、HEC-RAS模拟技术在洪水危险性及风险评估 ⑤山洪径流过程模拟及洪水危险性评价 ①HEC-RAS一维、二维建模方…

Torch同时训练多个模型

20230302 引言 在进行具体的研究时,利用Torch进行编程,考虑到是不是能够同时训练两个模型呢?!而且利用其中一个模型的输出来辅助另外一个模型进行学习。这一点,在我看来应该是很简单的,例如GAN网络同时训…

docker安装rabbitmq并挂载

1、拉取镜像 management:表示可以通过web页面管理。 alpine:表示是linux最小版本,不推荐新手安装。 docker pull rabbitmq:management2、创建用于挂载的目录 mkdir -p /mydata/rabbitmq/{data,conf,log} # 创建完成之后要对所创建文件授权…

从菜鸟程序员到高级架构师,竟然是因为这个字final

final实现原理 简介 final关键字,实际的含义就一句话,不可改变。什么是不可改变?就是初始化完成之后就不能再做任何的修改,修饰成员变量的时候,成员变量变成一个常数;修饰方法的时候,方法不允…

23种设计模式之简单工厂模式

一、场景简介 1、引入场景 订餐流程简单描述 食品抽象类,规定食品的基础属性操作 鱼类,鸡肉类食品类扩展 订餐流程类,根据食品名称,加工指定类型食品 模拟客户端预定操作 2、源代码实现 关系图谱 代码实现 /*** 简单工厂模式引入场景*/ public class C01_InScene { p…

【word】论文排版思路

1、 首先把所有中文的字体都按照要求改一下,记住都改成正文的字号和字体,后面再修改标题的,然后再改英文的,不要把顺序弄错了,不然得回头再改标题 然后定位文章里所有英文方法如下: 按CTRLF打开替换对话…

记录--虚拟滚动探索与封装

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 介绍 什么是虚拟滚动?虚拟滚动就是通过js控制大列表中的dom创建与销毁,只创建可视区域dom,非可视区域的dom不创建。这样在渲染大列表中的数据时,只创…

快速生成QR码的方法:教你变成QR Code Master

目录 简介: 具体实现步骤: 一、可以使用Python中的qrcode和tkinter模块来生成QR码。以下是一个简单的例子,演示如何在Tkinter窗口中获取用户输入并使用qrcode生成QR码。 1)首先需要安装qrcode模块,可以使用以下命令在终端或命令…

aws batch 理解和使用batch进行批处理计算

文档 Compute Resource Memory ManagementRunning Workload on AWS Batch aws batch 是云上的批处理平台,通过托管环境减少了管理成本。包括配置大量计算资源,更具任务负载优化资源分配。 基本概念 job(任务),提交到…

C语言-结构体【详解】

一、 结构体的基础知识 结构是一些值的集合,这些值称为成员变量结构的每个成员可以是不同类型的变量 (1)结构体的声明 写法一: 注: 括号后边的分号不能忘结构体末尾可以不创建变量,在主函数中再创建 struc…

【ChatGPT】sqlachmey 多表连表查询语句

感受下科技带来的魅力,这篇文章是通过ChatGPT自动生成的,不得不说技术强大!!! 在SQLAlchemy中进行多表连接查询可以使用join()方法或join()函数,具体用法如下: join()方法 join()方法可以在SQLAlchemy ORM中的查询中使用。假设…

根据指定函数对DataFrame中各元素进行计算

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】根据指定函数对DataFrame中各元素进行计算以下错误的一项是?import numpy as npimport pandas as pdmyDict{A:[1,2],B:[3,4]}myDfpd.DataFrame(myDict)print(【显示】myDf)print(myDf)print(【…

SMILES标准化方法以及其中的一个坑(手性)

rdkit.Chem.MolToSmiles()方法是用于将RDKit分子对象转换为SMILES字符串的方法。它的参数如下: mol:必需,要转换为SMILES字符串的RDKit分子对象。isomericSmiles:bool类型,是否生成同分异构体SMILES,默认为…