软件测试面试心得:四种公司、四种问题…
以下是我个人总结的一些经验:
传统开发模式:V模式,瀑布模式。传统开发模式往往循规蹈矩,从需求,概要设计,详细设计,开发,单元测试,集成测试,系统测试,验收测试,上线发布,整个周期往往需要半年到一年,由于周期长,产品在开发过程中会存在需求变化,传统模式不适应需求的变化。为了解决这个问题,当前出现了敏捷模式。
敏捷分为敏捷开发和敏捷测试,特点和特征是:
1. 测试驱动开发和行为驱动测试
测试驱动开发是指开发先写单元测试,再写开发的代码,当单元测试跑通的时候,代码开发就完成了。
行为驱动测试是通过直接写user story,例如Cucumber框架,说来也很简单,就是在excel里为每个测试用例写好场景对应的步骤,每个步骤又对应有关键字(动作函数),之后只要对userstory/测试场景进行补充,就可以扩展一个又一个的测试用例。当然刚开始的函数都需要一个一个去编写实现。
2. 小步快跑,拥抱变化
敏捷思想会把一个产品分成多个阶段,每个阶段大约2~4周,在这个2~4周里设定的需求是明确的,不接受过大的变化,这样能保证明确的需求的实现和产品的进度,对下一个周期需求,咱们拥抱变化。
3. 不过多强求文档话,强调人与人之间的沟通
不过多强求文档话,不是说拒绝文档,有文档是最好的,但是因为时间原因,不写文档是允许的。
强调人与人之间的沟通,开发测试人员在一个小的空间里(圆桌,没有挡板的办公环境),有问题可进行当面沟通。
4. 站会(用小黄贴,展示进度)
每日站会,开发和测试回报进度,把遇到的困难说出来讨论。每个人对项目整理进度也方便了解。
5. 结对编程
同一段代码由2个人写,一个人写代码,一个人review,或者交换。这个方式是google在用的一种方式。
6. 持续集成
强调快速构建,快速测试,可以通过持续集成工具jenkins,好处是:快速发现问题,快速定位问题,节约排查时间成本等。
7.自动化测试
大多数是单元测试。
8. 重构
因为敏捷开发时,注重的速度,很多代码写的不够好,之后可能需要重写代码,这时,单元测试就特别重要。单元测试能检验代码重写是否正常。
测试面试话题2:如何不漏测?
不漏测这个话题本身就是个伪命题,微软的产品都天天打补丁,包括google, facebook都经常打补丁。测试人员是没有办法保证不漏测的,但是尽可能少漏测,而且每次保证漏测的原因都是不一样的。
不漏测就等于软件没有bug,这个是整个团队的事情,团队对整个产品质量负责,测试只是质量管理中的一个小环节。
如何通过团队来构建一个好的产品质量,才是一个好的话题。
产品测试分层和效果:单元测试>接口测试>UI测试
单元测试:开发需要做单元测试和代码 review来保证产品的健壮性
接口测试:接口层变化比较小,很适合做全面自动化,实现产品快速的回归;---测试人员
UI测试:UI层自动化测试+探索式测试;UI层变化大,虽然大家都想做自动化,但是效果并不好;---测试人员
基于现有的情况,提高产品质量:
1. 梳理好研发流程,各司其职。
2. 从需求开始,测试就应该介入,并且了解每一个细节, 根据产品需求文档、产品设计文档(概要设计、详细设计)来设计详细的测试用例,并且让产品人员,开发人员一同参与评审,让团队的力量来对测试用例进行一个补充,这样可以大大减少漏测可能。
3. bug预防,测试框架,探索式测试在测试用例设计上的运用,可减少漏测出现。
4. 让项目的相关人员做一些抽测,从不同的角度去测试系统。
5. 群策群力。
测试面试话题3:你个人短期和长期目标是什么?
有人会这样回答:“我的目标就是确保自己不落伍,而且我相信面对现实是十分重要的。我在某个地方读到过,我们在美国历史上比上一代退步的一代。这使我很担心,因此我的目标就是确保自己不落伍。这听起来可能有点悲观,但我是一个现实主义者,而且我相信面对现实是十分重要的。”
【评论】:这样的回答只能凸显你是个随大流的人,没有自己的个性,特点。
合理的回答
不论在长期还是短期,我的个人策略是根据当前目标评价自己所处的位置,然后相应地修改自己的计划。比如,我每五年就制定一项个人计划,这个计划中包含一个总体目标和一系列短期目标。每6个月我就回顾一下自己的进展,然后做出必要的修改。很明显,我当前的计划就是实现职业转变,也就是找到更满意的工作。除此之外,我已经实现了近期制定的个人目标。
【评论】:目标贴切实际并证明自己有在努力去实现或已实现这些目标。
测试面试话题4:给你一个测试团队,你会如何管理
这个是测试团队管理的话题
1. 管人
a. 招聘新人,找到合适的人,新人是需要做入职培训。让新人快速融入到团队中去,和开发和测试打成一片。
b. 与团队成员多做有效沟通,了解每个人真正诉求,根据诉求和公司的要求做一个管理上的平衡。
c. 设定KPI,合理的激励,奖惩分明。
d. 团建,增进了解。
2. 理事
a. 做好日常项目管理工作,监控项目的方方面面,保证公司的项目开发和质量要求。
a1. 团队成员往往以测试组的名字接不同的测试项目,需要全局把握项目的进展,比如说:需求是否了解足够充分,测试用例设计的是否足够充分,项目执行过程中是否有什么风险
b. 根据每个人的诉求和特点,合理的安排每个人的工作(喜欢挑战的,就给一些挑战性的工作; 不喜欢挑战的,就给一些日常性的工作)。
管理没有真正意义上的对和错,让每个人开开心心的工作,做到一个平衡,就算是成功了。
测试面试话题5:感谢每一次面试机会
每次面试都是一次修行!都是了解自己缺点,发现不足,重新认识自己,改善提高的机会!每一次面试又是一次缘分,我们可以静静的听对方的故事和建议,思考对比自己的人生,不断修正,学习借鉴!自我鞭策!
求职的酸甜苦辣,人生百态,冷暖自知!我也重新梳理了测试行业,修正了个人发展目标。其间的经验、心得体会、方式方法希望与大家分享探讨,互相帮助,互相勉励,一起度过暂时的中年危机!
软件测试面试时一份好简历的重要性
相关文章:
软件测试面试心得:四种公司、四种问题…
以下是我个人总结的一些经验: 传统开发模式:V模式,瀑布模式。传统开发模式往往循规蹈矩,从需求,概要设计,详细设计,开发,单元测试,集成测试,系统测…...

