2024最新软件测试【测试理论+ Linux】面试题(内附答案)

一、测试理论

3.1 你们原来项目的测试流程是怎么样的?

我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。 

1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议, 我们会把不明白不理解的需求在会议上说出来,包含需求的合理性还有需求的可测性等, 产品这边解答,目的是让我们测试这边和开发对需求的理解达到一致。

2、测试准备阶段 会议结束之后我们开始准备测试工作,我们测试这边会写一个测试计划,分配每个人负责的模块, 然后我们就根据自己负责的模块用 xmind(思维导图)进行测试需求分析,分析测试点, 以及编写测试用例,之后我们会在自己的组内先进行评审,评审修改之后还会在我们的项目组评审, 评审完后进行修改测试用例。

3、测试执行阶段 开发人员编写好代码之后,我们会把代码包通过 Jelkins 部署到测试环境提测,进行 SIT 测试, 在正式测试之前我们会先做一个冒烟测试,冒烟测试通过之后我们才转测,在执行测试的过程中, 我们如果发现 bug 就会用 tapd(或者禅道)记录并且提交 bug,也会进行 bug 复测,以及回归测试, 每一轮测试结束之后我们都会写一个测试报告,一般情况下,测试 4-5 轮之后会达到上线要求, 当达到上线的标准后,测试报告会认为测试通过,上线前我们会做预发布测试,预发布通过后, 由项目组与产品决定时间上线,上线完成,一周左右我们会写一个项目总结测试报告, 总结我们在上一个版本中遇到的问题以及今后有哪些地方需要改进,在产品选代过程中, 我们会跑自动化用例来进行回归测试。

3.2 如果需求不明确的话你怎么办?

需求不明确的话我会在需求澄清会议上面提出来,问清楚这个需求只有明确需求, 才能更好的完成工作,后续工作中还是不清楚,可以找产品再去确认这个需求。

3.3 有哪些需要评审,哪些人在

1、 xmind 思维导图评审,主要是测试人员 2、测试用例需要评审,测试人员,开发人员,产品人员 3、需求文档,项目组所有的人员,都会到场

3.4 有没有写过测试计划,具体包括哪些内容?

参考答案 1: 测试计划内容: (1)目的和范围 (2)规程 (3)测试方案和方法 (4)测试的准入和准出 (5)测试计划(流程、时间安排、对应人员) (6)测试的环境配置和人员安排 (7)交付件 华测教育专属 华测教育专属 华测教育专属 华测教育专属 华测教育专属 华测教育专属 华测教育专属 华测教育专属 华测教育专属 15 参考答案 2 我们公司之前按照考核要求写过测试计划,不过后面老大觉得太耽误工作进度, 后面一般都不再写测试计划,而是写版本计划,这个在版本计划,每个人的任务列出来, 负责人列出来,自己根据自己的情况分配时间,然后汇总,大家一起开个小会评审就可以了。

3.5 用例包含哪些部分,哪些用例设计方法,你一般常用哪些方法?

原来我们用例包含 测试项目,用例编号、测试标题、优先级、预置条件、操作步骤、测试数据、预期结果 黑盒测试用例设计方法:主要是等价类、边界值、错误推测法、判定表、因果图、正交表、 流程分析法、状态迁移法、异常分析法。 常用的:等价类、边界值、判定表、流程分析法、错误推测法。 等价类是指某个输入域的子集合,在该子集合中, 各个输入数据对于揭露程序中的错误都是等效的, 并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部 输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件, 就可以用少量代表性的测试数据取得较好的测试结果, 等价类划分可有两种不同的情况有效等价类和无效等价类。 边界值的话就是对等价类划分方法的补充。测试工作经验告诉我,大量的错误往往是发生在输入或输 出范围的边界上而不是发生在输入输出范围的内部,因此的话针对各种边界情况来设计测试用例,可 以查出更多的错误,使用边界值分析方法设计测试用例的话,首先应该确定边界情况,通常输入和输 出等价类的边界,就是应着重测试的边界情况应当选取正好等于,刚刚大于或刚刚小于边界的值作为 测试数据,而不是选取等价类中的典型值或任意值作为测试数据。 对于错误推断法,这个是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的去设计测试用例的方法的,主要就是列举出程序中所有可能有的错误和容易发生错误 的特殊情况去根据这些情况来选择测试用例,例如,在单元测试时曾列出的许多在模块中常见的错误 以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为 0 的情况。 输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况,可选择这些情况下的例子作为 测试用例。 前面介绍的等价类划分方法和边界值分析方法都是着重考虑输入条件但都没有考虑输入条件之间的 联系,相互组合等等的情况。考虑输入条件之间的相互组合,可能会产生一些新的情况, 但是要检查输入条件的组合并不是一件容易的事情,即使把所有输入条件划分成等价类, 他们之间的组合情况也相当多,因此的话可以考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例,这就需要用到因果图(逻辑模型)。 因果图方法最终生成的就是判定表它适合检查程序输入条件的各种组合情况。

