帮助100w人成功入职的软件测试面试常见问题以及答案

news2024/11/15 17:34:18

测试面试题

  1. 怎么来设计测试方案

根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。

被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等);

不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性;

测试组网图:进行本次系统测试所需要的软硬件设备、配置数据已及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。

https://www.bilibili.com/video/BV1Fx4y157Xt/?spm_id_from=333.999.0.0

  1. 如果给你一个B/S系统你怎么来进行测试?此题答案还可用于回答测试流程,测试流程题亦可参考15题。

  • 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。

  • 编写测试需求,包括系统功能和非功能测试要点、测试类型、测试进度质量要求等。

  • 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天

  • 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。

  • 执行软件测试,

  • 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。

  • 编写测试报告,总结测试过程,汇总度量数据。

  1. 怎么进行工作流的测试

把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。

工作流:

如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。

  1. 在做性能测试的时候都需要关注哪些参数?

并发访问量,服务器响应时间(最小、平均、最大)

并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。

负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。

负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。

一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。

大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。

  1. 如果客户没有给你性能指数时,你怎么来开展性能测试工作?

如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和PM协商,一般由PM确认,QA负责给出建议。

举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为用户的忍耐时间是3-5秒以内,这些要参考实际的应用来确定用户规模、操作频率、同时在线数等。

  1. 有没有做过接口测试,是如何做的?

通过编写测试程序, 获得接口指针, 逐个调用接口函数验证其正确性, 及失败操作

  1. 测试过程中是如何来保证软件质量的?

测试用例编写完毕后要加强评审的力度,确保测试用例覆盖所有需求点

执行测试过程中注意做小结检查覆盖情况、审视所提缺陷质量,复测时应注意相关模块的测试

测试时间宽裕的话可以做交叉测试,用以确保测试质量。

  1. 测试方案都写什么内容?

1概述

2被测对象分析

3应测试的特性

4不被测试的特性

5总体设计方法

6测试模型

6.1测试组网图

6.2结构/对象关系图

6.3测试原理

6.4操作规程

7测试需求

7.1环境需求

7.2被测对象需求

7.3测试工具需求

7.4测试代码需求

7.5数据需求

7.6其它需求

8测试设计

8.1工具设计

8.2测试代码设计

8.3用例设计

8.3.1设计原则

8.3.2测试项目

9.附录

(测试方案要求根据《SRS》上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案)以往华为测试方案目录如下:

第1章 技术方案

1.1. 测试需求描述

1.1.1. 测试类型分析

1.1.2. 测试内容

1.2. 缺陷分类

1.3. 缺陷级别

第2章 SOW及规格的应答

2.1. 测试需求应答

2.2. 交付件应答

2.2.1. 软件交付件应答

2.2.2. 非软件交付件应答

2.3. 项目里程碑项目完成时间应答

2.4. 质量目标应答

2.5. 验收标准应答

2.6. 限制应答

2.6.1. 合作供应商人员组织应答

2.6.2. 硬件设备应答

2.6.3. 合作项目开发场地应答

第3章 类似项目成功案例

第4章 项目详细工作计划

第5章 项目估算

  1. 测试方案和测试计划的区别

测试方案是技术性的;测试计划更多是管理性的。

测试计划主要要考虑测试的技术可行性、关键技术、资源投入、进度安排、风险管理、配置管理、输入输出等。测试计划更多地供高层管理者决策时做参考;同时对后续测试工作开展起指导作用。

在一些小项目中,可能只需要一个测试方案,测试计划内容相对较少,可以与测试方案合并进行;而一些大项目中,也许要设计数十个测试方案,这就需要一个提纲挈领的东西了,这就是测试计划的作用。

  1. 测试用例是根据什么写的?

系统测试用例根据需求和设计编写

(华为的SDV测试用例是根据《测试方案》和测试策略来编写的)

  1. 是怎么来设计测试用例的?

答:先熟悉系统需求,把握测试要点,设计用例的原则首先是要覆盖每个需求点,可以通过填写需求跟踪矩阵来保证覆盖。

黑盒测试的测试用例设计方法:等价类划分法、 边界值分析法、错误推测法、因果图。

  1. 有没有测过手机终端的项目?

根据实际情况回答,如果没有测试过,可以回答,公司有过类似业务。

手机终端测试

  1. 对测试工作的认识?

答:软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。

软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码和单元测试属于软件生命周期中的同一个阶段。在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生命周期的另一个独立阶段,即测试阶段。

华为独立外包测试一般包括ST(系统测试)和SDV(详细设计验证)两个阶段。

  1. 缺陷是怎么管理的?

答:我们采用了Rational ClearQuest来管理缺陷。

测试人员执行测试,发现缺陷,录入CQ,要求填写项目名称、子系统名称、模块名称、缺陷标题、缺陷描述(描述场景、现象)、缺陷级别、提出人等。状态:已提交。

项目经理或开发组长确认缺陷后分配给开发人员,状态:已分配。

开发人员修复缺陷完成后,将修复缺陷所花费的时间填写的Schedule中,缺陷的产生原因填写在备注中,因采用UCM模式,所有造成该缺陷的错误代码文件,在UCM视图中可以统计。状态:已处理。