【探索SpringCloud】服务发现-Nacos使用
前言 在聊服务注册中心时,便提到了Nacos。这次便来认识一下。当然,这自然没有官方介绍那般详尽,权当是学习了解Nacos原理的一个过程吧。 Nacos简介 Nacos,全名:dynamic Naming And Configuration Service. 而这个名…...
soap通信2
首先,定义一个XSD(XML Schema Definition)来描述你的数据结构。在你的Maven项目的src/main/resources目录下,创建一个名为schemas的文件夹,并在其中创建一个名为scriptService.xsd的文件,内容如下ÿ…...

【MySQL】MySQL不走索引的情况分析
未建立索引 当数据表没有设计相关索引时,查询会扫描全表。 create table test_temp (test_id int auto_incrementprimary key,field_1 varchar(20) null,field_2 varchar(20) null,field_3 bigint null,create_date date null );expl…...

JVM垃圾回收篇-垃圾回收算法
JVM垃圾回收篇-垃圾回收算法 标记清除(Mark Sweep) 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分,比如说我们的应用程序本身。 mutator的职责一般是NEW(分配内存)、READ(从内存中读取内容)、WRITE(将内容写入内…...

android APP内存优化
Android为每个应用分配多少内存 Android出厂后,java虚拟机对单个应用的最大内存分配就确定下来了,超出这个值就会OOM。这个属性值是定义在/system/build.prop文件中. 例如,如下参数 dalvik.vm.heapstartsize8m #起始分配内存 dalvik.vm.…...

mysql_docker主从复制_实战_binlog混合模式_天座著
步骤1:拉取镜像 docker pull mariadb:latest 步骤2.1:创建两个文件夹用于放置挂载mysql的my.cnf /tianzuomysqlconf/master /tianzuomysqlconf/slave mkdir /tianzuomysqlconf cd /tianzuomysqlconf mkdir master mkdir slave 步骤2.2:创…...

鸿蒙开发学习笔记1——真机运行hello world
问题背景 学习任何语言和框架的第一步,永远都是跑通熟悉的“hello world”,本文将介绍鸿蒙开发如何跑通“hello world”。 问题分析 一、构建第一个ArkTS应用(fa模型) 说明:请使用DevEco Studio V3.0.0.601 Beta1及…...
Java数组,简简单单信手沾来~
——数组,一组相同数据类型的数据 一.一维数组 1.数组的基本概念 1)数组用于存储多个同一数据类型的数据 2)数组是数据类型【引用类型】 3)数组的形式:数据类型 [] 4)数组的下标从0开始 5)数…...
认识SourceTree
一. SourceTree是什么 SourceTree是一款免费的Git和Mercurial版本控制系统,它可以帮助开发人员在一个友好的UI界面中管理代码,方便地进行版本控制和代码同步。支持创建、克隆、提交、push、pull 和合并等操作。 二. SourceTree的安装破解 1. 如果你还…...
python之列表推导式
列表推导式是一种简洁的方式来创建列表。它允许您通过在单个表达式中定义循环和条件逻辑,以一种更紧凑的方式生成新的列表。使用列表推导式可以使代码更简洁,易于阅读,并且通常比传统的迭代方法更快。 列表推导式的一般语法形式为:…...