3.6 TestLink 工具使用?

(1)创建用户,并给新创建的用户指定权限。 (2)创建测试用例,对测试用例进行增、删、改、查 (3)把测试用例关联到对应的测试计划中。 (4)把测试用例指派给对应的测试人员。 (5)对应的测试人员,查看被指派的测试用例,并执行测试用例。

3.7 如何提交一个好的 BUG

对 BUG 有一个清晰明了的描述; 详细描述 BUG 重现的步骤 对于产生 BUG 的环境进行描述; 提交 BUG 相关的图片和日志; 定位好 BUG 的等级; 将预期结果与实际结果进行对比。

3.8 提 bug 需要注意哪些问题?

1) 不要急着提交,先跟开发说明 bug 的情况,定位分析下 bug。 是前端问题还是后端问题再去提交 bug。 2) 简单明了的概括 bug 标题,清晰的描述 bug 重现步骤,分析 bug 和预期正确结果,附加 bug 的截 图或者日志。描述 bug 的时候。 3) 在不能确认该情况是否为 bug 的时候,可以请教其他人。 4) 提交完 bug 以后,后面还要跟踪 bug 修复情况。

3.9 bug 怎么管理的,bug 的生命周期或者是 bug 的状态

原来 bug 是用禅道来管理的 原来我们公司 bug,提交 bug 直接给对应的开发人员,对应开发人员修复完成,交给测试复测, 复测通过关闭 bug,不通过打回给对应开发。 提交-开发人员(已激活未确认)-开发进行确认,状态变成已激活,已确认,开发修复完成, 标注状态是已修复,测试人员复测通过,已关闭,打回给对应开发,已经激活。

3.10 提交 bug 包含哪些内容

所属产品、所属模块、所属项目、影响版本、指派人员 截止日期、严重程度、优先级、bug 类型、bug 环境 Bug 标题、重现步骤、附件

3.11 你提交的 bug,开发不认可怎么办?

首先我会再看需求文档,是不是我的理解有误,如果是我对需求理解错的话我就去关闭 bug。 如果是 bug 再去让其他测试人员看看听下他们的意见,然后自己先再三去复测,并目保存好截图和日 志,确定这是一个 bug 之后我就去跟开发说明白,并且给他看 bug 重现的截图以及日志,如果开发还 是不认可的话我就跟产品或项目经理说明白情况。

3.12 对应无法重现 bug,应该怎么处理?

首先,我会多测几次,测了好多次都无法重现的话我就先把 bug 挂起,并且留意一下,看看往后的测 试中,如果在后面的测试中重现 bug 就激活,如果经过几个版本都还没发现的话就关闭 bug。

3.13 界面中的乱码可以是哪里导致的?

(1)数据库中的编码设置 (2)前端页面编码 (3)后台代码也会编码

3.14 bug 的级别有哪些,级别如何判断

1、致命:对业务有至关重要的影响,业务系统完全丧失业务功能,无法再继续进行, 或业务系统丢失了业务数据且无法恢复,影响公司运营的重要业务数据出错。 2、严重:对业务有严重的影响,业务系统已经丧失可部分的重要的业务功能,或业务系统 丢失了业务数据且可以恢复,一般业务数据出错。 3、一般:对业务有较小的影响,业务系统丧失了较少的业务功能, 例如:界面错误,打印或显示格式错误。 4、提示:对业务没有影响,不影响业务过程正常进行, 例如:辅助说明描述不清楚,提示不明确的错误提示。

3.15 测试中,如何判断是前端的 bug 还是后端的 bug 呢?

