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

软件测试面试心得:四种公司、四种问题…

以下是我个人总结的一些经验:

  传统开发模式: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的文件,内容如下&#xff…...

【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之列表推导式

列表推导式是一种简洁的方式来创建列表。它允许您通过在单个表达式中定义循环和条件逻辑,以一种更紧凑的方式生成新的列表。使用列表推导式可以使代码更简洁,易于阅读,并且通常比传统的迭代方法更快。 列表推导式的一般语法形式为&#xff1a…...

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 是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括英语、法语、德语、西班…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...