当前位置: 首页 > news >正文

【测试面试篇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.选择走测试为什么还要学这么多的开发知识&#xff1f; 2.为什么选择软件测试开发岗位而不是软件开发岗位&#xff1f; 3.个人的职业规划是什么&#xff1f; 4.测试中遇到的问题如何进行解决&#xff1f; 5.对自己的项目做过哪些测试工作&#xff1f; 6.描述selenium…...

人大金仓数据linux安装注意事项

人大金仓数据linux安装注意事项 本次是个人搭建虚拟机安装centos7的环境下进行安装。 1、安装流程参照https://help.kingbase.com.cn/v9/install-updata/install-linux/preface.html。 2、mount安装文件报错 操作手册提供mount的命令如下&#xff1a; mount KingbaseES_V009R0…...

【Maven】多模块项目的构建

项目构建 什么是构建&#xff1f; 项目构建指的是将源代码和资源文件转换为可执行或可分发的软件制品&#xff08;如 JAR、WAR 文件&#xff09;的过程。这个过程不仅包括编译代码&#xff0c;还包括运行测试、打包、部署等步骤。Maven 提供了一套标准化的方法来处理这些任务…...

大模型学习笔记------SAM模型详解与思考

大模型学习笔记------SAM模型详解与思考 1、SAM框架概述2、Segment Anything Task3、Segment Anything Model SAM模型是Meta 提出的分割一切模型&#xff08;Segment Anything Model&#xff0c;SAM&#xff09;突破了分割界限&#xff0c;极大地促进了计算机视觉基础模型的发展…...

crictl和ctr与docker的命令的对比

crictl是遵循CRI接口规范的一个命令行工具&#xff0c;通常用它来检查和管理kubelet节点上的容器运行时和镜像 ctr是containerd的一个客户端工具&#xff0c; 接下来就是crictl的的常见命令&#xff0c;其中能完全替代docker命令的参照下列表格 操作crictldocker查看运行容器…...

SQLite建表语句示例(含所有数据类型、索引、自增主键、唯一索引)

下面是一个示例&#xff0c;展示如何创建一个用户信息表。 包含 SQLite 支持的所有数据类型&#xff0c;同时设置主键为自增、一个字段为唯一索引&#xff0c;以及另一个字段为普通索引&#xff1a; -- 创建用户信息表 CREATE TABLE user_info (id INTEGER PRIMARY KEY AUTOI…...

探秘Redis哨兵模式:原理、运行与风险全解析

一、引言 Redis 概述 在当今的数据存储领域&#xff0c;Redis 占据着十分重要的地位。它是一个内存中的数据存储&#xff0c;凭借其出色的性能和丰富的功能&#xff0c;被数百万开发人员广泛应用于诸多场景之中&#xff0c;已然成为构建高性能、可扩展应用程序的得力工具。 从…...

.NET平台使用C#设置Excel单元格数值格式

设置Excel单元格的数字格式是创建、修改和格式化Excel文档的关键步骤之一&#xff0c;它不仅确保了数据的正确表示&#xff0c;还能够增强数据的可读性和专业性。正确的数字格式可以帮助用户更直观地理解数值的意义&#xff0c;减少误解&#xff0c;并且对于自动化报告生成、财…...

零基础学安全--wireshark简介

目录 主要功能 捕获网络数据包 协议解析 数据包分析 数据包重组 过滤功能 统计与图表功能 官网 Wireshark是一个开源的网络协议分析工具 主要功能 捕获网络数据包 能够实时捕获网络中传输的数据包&#xff0c;用户选择要监听的网络接口&#xff08;如以太网、WiFi等…...

[Flutter] : Clipboard

import package:flutter/material.dart; import package:flutter/services.dart; setData Clipboard.setData(ClipboardData(text: "传入的文字内容")); getData Clipboard.getData(Clipboard.kTextPlain) 记录 &#xff5c; 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.…...

《开源数据:开启信息共享与创新的宝藏之门》

《开源数据&#xff1a;开启信息共享与创新的宝藏之门》 一、开源数据概述&#xff08;一&#xff09;开源数据的定义&#xff08;二&#xff09;开源数据的发展历程 二、开源数据的优势&#xff08;一&#xff09;成本效益优势&#xff08;二&#xff09;灵活性与可定制性&…...

如何评估基于TRIZ理论生成的方案的可行性和有效性?

在科技创新与问题解决的过程中&#xff0c;TRIZ理论&#xff08;发明问题解决理论&#xff09;以其系统性和高效性著称&#xff0c;为工程师和创新者提供了一套强大的工具和方法。然而&#xff0c;仅仅依靠TRIZ理论生成创新方案并不足以确保项目的成功&#xff0c;关键在于如何…...

sh-寡肽-78——头发护理多肽原料,改善头发外观

主要特征 人的头发纤维结构由角质层、皮质和髓质组成。角质层约占头发重量的 15%&#xff0c;由重叠的细胞层组成&#xff0c;类似于鳞片系统&#xff0c;半胱氨酸含量很高。它为头发纤维提供保护作用。皮质是头发的中间区域&#xff0c;负责头发的强度、弹性和颜色。它由多种细…...

metagpt 多智能体系统

metagpt 多智能体系统 代码1. 动作及角色定义2. 主函数 代码解释1. 导入模块&#xff1a;2. 环境设置&#xff1a;3. 定义行动&#xff08;Action&#xff09;&#xff1a;4. 定义角色&#xff08;Role&#xff09;&#xff1a;5. 学生和老师的行为&#xff1a;6. 主函数&#…...

下采样在点云处理中的关键作用——以PointNet++为例【初学者无门槛理解版!】