通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口、传参数、响应。 1)请求接口 un 是否正确如果请求的接口 ur 错误,为前端的 bug 2)传参是否正确如果传参不正确,为前端的 bug 3)请求接口 u 和传参都正确,查看响应是否正确如果响应内容不正确,为后端 bug 4)也可以在浏览器控制台输入 js 代码调试进行分析

3.16 项目上线后发现 bug,测试人员应该怎么办

看严重级别:严重还是不严重 严重的:紧急变更上线  不严重:修复好后跟下个版本一起上线 用户会通过运维反馈到项目组这边,项目经理会根据功能模块的负责人,分给对应的开发与测试。 测试人员:编写对应的测试用例、测试环境中重现 bug、提交 bug、 交给开发进行修复、修复完成 bug、进行 bug 的复测。 如果测试环境无法重现,可以导入生产环境的包到测试环境中测试, 还是不能复现,查看生产环境的日志去定位问题。

3.17 如何保证质量

(1)需求要吃透,多问,多去了解。 (2)严格按照测试流程去执行:多考虑用户测试场景,使用测试用例设计方法,多评审。 (3)要有良好的测试执行:要求用例执行率达到 100%,多轮测试,进行探索性测试, 需要测试之间交叉测试,用工具来管理我们的测试工作(禅道, testlink, excel,tapd) (4)不断的反思与提升。

3.18 产品是怎么上线的?

一般我们会选择晚上上线,开发测试还有产品全部到场,进行上线测试。 首先,开发将代码打包到生产环境的服务器中,如果数据表有变化,就会运行 sql 文件, 对表的一些操作,接着,我们测试就开始先测试主体业务功能以及新增的功能模块; 测试通过之后,我们会在界面上把上线测试的数据删除,正常上线。 如果发现 bug,开发人员当场修复 bug,修复成功之后我们测试再复测,通过就可以正常上线 如果发现了 bug 开发人员在上线规定时间之前都还没有修复好的话,就看问题的严重性, 如果严重就延期上线,如果我们是迭代版本的话我们还需要版本回滚。 如果不严重,产品跟客户觉得可以上线,就正常上线。

二、 Linux

6.1 Linux 系统你是怎么用的?

[在测试 1、执行的过程中,我们发现的 bug,有时候需要定位 bug,协助开发修复 bug 时需要在 linux 里通过命令 tail-200 或 tail-500 查看当天的日志的后面多少行或者前面多少行定位 bug 或者通过 tail -f 来查看日志里的关键字 exception(异常) error(错误)。 [后台程序运行久了会对系统造成卡顿等诸多隐患或我们做性能测试的时候我们都会通过 linux 的命 令 Ps -ef 显示所有进程)、top(监控程序执行状况)、free -m 显示内存使用情况) 来查看系统资源如果服务器出现故障时我们也会用(service httpd status)看下服务器是否启动, 用 ps -ef|grep httpd 查看 apache 进程是否启动,用 ps -ef|grepjava 查看 jdk 进程是否启动如果 服务器起不来,常见的问题有端口可能被占用,用 netstat- an|grep 8080 查看端口是否已被占用。] [搭建测试环境的时候我们在是在 linux 下进行的,搭建 LAMP 时在线用命令 yum install 安装 apache,php 以及 mysql;或通过 xshell 来导入需要的环 华测教育专属 境包来搭建 LTMJ(Tomcat、Mysql、jdk)

6.2 Linux 是什么工具连接的, Linux 版本是多少

Xshell、CRT、SSH 用的 ssh 协议连接,端口是 22 传输文件用 xftp 工具,占用的端口是 21 Linux 版本 centos6.5 版本 64 位

6.3 日志具体是怎么看的

1、我们根据日志目录找到对应的日志文件,用 tail -200,或者 tail-500 查看文件内容 也可以重定向导出来查看。 如果是系统出现了异常导致的错误,我们跟去查找关键字,比如说 error 或者 exception 等 如果是逻辑错误,会把操作对应时间的日志跟对应开发一起去定位 bug

6.4 监控资源命令用到哪些

查着进程 ps -ef 过滤添加 grep 来着 杀掉进程 kill 强制杀掉 -9 监控资源 top vmstat 磁盘 df -h 内存 free -m

6.5 nmon 工具是如何使用的

1、下载安装包() 2、安装(不需要安装-解压即可) nmon_linux_14i.tar.gz 1)把文件传输到 linux 服务器 2)解压 xftp tar -zxvf nmon_linux 14i.tar.gz 3)解压文件中,找到你系统版本对应的运行文件 比如:你们的操作系统 centos6.5 64 位系统, ./nmon_x86_64_centos6 文件 4)运行对应的监控资源的文件 ./nmon_x86_64_centos6 按字母 c 查看 cpu,m 查看内存,n 查看网络,q 退出 3、运行命令把数据保存到文档中 ./nmon_x86_64_sles11 -s1 -c350 -f -m /home/ -s1 每 1 秒采集一次数据 -c350 采集 350 次,即为采集十分钟的数据。 -f 生成的数据文件名中包含文件创建的时间 -m 生成的数据文件的存放目录 这样就会生成一个 nmon 文件,并每十秒更新一次,直到分钟后。 生成的文件名如:_090824_1306nmon,””是这台主机的主机名, nmon -h 查看更多帮助信息。 4、把生成 nmon 工具,导出到 windows 5、用 office 运行分析工具 6、生成一个 xlsx 文件

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

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