测试人员复测,如缺陷已经修复,则关闭缺陷,状态:已关闭。如缺陷仍然存在,则修改状态为已分配。

当缺陷存在争议时,开发组长或开发人员可以申请否决,由项目经理、技术经理、测试负责人、相关开发人员和测试人员共同决定缺陷是否可以否决。状态:已申请否决、已否决。

当前不能修复,或当前版本无法解决的缺陷可以申请延期,状态:已申请延期、已延期。

  1. 介绍一下测试流程。

答:项目启动后进行需求培训,测试人员尽早的参与到项目需求的培训和评审,也就是测试工作应该从需求阶段开始介入。

项目经理编写《项目计划》,开发人员产出《需求规格说明书》,这时测试组长就要根据《项目计划》开始编写《测试计划》,其中包括人员,软件硬件资源,测试点,进度安排和风险识别等内容。

《测试计划》编写完成后需要进行评审,参与人员有项目经理,测试经理。测试组长需要根据评审意见修改《测试计划》,并上传到CC上,由配置管理员管理。

待开发人员把《需求规格说明书》归纳好并打了基线,测试组长开始组织测试成员编写《测试方案》,《测试方案》编写完成后也需要进行评审,评审人员包括项目经理,开发人员,测试经理,测试组长,测试成员;测试组长组织测试成员修改测试方案,直到评审通过后才进入下个阶段――编写测试用例。

测试用例是根据《测试方案》来编写的,通过《测试方案》阶段,测试人员对整个系统需求有了详细的理解。这时开始编写用例才能保证用例的可执行和对需求的覆盖。测试用例需要包括测试项,用例级别,预置条件,操作步骤和预期结果。其中操作步骤和预期结果需要编写详细和明确。测试用例应该覆盖测试方案,而测试方案又覆盖了测试需求点,这样才能保证客户需求不遗漏。同样,测试用例也需要通过开发人员,测试人员的评审,测试组长也需要组织测试人员对测试用例进行修改,直到评审通过。

在我们编写测试用例的阶段,开发人员基本完成代码的编写,同时完成单元测试。提交测试中心后根据《测试计划》进度安排,测试组长组织进行多轮次的测试,每轮测试完成后测试组长需要编写测试报告,其中包括用例执行通过情况,缺陷分布情况,缺陷产生原因,测试中的风险等等,这时测试人员就修改增加测试用例。待到开发修改完bug并转来新的测试版本,测试人员开始进行第二轮的系统测试,首先回归完问题单,再继续进行测试,编写第二轮的测试报告,如此循环下去,直到系统测试结束。

总结:在测试行业摸爬滚打也有十几年了,在学习的途中也是收藏了很多的学习资源,下面是软件测试到测试开发全职业生涯全套学习资料

【需要的可以点击下方官方推广小卡片扫码备注000免费领取】

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

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

相关文章

MyBatis - 10 - 处理多对一映射关系 + MyBatis延时加载

文章目录1.准备工作1.1 建表1.2 创建Maven项目1.2.1 在pom文件中,修改打包方式为jar包,导入依赖1.2.2 创建日志配置文件和jdbc.properties1.2.3 创建Mybatis核心配置文件1.2.4 创建实体类以及实体类之间的关系1.2.5 创建SqlSession工具类2.为什么要单独处…

Ubuntu配置静态IP的方法

Ubuntu配置静态IP的方法前言一、查看虚机分配的网卡IP二、查看网卡的网关IP三、配置静态IP1.配置IPv4地址2.执行netplan apply使改动生效3.配置的网卡未生效,修改50-cloud-init.yaml文件解决4.测试vlan网络通信总结前言 Ubuntu18.04 欧拉环境 vlan网络支持ipv6场景…

树状数组讲解

树状数组 文章目录树状数组引入例题AcWing241.楼兰图腾思路代码AcWing 242. 一个简单的整数问题思路代码AcWing 244. 谜一样的牛思路代码总结引入 树状数组主要维护的是这样一个数据结构: tr[x]表示以x为终点的长度为lowbit(x)的前缀和 对于树状数组主要就两种操作 …

机器学习系统架构的10个要素

这是一个AI赋能的时代,而机器学习则是实现AI的一种重要技术手段。那么,是否存在一个通用的通用的机器学习系统架构呢?在老码农的认知范围内,Anything is nothing,对系统架构而言尤其如此。但是,如果适用于大…

风力发电机组浪涌保护器安全防护方案

风机的庞大与危险高空作业注定了其在基建和维护中不易操作,风机设备的主电源、过程控制、网络与通讯、现场设备需要高等级的防雷浪涌保护器冲击保护,提高系统及设备的可靠性和可用性。风电场的主要发电设备风力发电机组“大风车”是风电场的主要发电设备…

【数据分析】缺失数据如何处理?pandas

本文目录1. 基础概念1.1. 缺失值分类1.2. 缺失值处理方法2. 缺失观测及其类型2.1. 了解缺失信息2.2. 三种缺失符号2.3. Nullable类型与NA符号2.4. NA的特性2.5. convert_dtypes方法3. 缺失数据的运算与分组 3.1. 加号与乘号规则3.2. groupby方法中的缺失值4. 填充与剔除4.1. fi…

