【测试面试篇1】测试开发与开发|selenium实现自动化测试|设计测试用例|常见的测试方法|开发不认可提测试的bug该怎么办
目录
1.选择走测试为什么还要学这么多的开发知识?
2.为什么选择软件测试开发岗位而不是软件开发岗位?
3.个人的职业规划是什么?
4.测试中遇到的问题如何进行解决?
5.对自己的项目做过哪些测试工作?
6.描述selenium实现自动化测试的流程
7.设计测试用例的万能思路
8.常见的测试方法有哪些?哪种测试方法用的多?
9.如何对接口设计测试用例
10.【高频考题】开发不认可提测试的bug该怎么办
1.选择走测试为什么还要学这么多的开发知识?
(1)从个人爱好出发:对开发技术比较感兴趣(目的是凸显自己爱学习)
(2)从工作性质出发:测试不仅包含黑盒测试,还有白盒测试。测试人员也需要具备扎实的开发能力来提高个人项目测试质量。另外测试人员也需要开发测试效率工具来辅助提高测试效率和质量(凸显自己对软件测试工作的了解)
2.为什么选择软件测试开发岗位而不是软件开发岗位?
回答思路:从岗位工作性质分析+个人性格/爱好+个人职业规划三个方面阐述
工作性质区分:
(1)软件开发:主要以业务编码为主。
(2)测试:不管是测试还是测试开发都统称为测试人员,所以测试人员主要以保障项目测试质量为主,通过开发一些效能工具(比如我们学的自动化就是效能工具,除此之外还有我们课件上写的内存泄漏工具等等)来提高测试效率
个人性格/爱好:
结合测试课程中c学到的测试人员需要具备的素质来阐述个人在测试工作方面有哪些优势。如沟通能力、文字组织能力、细心、热衷发现代码中的问题等
3.个人的职业规划是什么?
建议规划为(1~3年内,太长就有点假、大、空)
仅供参考:
入职之后一年内积极积累个人的测试经验,夯实测试能力和开发能力,做好个人的项目测试管理,打好测试基础。后续继续提高个人的测试影响力,不管是项目测试还是技术能力上都能够独挡一面,个人负责的业务这块的所有项目都可以自己完成高质量测试并交付。
4.测试中遇到的问题如何进行解决?
这个问题问的比较模糊,没有针对具体问题的提问。这种情况下可以自由发挥,给面试官展开讲讲在学习中/写代码中遇到的具体的bug的栗子,重点在于讲述bug定位思路和如何解决的问题,该问题可以是真实遇到的也可以是自己想象出来的,建议面试之前一定要准备一个这样的问题。
仅供参考:
1)内存泄漏的案例:程序在短时间内运行没有问题,长时间运行会存在程序崩溃的问题
2)忽略边界值的问题
3)页面数据展示异常
我写的web项目(仅设计到前端代码和后端代码)在测试的时候发现有个字段展示的数据不正确,我首先通过在页面上使用F12开发者工具查看接口的请求参数和返回值是否正确,当时发现接口返回值是正确的,所以我判定是前端代码写的有问题。如果是接口返回值就是错误的,那可能是代码逻辑出现了问题,需要对后端代码进行调试。
......
5.对自己的项目做过哪些测试工作?
从以下测试内容进行展开:
(1)项目中需要体现对项目的测试,至少要有对项目编写的测试用例。描述对哪些页面哪些功能编写了测试用例,主要从哪些方面来设计的测试用例(功能测试、性能测试、界面测试、兼容性测试、易用性测试、安全性测试、弱网测试......)
(2)如有自动化测试内容,讲解用到了什么自动化工具,对哪些页面/功能进行了自动化测试,自动化测试操作的具体流程是什么,自动化测试结果是什么(最好有通过自动化测试发现的代码问题,没有的话问题也不大)
(3)如有性能测试内容,讲解用到了什么工具,对哪些接口进行了性能测试,性能测试操作的具体流程是什么,性能测试结果是什么(最好有通过性能测试发现的程序问题,没有的话问题也不大)
6.描述selenium实现自动化测试的流程
-
明确自动化测试要覆盖哪些页面(编写UI测试用例)
-
针对测试用例编写自动化测试脚本
1)用例管理:
以页面为维度,每个页面的测试用例单独放在一个文件中;将所有的用例统一放到test/tests文件夹/包下,方便用例的管理
2)封装通用方法:
自动化中涉及到的通用操作封装在一个文件中,如创建驱动对象、屏幕截图等,使得自动化程序启动后只创建一次自动化实例对象
3)添加等待
为避免自动化中由于页面渲染速度慢导致自动化误报的问题,代码中通过引入等待方法来减少自动化误报率,常用的等待有强制等待、隐式等待、显示等待
7.设计测试用例的万能思路
功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试 +(弱⽹测试、安装卸载测试)
面试官问测试用例越多越好吗?
不是的,测试用例能够提高系统测试覆盖率就是好的测试用例,但是面试中能够说出越多的测试用例肯定是越好的,考察在设计测试用例的思维发散能力
8.常见的测试方法有哪些?哪种测试方法用的多?
白盒测试和黑盒测试,在工作中需要根据实际情况来结合白盒和黑盒测试。通常来说测试人员使用黑盒测试方法相对要多一点
回答上面这句话后再给面试官说说自己掌握了哪些黑盒设计测试用例的方法(等价类,边界值,正交法,场景法,错误猜测法等等),以及这些方法的适用场景
9.如何对接口设计测试用例
提示:该面试题考察同学们接口的理解。接口测试不同于上面的设计测试用例题型,主要从以下几个方面来回答,重在理解!!不要死记硬背哦
接口主要的组成部分:请求方法、请求参数、URL、响应结果
检查数据正确性:不同的参数对应的不同接口返回结果;检查数据库数据是否正确
不同的请求类型:get post不同的请求类型下是否符合预期
校验接口兼容性:传入异常数据接口是否会崩溃,接口之间互相调用的情况下是否兼容老版本的接口
校验接口的安全性:参数是否加密,SQL注入,XSS漏洞(select * from user where userId = '1' or 1=1 <script>alert("hello")</script>)(酌情而论,这块如果不知道,就不说了)
10.【高频考题】开发不认可提测试的bug该怎么办
具备批判性思维,自己在提bug时是否是误操作导致的,是否存在创建bug时描述不规范等问题。
如果是对bug的等级不认可,bug等级要有理有据,讲出bug这样定级的原因
站在用户的角度看待问题,反问:“如果你是用户,你能接受这样的问题吗”
不光要能提出bug,最好也能提出解决方案
如果以上的沟通都无法解决问题,组织bug评审,邀请开发、测试、产品等代表参会,针对该问题进行分析如何进行解决,什么时候解决,由谁解决
相关文章:
【测试面试篇1】测试开发与开发|selenium实现自动化测试|设计测试用例|常见的测试方法|开发不认可提测试的bug该怎么办
目录 1.选择走测试为什么还要学这么多的开发知识? 2.为什么选择软件测试开发岗位而不是软件开发岗位? 3.个人的职业规划是什么? 4.测试中遇到的问题如何进行解决? 5.对自己的项目做过哪些测试工作? 6.描述selenium…...
人大金仓数据linux安装注意事项
人大金仓数据linux安装注意事项 本次是个人搭建虚拟机安装centos7的环境下进行安装。 1、安装流程参照https://help.kingbase.com.cn/v9/install-updata/install-linux/preface.html。 2、mount安装文件报错 操作手册提供mount的命令如下: mount KingbaseES_V009R0…...
【Maven】多模块项目的构建
项目构建 什么是构建? 项目构建指的是将源代码和资源文件转换为可执行或可分发的软件制品(如 JAR、WAR 文件)的过程。这个过程不仅包括编译代码,还包括运行测试、打包、部署等步骤。Maven 提供了一套标准化的方法来处理这些任务…...
大模型学习笔记------SAM模型详解与思考
大模型学习笔记------SAM模型详解与思考 1、SAM框架概述2、Segment Anything Task3、Segment Anything Model SAM模型是Meta 提出的分割一切模型(Segment Anything Model,SAM)突破了分割界限,极大地促进了计算机视觉基础模型的发展…...
crictl和ctr与docker的命令的对比
crictl是遵循CRI接口规范的一个命令行工具,通常用它来检查和管理kubelet节点上的容器运行时和镜像 ctr是containerd的一个客户端工具, 接下来就是crictl的的常见命令,其中能完全替代docker命令的参照下列表格 操作crictldocker查看运行容器…...
SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)
下面是一个示例,展示如何创建一个用户信息表。 包含 SQLite 支持的所有数据类型,同时设置主键为自增、一个字段为唯一索引,以及另一个字段为普通索引: -- 创建用户信息表 CREATE TABLE user_info (id INTEGER PRIMARY KEY AUTOI…...
探秘Redis哨兵模式:原理、运行与风险全解析
一、引言 Redis 概述 在当今的数据存储领域,Redis 占据着十分重要的地位。它是一个内存中的数据存储,凭借其出色的性能和丰富的功能,被数百万开发人员广泛应用于诸多场景之中,已然成为构建高性能、可扩展应用程序的得力工具。 从…...
.NET平台使用C#设置Excel单元格数值格式
设置Excel单元格的数字格式是创建、修改和格式化Excel文档的关键步骤之一,它不仅确保了数据的正确表示,还能够增强数据的可读性和专业性。正确的数字格式可以帮助用户更直观地理解数值的意义,减少误解,并且对于自动化报告生成、财…...
零基础学安全--wireshark简介
目录 主要功能 捕获网络数据包 协议解析 数据包分析 数据包重组 过滤功能 统计与图表功能 官网 Wireshark是一个开源的网络协议分析工具 主要功能 捕获网络数据包 能够实时捕获网络中传输的数据包,用户选择要监听的网络接口(如以太网、WiFi等…...
[Flutter] : Clipboard
import package:flutter/material.dart; import package:flutter/services.dart; setData Clipboard.setData(ClipboardData(text: "传入的文字内容")); getData Clipboard.getData(Clipboard.kTextPlain) 记录 | Flutter剪切板-刨根问底做一个可以在后台…...
ArcGIS MultiPatch数据转换Obj数据
文章目录 ArcGIS MultiPatch数据转换Obj数据1 效果2 技术路线2.1 Multipatch To Collada2.2 Collada To Obj3 代码实现4 附录4.1 环境4.2 一些坑ArcGIS MultiPatch数据转换Obj数据 1 效果 2 技术路线 MultiPatch --MultipatchToCollada–> Collada --Assimp–> Obj 2.…...
《开源数据:开启信息共享与创新的宝藏之门》
《开源数据:开启信息共享与创新的宝藏之门》 一、开源数据概述(一)开源数据的定义(二)开源数据的发展历程 二、开源数据的优势(一)成本效益优势(二)灵活性与可定制性&…...
如何评估基于TRIZ理论生成的方案的可行性和有效性?
在科技创新与问题解决的过程中,TRIZ理论(发明问题解决理论)以其系统性和高效性著称,为工程师和创新者提供了一套强大的工具和方法。然而,仅仅依靠TRIZ理论生成创新方案并不足以确保项目的成功,关键在于如何…...
sh-寡肽-78——头发护理多肽原料,改善头发外观
主要特征 人的头发纤维结构由角质层、皮质和髓质组成。角质层约占头发重量的 15%,由重叠的细胞层组成,类似于鳞片系统,半胱氨酸含量很高。它为头发纤维提供保护作用。皮质是头发的中间区域,负责头发的强度、弹性和颜色。它由多种细…...
metagpt 多智能体系统
metagpt 多智能体系统 代码1. 动作及角色定义2. 主函数 代码解释1. 导入模块:2. 环境设置:3. 定义行动(Action):4. 定义角色(Role):5. 学生和老师的行为:6. 主函数&#…...
下采样在点云处理中的关键作用——以PointNet++为例【初学者无门槛理解版!】
一、前言 随着3D传感器技术的快速发展,点云数据在计算机视觉、机器人导航、自动驾驶等领域中的应用日益广泛。点云作为一种高效的3D数据表示方式,能够精确地描述物体的几何形状和空间分布。然而,点云数据通常具有高维度和稀疏性的特点&#…...
pytorch ---- torch.linalg.norm()函数
torch.linalg.norm 是 PyTorch 中用于计算张量范数(Norm)的函数。范数是线性代数中的一个重要概念,用于量化向量或矩阵的大小或长度。这个函数可以处理任意形状的张量,支持多种类型的范数计算。 1.函数签名 torch.linalg.norm(…...
系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)
每日禅语 “木末芙蓉花,山中发红萼,涧户寂无人,纷纷开自落。”这是王维的一首诗,名叫《辛夷坞》。这首诗写的是在辛夷坞这个幽深的山谷里,辛夷花自开自落,平淡得很,既没有生的喜悦ÿ…...
spring学习(spring-bean实例化(无参构造与有参构造方法实现)详解)
目录 一、spring容器之bean的实例化。 (1)"bean"基本概念。 (2)spring-bean实例化的几种方式。 二、spring容器使用"构造方法"的方式实例化bean。 (1)无参构造方法实例化bean。 &#…...
Arm Cortex-M处理器对比表
Arm Cortex-M处理器对比表 当前MCU处理器上主要流行RISC-V和ARM处理器,其他的内核相对比较少;在这两种内核中,又以Arm Cortex-M生态环境相对健全,大部分的厂家都在使用ARM的处理器。本文主要介绍Arm Cortex-M各个不同系列的参数对…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