相关文章

Kaspa是潜力金吗?那么如何获取,以bitget钱包为例

$KAS 这个币比较小众,华语区知道的不多,目前挖这个币的矿工也不多,但是大家都有一个默契,就是尽量不要宣传,先建设生态,自私的心理就是:自己先多挖些币。 简单介绍一下 #KASPA 这个项目&#x…

[算法][BFS][leetcode]994. 腐烂的橘子

题目地址 https://leetcode.cn/problems/rotting-oranges/description/ 错误解法 class Solution {public int orangesRotting(int[][] grid) {//层序遍历int ans 0;for (int i 0;i<grid.length;i) {for(int j 0;j<grid[0].length;j){boolean flag false;if(grid[i][j…

【光线重塑技术】小姐姐,美得不可方物——lllyasviel/ic-light

在英伟达自18年宣布光追技术之后&#xff0c;RTX显卡也成了目前Steam游戏的常客。就连 AMD、Intel 和 Apple Silicon 都宣布要在GPU上支持光追算法。这次我要介绍的是huggingface上比较火的relight技术—— ic-light 介绍 IC-Light 是一个操纵图像照明的项目。 IC-Light &qu…

媒体宣发:多元宣发方式的方式有哪些

在信息爆炸的今天&#xff0c;媒体宣发被广泛地运用在各个领域&#xff0c;对于产品宣传、企业形象塑造等都起着至关重要的作用。多样化的媒体宣发方式越来越受到企业的重视&#xff0c;那么常见的媒体宣发方式有哪些呢&#xff1f; 首先&#xff0c;新闻发布是最传统也是最直…

3分钟,学会一个 Lambda 小知识之【流API】

之前给大家介绍的 Lambda 小知识还记得吗&#xff1f;今天再来给大家介绍&#xff0c; 流API 的相关知识要点。 流API Stream是Java8中处理集合的关键抽象概念&#xff0c;它可以指定你对集合的&#xff0c;可以执行查找、过滤和映射等数据操作。 Stream 使用一种类似用 SQ…

使用sqlmodel实现唯一性校验2,插入之前检查是否已存在

虽然之前添加唯一性校验的方法能够解决数据唯一的问题&#xff0c;但是如果忘了处理异常&#xff0c;则可能会导致程序崩溃。 在此基础上&#xff0c;我们可以在插入数据之前检查该数据是否已存在。 原来的代码&#xff1a; from sqlmodel import Field, Session, SQLModel,…

【opencv】图像处理(一)

实验环境&#xff1a;anaconda、jupyter notebook 实验用到的包&#xff1a;numpy,matplotlib,opencv 一、opencv安装 最好使用python3.6&#xff08;我之前用的3.9安装opencv3.4.1.15会失败&#xff09; conda create -n cv python3.6安装opencv3.4.1.15&#xff08;3.4.2版…

DS高阶:B树系列

一、常见的搜索结构 1、顺序查找 时间复杂度&#xff1a;O(N) 2、二分查找 时间复杂度&#xff1a;O(logN) 要求&#xff1a;&#xff08;1&#xff09;有序 &#xff08;2&#xff09;支持下标的随机访问 3、二叉搜索树&#xff08;BS树&#xff09; 时间复杂…

