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

news2024/11/27 4:25:41

一、测试理论

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.coloradmin.cn/o/1671227.html

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

相关文章

JDK 1.8 HashMap扩容机制

我们首先来看利用无参构造函数创建HashMap如何扩容。首先创建一个无参构造出来的hashmap HashMap hashMap new HashMap();该构造函数源码如下: public HashMap() {this.loadFactor DEFAULT_LOAD_FACTOR; // all other fields defaulted}此时,该构造函…

Shiro反序列化漏洞-Shiro550流程分析

Apache Shiro是一个开源框架,这个漏洞在2016就被披露了。Shiro框架使用广泛,漏洞影响范围广。 环境搭建 这里我使用的是IDEA 2023.3.5 环境下载 这里就不配图片了,具体操作可以搜索引擎 tomcat 8.5.76 下载地址: https://arc…

什么是抽样调查

抽样调查是政府统计工作和市场调查中普遍采用的方法,我国《统计法》中明确规定:搜集、整理统计资料,应当以周期性普查为基础,以经常性抽样调查为主体,综合运用全面调查、重点调查等方法,并充分利用行政记录…

ECMAScript 2024 新特性

ECMAScript 2024 新特性 ECMAScript 2024, the 15th edition, added facilities for resizing and transferring ArrayBuffers and SharedArrayBuffers; added a new RegExp /v flag for creating RegExps with more advanced features for working with sets of strings; and …

Peter算法小课堂—序列切割

讲序列切割之前,先来个铺垫 高手集训 题目描述: 课程表里有连续的n天可以供你选择,每天都有专题课程。其中第i天的专题趣味程度为h[i]。假设你选择了其中连续的若干天,从第l天到第r天。那么, 训练效果 h[l]*1 h[…

WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源

产品概述 WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和可编程定电流控制部分&a…

神经网络复习--数学相关基础知识

文章目录 矩阵范数卷积激活函数信息熵 矩阵 标量:一个标量就是一个单独的数向量:一个向量是一列数。这些数是有序排列的。通过次序中的索引,我们可以确定每个单独的数矩阵:矩阵是一个二维数组,其中的每个元素被两个索…

2023年上半年信息系统项目管理师——综合知识真题与答案解释(4)

2023年上半年信息系统项目管理师 ——综合知识真题与答案解释(4) 61、文档的规范化管理主要体现在()方面。 ①文档书写规范 ②文档质量级别 ③图表编号规则 ④文档目录编写标准 ⑤文档管理制度 ⑥文档安全标准 A.①②③④ B.②③…

STM32使用ESP01S连接阿里云物联网平台

一、ESP01S烧录MQTT固件准备 首先准备好烧录工具,可以从官网上进行下载。 MQTT固件官网网址:AT固件汇总 | 安信可科技 (ai-thinker.com) 进去后如下图界面,向下翻找找到MQTT固件(1471)下载固件即可。 烧录工具光网地…

信号和槽基本概念

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、概述 二、信号的本质 三、槽的本质 一、概述 在 Qt 中,用户和控件的每次交互过程称…

服务器端口怎么开,服务器端口的开放通常涉及的五个关键步骤

服务器端口的开放通常涉及五个关键步骤,包括修改防火墙规则、配置服务器软件以及验证端口是否开放。下面将详细介绍每个步骤。 一、您需要确定需要开放的端口。常见的服务器应用程序端口包括HTTP(80端口)、HTTPS(443端口&#xff…

掌握这个Jenkins插件,离测试开发又近一步!

Jenkins Pipeline是一种可编程的、可扩展的持续交付管道,允许您使用脚本来定义整个软件交付过程。 以下是使用Jenkins Pipeline创建和配置流水线的基本步骤。 Part 01. 创建一个Pipeline Job 在Jenkins中创建一个新的"Pipeline"类型的Job。 以下是在J…

李开复引领的零一万物开源了Yi-1.5模型,推出了6B、9B、34B三个不同规模的版本

零一万物,由李开复博士引领的AI 2.0公司,近期开源了其备受瞩目的Yi-1.5模型,这一举措再次彰显了公司在人工智能领域的创新实力与开放精神。Yi-1.5模型作为零一万物的重要技术成果,不仅代表了公司在大模型技术研发上的新高度&#…

下载npm I就包错解决方案

npm i xxxx -S --legacy-peer-deps 如果包错就执行以上命令

聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab)

聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab) 目录 聚类分析 | 基于GA遗传算法优化kmeans聚类(Matlab)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GA-kmeans聚类算法,通过GA遗传算法优化kmeans聚类&…

权力集中,效率提升,中心化模式的优势与挑战

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 🚀 转载自热榜文章🔥:探索设计模式的魅力:权力集中…

电子杂志制作攻略,轻松打造高质量数字出版物

随着数字科技的飞速发展,电子杂志作为一种新型的数字出版物,已经越来越受到人们的青睐。它不仅具有丰富的内容、多样的形式,还具有便捷的传播和阅读方式。如今,电子杂志已经逐渐成为企业、媒体和个人展示自身品牌、传播信息的重要…

AI 图像生成-环境配置

一、python环境安装 Windows安装Python(图解) 二、CUDA安装 CUDA安装教程(超详细)-CSDN博客 三、Git安装 git安装教程(详细版本)-CSDN博客 四、启动器安装 这里安装的是秋叶aaaki的安装包 【AI绘画…

自媒体从0-1起号全流程落地指南。(含工具)

下面开始进入主题: 一、持续涨粉的技巧 持续账号的账号通常是具备以下的几种特征 ①利他性:利他性的核心在于你向用户提供了什么? 可以透过逆向思维来体现,首先要明确目标人群及其需求,然后根据这些需求提供必要的…

日本站群服务器的优点以及适合该服务器的业务类型?

日本站群服务器的优点以及适合该服务器的业务类型? 日本站群服务器是指位于日本地区的多个网站共享同一台服务器的架构。这种服务器架构有着诸多优点,使其成为许多企业和网站管理员的首选。以下是日本站群服务器的优点以及适合该服务器的业务类型的分析&#xff1…