一、前言 随着3D传感器技术的快速发展&#xff0c;点云数据在计算机视觉、机器人导航、自动驾驶等领域中的应用日益广泛。点云作为一种高效的3D数据表示方式&#xff0c;能够精确地描述物体的几何形状和空间分布。然而&#xff0c;点云数据通常具有高维度和稀疏性的特点&#…...

pytorch ---- torch.linalg.norm()函数

torch.linalg.norm 是 PyTorch 中用于计算张量范数&#xff08;Norm&#xff09;的函数。范数是线性代数中的一个重要概念&#xff0c;用于量化向量或矩阵的大小或长度。这个函数可以处理任意形状的张量&#xff0c;支持多种类型的范数计算。 1.函数签名 torch.linalg.norm(…...

系列1:基于Centos-8.6部署Kubernetes (1.24-1.30)

每日禅语 “木末芙蓉花&#xff0c;山中发红萼&#xff0c;涧户寂无人&#xff0c;纷纷开自落。​”这是王维的一首诗&#xff0c;名叫《辛夷坞》​。这首诗写的是在辛夷坞这个幽深的山谷里&#xff0c;辛夷花自开自落&#xff0c;平淡得很&#xff0c;既没有生的喜悦&#xff…...

spring学习(spring-bean实例化(无参构造与有参构造方法实现)详解)

目录 一、spring容器之bean的实例化。 &#xff08;1&#xff09;"bean"基本概念。 &#xff08;2&#xff09;spring-bean实例化的几种方式。 二、spring容器使用"构造方法"的方式实例化bean。 &#xff08;1&#xff09;无参构造方法实例化bean。 &#…...

Arm Cortex-M处理器对比表

Arm Cortex-M处理器对比表 当前MCU处理器上主要流行RISC-V和ARM处理器&#xff0c;其他的内核相对比较少&#xff1b;在这两种内核中&#xff0c;又以Arm Cortex-M生态环境相对健全&#xff0c;大部分的厂家都在使用ARM的处理器。本文主要介绍Arm Cortex-M各个不同系列的参数对…...

【git、gerrit】特性分支合入主分支方法 git rebase 、git cherry-pick、git merge

文章目录 1. 场景描述1.1 分支状态 2. 推荐的操作方式方法 1&#xff1a;git merge&#xff08;保留分支结构&#xff09;方法 2&#xff1a;git rebase&#xff08;线性合并提交历史&#xff09;直接在master分支执行git merge br_feature&#xff0c;再 执行 git pull --reba…...

WPF 相比 winform 的优势

wpf 相比 winform 的一些优点&#xff0c;网上也是众说纷纭&#xff0c;总的来说包括下面几点&#xff1a; 丰富的视觉效果&#xff1a;能够创建更具吸引力和现代化的用户界面&#xff0c;支持更复杂的图形和动画效果。不需要像 winform 一样&#xff0c;稍微做一点效果&#x…...

PYQT5程序框架

pyqt5程序框架_哔哩哔哩_bilibili 1.UI代码 Qhkuja.py # -*- coding: utf-8 -*-# Form implementation generated from reading ui file Qhkuja.ui # # Created by: PyQt5 UI code generator 5.15.7 # # WARNING: Any manual changes made to this file will be lost when py…...

Linux 中的 mkdir 命令:深入解析

在 Linux 系统中&#xff0c;mkdir 命令用于创建目录。它是文件系统管理中最基础的命令之一&#xff0c;广泛应用于日常操作和系统管理中。本文将深入探讨 mkdir 命令的功能、使用场景、高级技巧&#xff0c;并结合 GNU Coreutils 的源码进行详细分析。 1. mkdir 命令的基本用法…...

【人工智能解读】神经网络(CNN)的特点及其应用场景器学习(Machine Learning, ML)的基本概念

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c; 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把…...

Linux栈帧

相关寄存器&指令 寄存器 rax&#xff08;accumulator&#xff09;&#xff1a;return value rbx&#xff08;base&#xff09; rcx&#xff08;count&#xff09;&#xff1a;4st argument rdx&#xff08;data&#xff09;&#xff1a;3st argument rsi&#xff08;sour…...

leetcode刷题——回溯算法(1)

目录 77题. 组合 216.组合总和III 17.电话号码的字母组合 39. 组合总和 40.组合总和II 131.分割回文串 93.复原IP地址 78.子集 90.子集II 491.非递减子序列 46.全排列 47.全排列 II 332.重新安排行程 51. N皇后 37. 解数独 回溯的本质是穷举&#xff0c;穷举所有…...

3D相框案例讲解(详细)

前言 通过现阶段的学习&#xff0c;我们已经掌握了HTML&#xff0c;CSS和JS部分的相关知识点&#xff0c;现在让我们通过一篇案例&#xff0c;来巩固我们近期所学的知识点。 详细视频讲解戳这里 任务一 了解目标案例样式 1.1了解案例 3D相框 1.2 分析案例 首先我们看到一个…...

制作安装包

使用打包工具&#xff08;如 NSIS、Inno Setup、Advanced Installer&#xff09;制作安装包。 示例&#xff1a;Inno Setup 制作安装包 Inno Setup Inno Setup 是一个免费且强大的安装包制作工具&#xff0c;可以用来打包 Qt 项目或其他软件程序。以下是使用 Inno Setup 制作…...

P8615 拼接平方数 P8699 排列数

文章目录 [蓝桥杯 2014 国 C] 拼接平方数[蓝桥杯 2019 国 B] 排列数 [蓝桥杯 2014 国 C] 拼接平方数 题目描述 小明发现 49 49 49 很有趣&#xff0c;首先&#xff0c;它是个平方数。它可以拆分为 4 4 4 和 9 9 9&#xff0c;拆分出来的部分也是平方数。 169 169 169 也有…...