【Linux】文件描述符和重定向

目录 一、回顾C文件 二、系统文件I/O 2.1 系统调用 open 2.2 标志位传参 2.3 系统调用 write 2.4 文件描述符fd 2.5 struct file 2.6 fd的分配规则 2.7 重定向 2.7.1 基本原理&#xff1a; 2.7.2 系统调用 dup2 2.8 标准错误 一、回顾C文件 文件 内容 属性 对…

leetcode刷题:买卖股票的最佳时机

题目 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大…

文件操作IO网络编程网络原理

​ 文件操作—IO 文件在计算机中可以代表很多东西 在操作系统中, 文件主要是指硬盘文件 硬盘主要分为机械硬盘和固态硬盘。机械硬盘通过磁头在旋转的磁盘上读取数据&#xff0c;适合顺序读取。而固态硬盘则使用闪存芯片来存储数据&#xff0c;没有机械部件&#xff0c;因此读…

省公派访学|社科老师赴世界名校牛津大学开展研究

F老师已获某省公派出国访学半年的资助&#xff0c;希望落实的学校尽量知名。但因为F老师只是硕士毕业而无博士学位&#xff0c;专业方向又是社科类&#xff0c;所以申请到世界知名高校有一定难度。经过努力&#xff0c;最终我们获得了世界顶尖高校-英国牛津大学的访问学者邀请函…

html5的一些新特性

最近总是碰到html5特性这种问题,虽然简单,但是也是自己平时不关注的东西,趁今天时间充裕,那就来总结一下吧 HTML5新特性包括新增了部分标签、表单元素增强、支持视频和音频、支持canvas绘图、提供web存储、提供地理定位功能、提供web workers机制、提供web socket协议、提供CS…

《intel开发手册卷3》读书笔记1

1、CPU工作模式 1&#xff09;实模式&#xff1a;8086的寄存器只有16位&#xff0c;我们也习惯于称8086的工作模式为16位模式。后续的CPU为了保持兼容性&#xff0c;在芯片上了电以后&#xff0c;还必须运行于16位模式之下。这种模式还有个正式的名字叫做实模式。在实模式下&am…

【游戏引擎】unity

目录 Unity入门教程&#xff1a;从零到英雄的旅程前言第一步&#xff1a;下载和安装Unity第二步&#xff1a;创建你的第一个Unity项目第三步&#xff1a;熟悉Unity界面第四步&#xff1a;创建一个简单的游戏对象第五步&#xff1a;编写脚本赋予游戏对象生命第六步&#xff1a;运…

探索车路云深度融合的优化与实践

项目背景与业务场景 目前&#xff0c;我国车联网行业处于与 5G 技术的深度融合时期。随着汽车从传统交通工具向着智能化、网联化和电动化方向演进&#xff0c;车联网成为 5G 交通和汽车领域跨界融合最具潜力的应用&#xff0c;已经成为我国战略性新兴产业的重要发展方向。通过…

Linux perf:系统性能监控和分析工具

1. 写在前面 Linux perf 是 Linux 2.6 后内置于内核源码树中的性能剖析&#xff08;profiling&#xff09;工具,它基于事件采样&#xff0c;以性能事件为基础&#xff0c;针对 CPU 相关性能指标与操作系统相关性能指标进行性能剖析&#xff0c;可用于性能瓶颈查找与热点代码的…

保研机试之【x86/x86-64体系结构中的寄存器】

先来看一下这六个选项的功能&#xff1a; 举一个例子&#xff1a; 对于CR2寄存器和中断向量表&#xff1a; 也就是先通过CR2寄存器找到引发错误的虚拟地址&#xff0c;然后操作系统分析错误原因&#xff0c;通过IDTR寄存器找到IDT&#xff08;中断向量表&#xff09;&#xff0…

栈与递归的实现

1. 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈顶&#xff0c;另一端称为栈底。 栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则&#x…

光纤VS紫外:如何选择最适合您生产线的激光打标机?

光纤激光打标机和紫外激光打标机在制造业中都有其独特的应用&#xff0c;但两者在原理、特点和应用范围上存在一些差异。 光纤激光打标机是一种采用光纤输出激光&#xff0c;并通过高速扫描振镜系统实现打标功能的新一代激光打标机系统。它电光转换效率高&#xff0c;达到30%以…