selenium自动化测试之搭建测试环境
自动化测试环境: Python3.7Selenium3.141谷歌浏览器76.0/火狐浏览器 1、安装Python并配置环境变量。 下载并安装:配置环境变量:C:\Python37;C:\Python37\Scripts; 2、安装Pycharm开发工具。 下载地址: 注意下载:Co…...

模拟实现消息队列(以 RabbitMQ 为蓝本)
目录 1. 需求分析1.1 介绍一些核心概念核心概念1核心概念2 1.2 消息队列服务器(Broker Server)要提供的核心 API1.3 交换机类型1.3.1 类型介绍1.3.2 转发规则: 1.4 持久化1.5 关于网络通信1.5.1 客户端与服务器提供的对应方法1.5.2 客户端额外…...

WordPress更换域名后-后台无法进入,网站模版错乱,css失效,网页中图片不显示。完整解决方案(含宝塔设置)
我在实际解决问题时用到了 【简单暴力解决方案】的《方法一:修改wp-config.php》 和 【简单暴力-且特别粗暴-的解决方案】 更换域名时经常遇到的几个问题: 1、更换域名后,后台无法进入 2、更换域名后,网站模版错乱,css失效 3、更换域名后,网页中图片不显示 这是为什…...
无法正确识别车牌(Python、OpenCv、Tesseract)
我正在尝试识别车牌,但出现了错误,例如错误/未读取字符 以下是每个步骤的可视化: 从颜色阈值变形关闭获得遮罩 以绿色突出显示的车牌轮廓过滤器 将板轮廓粘贴到空白遮罩上 Tesseract OCR的预期结果 BP 1309 GD 但我得到的结果是 BP 1309…...

VSCODE[配置ssh免密远程登录]
配置ssh免密远程登录 本文摘录于:https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…...

Multi-object navigation in real environments using hybrid policies 论文阅读
论文信息 题目:Multi-object navigation in real environments using hybrid policies 作者:Assem Sadek, Guillaume Bono 来源:CVPR 时间:2023 Abstract 机器人技术中的导航问题通常是通过 SLAM 和规划的结合来解决的。 最近…...

初始多线程
目录 认识线程 线程是什么: 线程与进程的区别 Java中的线程和操作系统线程的关系 创建线程 继承Thread类 实现Runnable接口 其他变形 Thread类及其常见方法 Thread的常见构造方法 Thread类的几个常见属性 Thread类常用的方法 启动一个线程-start() 中断…...
论坛项目day3|开发社区首页
在典型的基于层次结构的软件架构中,特别是在使用MVC(模型-视图-控制器)设计模式的情况下,Controller、Service、DAO(数据访问对象)和Entity通常扮演着不同的角色,并且它们之间有清晰定义的关系。…...

Server - 文字转语音 (Text to Speech) 的在线服务 TTSMaker
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132287193 TTSMaker 是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括英语、法语、德语、西班…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...