什么是让ChatGPT爆火的大语言模型(LLM)

什么是让ChatGPT爆火的大语言模型(LLM) 更多精彩内容: https://www.nvidia.cn/gtc-global/?ncidref-dev-876561 文章目录什么是让ChatGPT爆火的大语言模型(LLM)大型语言模型有什么用?大型语言模型如何工作?大型语言模型的热门应用在哪里可以找到大型语言…

王道操作系统课代表 - 考研计算机 第一章 计算机概述 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 操作系统 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “计算机概述” 章节知识点总结的十分全面,涵括了《操作系统》课程里的全…

(五十七)插入数据时到底是如何维护好不同索引的B+树的?

之前我们已经给大家彻底分析清楚了MySQL数据库的索引结构了,大家都知道不同索引的结构是如何的,大致是如何建立的,然后搜索的时候是如何根据不同的索引去查找数据的。 那么今天我们来给大家彻底讲清楚,你在插入数据的时候&#x…

JavaSE学习笔记day17

零、 复习昨日 File: 通过路径代表一个文件或目录 方法: 创建型,查找类,判断类,其他 IO 输入& 输出字节&字符 try-catch代码 一、作业 给定路径删除该文件夹 public static void main(String[] args) {deleteDir(new File("E:\\A"));}// 删除文件夹public s…

openjdk:8镜像中安装工具命令的方法

文章目录前言一、获取openjdk:8环境1.下载并运行openjdk:82.获取当前镜像的基础环境信息3.更换源并安装软件二、更新Dockerfile1.增加命令2.尝试构建3.测试镜像是否可用总结前言 记录一下openjdk:8镜像安装命令的方法 同事使用openjdk:8作为基础镜像构建业务镜像,但…

蚂蚁CTO线五年测试开发,年后被优化,跟大家唠几句

夙兴夜寐,回顾从毕业出来到现在的这五年,也是在这里给大家抛砖引玉了。先简单交代一下背景吧,某不知名 985 的本硕,17 年毕业加入蚂蚁金服,以“人员优化”的名义无情被裁员,之后跳槽到了有赞,一…

软件测试的主要工作内容是什么

平时说起程序员印象中大都是做Java、做前端、做后端,用着非常晦涩难懂的语言。在电脑前哐哐哐,没一会满屏代码显现出来。然而程序员并不全是印象中这样,还有一部分:他们不常写代码,主要去检查代码,是不是出…

人工智能前置研究-神经元/离子通道

专栏目录: 高质量文章导航_GZVIMMY的博客-CSDN博客 前言: 《生命是什么》:来自有序中的有序,非周期性晶体!有机体内在生命及其外部世界的相互作用,都能被精确的定律所概述,但前提是它自身必须有一个巨大结构,分子数目太少的话,定律也就不准确了。 《神秘的量子生命…

基于RT-Thread完整版搭建的极简Bootloader

项目背景Agile Upgrade: 用于快速构建 bootloader 的中间件。example 文件夹提供 PC 上的示例特性适配 RT-Thread 官方固件打包工具 (图形化工具及命令行工具)使用纯 C 开发,不涉及任何硬件接口,可在任何形式的硬件上直接使用加密、压缩支持如下&#xf…

Python抓取数据具体流程

之前看了一段有关爬虫的网课深有启发,于是自己也尝试着如如何过去爬虫百科“python”词条等相关页面的整个过程记录下来,方便后期其他人一起来学习。 抓取策略 确定目标:重要的是先确定需要抓取的网站具体的那些部分,下面实例是…

MySQL Buffer Pool 详解

1. Buffer Pool 概述 Buffer Pool 到底是什么?从字面上看是缓存池的意思,没错,它其实也就是缓存池的意思。它是MySQL当中至关重要的一个组件,可以这么说,MySQL的所有的增删改的操作都是在 Buffer Pool 中执行的。 但…

90%的人都不算会爬虫,这才是真正的技术,从0到高手的进阶

很多人以为学会了urlib模块和xpath等几个解析库,学了Selenium就会算精通爬虫了,但到外面想靠爬虫技术接点私活,才发现寸步难行。 龙叔我做了近20年的程序员,今天就告诉你,真正的爬虫高手应该学哪些东西,就…

相向双指针 leetcode 15 16 18 611

简单介绍 与同向双指针区别就是&#xff0c;同向查找的是子串最明显得区别就是两侧进行搜索比较快 基本得模板如下 while(left < right) {if( ){}else if(){}else{ // left与right得遍历while(){}} }具体以题目为例 两数之和比较简单 不展示了 leetcode 15 三数之和 这个…

NOC·核桃编程马拉松复赛低年级组 A 卷真题

1. 舞台区如下所示,角色足球的初始坐标为(0,0)。等待下图程序运行完毕后,足 球的坐标是多少?( ) A(100,100) B(-100,100) C(100,-100) D(0,0) 2. 亮亮设计了一个“击落陨石”的游戏。点击开始按钮后,陨石会出现在舞台区的随机位置,碰到炸弹后就会消失…