软件测试必备必背面试题(含详细答案)
公司测试的流程是什么需求评审分析需求编写测试用例测试用例评审执行测试用例编写BUG单提交BUG回归测试BUG追踪与管理总结编写测试报告软件的概念是什么计算机系统中与硬件相互依存的一部分它是包括程序、数据以及文档的完整集合。你对软件测试的定义是什么是软件质量保证的一种手段有计划有组织的软件测试不是万能的不可能发现全部缺陷具有局限性它的目的是验证被测对象是否实现用户需求弄清实际结果和预期结果的差异。你怎么定义是不是bug软件没有实现产品说明书所描述的功能软件实现了产品说明书描述不应有的功能软件执行了产品说明书没有的操作软件没有实现产品说明书没描述但应该实现的功能用户体验相关从软件测试员的角度看来看软件难以理解。不易运用、运行缓慢或者最终用户认为不对的Bug的类型有哪些Bug由代码编写错误导致的功能问题Defect缺实现与需求不一致Fault故障由于环境系统问题引起运行失败Error错误语法错误逻辑错误不易发现软件的bug级别有几种微小的一些小问题错字文字排版整齐等一般的不太严重的问题功能模块部分丧失提示信息不准确等严重的严重错误功能模块和特性没有实现主要功能部分丧失等致命的造成系统崩溃数据丢失等死机软件的bug状态有哪些激活状态-----问题没解决测试人员新报告的缺陷或者验证后缺陷仍然存在已修正状态------开发人员针对缺陷修正软件后已解决问题或已通过单元测试关闭状态------测试人员经过验证后确认缺陷不存在之后的状态遗留状态------此次版本升级不修改遗留到下一个版本修改非错问题------就是此问题不是一个bug你对软件质量是怎么定义的软件质量就是软件与明确和隐含的定义的需求相一致的程度软件质量的特性有哪些功能性、可靠性、效率、易用性、可维护、可移植软件的生命周期需求分析--------可行性分析-------概要设计-------详细设计------编码实现--------调试和测试---------软件验收和应用-------维护升级-------废弃软件测试的目的测试的目的不仅仅是为了发现软件缺陷和错误而且也是对软件质量进行度量和评估以提高软件的质量软件测试的原则测试证明软件存在缺陷不可能执行穷尽测试基于风险的测试时必须的测试应该尽早启动尽早接入缺陷存在集群现象82原则杀虫剂悖论不同的测试活动依赖于不同的测试背景不存在缺陷的谬论基于上下文不断调整测试策略方式方法测试分为哪几个阶段单元测试集成测试系统测试验收测试如何做好测试计划5W原则What 明确测试什么Why 明确测试目标When 明确项目开始时间结束时间How 明确测试方案Where 明确资料的位置测试执行的步骤是怎么样的部署测试环境-----对测试用例进行分类-----执行测试用例------记录测试结果对缺陷进行分级分类--------反馈缺陷并跟踪直至缺陷关闭测试用例是怎么设计的对需求进行模块化分解使用科学有效的设计方法测试计划包含哪些内容概述----测试环境-----测试规划----测试策略---测试进度安排-----测试风险分析-----风险规避测试方案包含哪些内容方案版本及时间编写目的编写人员测试用例测试报告包含哪些内容测试背景说明测试范围说明测试环境说明测试方法说明测试结果结论质量或风险评估BS和CS架构有什么区别B/S架构是Brower/Sever的缩写 浏览器服务器架构 例如慕课网站C/S架构是Client/Sever的缩写 客户端服务器架构 例如杀毒软件软件测试的分类按开发阶段划分单元测试集成测试系统测试验收测试按照测试技术划分白盒测试灰盒测试黑盒测试Bug的生命周期发现bug---提交bug---指派bug---研发确认bug---研发修复bug---回归验证bug----是否通过验证----关闭bug你所熟悉的软件测试类型都有哪些请试着分别比较这些不同的测试类型的区别和联系。测试类型有功能测试、性能测试、界面测试功能测试在测试工作中占有比例最大功能测试也叫黑盒测试。性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试两者可以结合进行。界面测试界面是软件与用户交互的最直接的层界面的好坏决定用户对软件的第一印象。区别在于功能测试关注产品的所有功能要考虑到每个细节功能每个可能存在的功能问题。性能测试主要关注产品整体的多用户并发下的稳定性和健壮性。界面测试则关注与用户体验相关内容用户使用该产品的时候是否已用是否易懂是否规范(用户无意输入无效的数据当然考虑到体验性不能太粗鲁的弹出警告)。做某个性能测试的时候首先它可能是个功能点首先要保证她的功能是没有问题的然后再考虑性能的问题。你们怎么确保用例覆盖率确保不重复利用判定表法的思想先穷举再挑代表。然后案例评审时候产品经理开发组长测试组长还有对应模块的开发负责人也会把关可以咨询他们的意见确保案例覆盖完全又没有多余的案例数据库查找两个表select 列1列2 from 表1,表2 where 表1.列表2.列左联结和右联结的区别左联结保留左边表所有数据右边表只显示符合匹配条件的数据没匹配的以空值表示右联结保留右表的数据左边表只显示符合匹配条件的数据没有匹配的以空值表示Linux查看文件用什么命令查看文件内容的命令有 more less head tail catLinux查看进程用什么命令查看进程ps -ef | grep 进程号Linux查看日志用什么命令主要查看什么内容查看日志文件常用:less、view主要查看程序运行的记录比如支付失败后台就有报错信息打印到.log日志文件中就可以通过分析日志信息来初步定为问题。补充同时也去查询数据库分析订单数据查看支付状态等等如何查找a.log日志文件的error字符串第一种方式建议说第一种方式cat a.log | grep error;第二种方式1 less a.log;2 /error;Linux如何搭建测试环境1 通过winscp上传tomcatMySQL安装包JDKJava开发环境工具包到linux下2 利用tar -zxvf解压缩包命令对jdk,tomcatmysql进行解包、安装再配置jdk环境变量。3 把war包web程序放到tomcate指定目录webapps下再启动服务器即可。输入startup.sh的路径直接回车即可运行视图是什么视图记录了一条SQL语句当查询时才有数据返回。表就是一张具体的表。视图只能查询数据表可以增删改查。Tcp/ip协议有几层端口在哪层Ip协议在哪层网络接口层负责接收和发送物理帧网络层:负责相邻节点之间的通信传输层负责起点到终点的通信应用层提供诸如文件传输、电子邮件等应用程序端口在传输层Ip协议在网络层http网页返回码代表什么意思101 请求者已要求服务器切换协议服务器已确认并准备切换200 服务器已成功处理了请求303 请求者应当对不同的位置使用单独的get请求来检索响应时服务器返回此代码307 服务器目前从不同位置的网页响应请求但请求者应当继续使用原有位置来响应以后的请求400 服务器不理解请求的语法401 次页要求授权403 服务器拒绝请求404 服务器找不到请求的网页405 禁用服务器中指定的方法500 服务器遇到错误无法完成请求503 服务器目前无法使用性能测试要关注哪些点硬件资源指标和系统指标资源指标CPU使用率、内存使用率、网络宽带系统指标并发用户数、在线用户数、平均响应时间、事务成功率、超时错误率Cookie和session的区别cookie数据存放在客户的浏览器上session数据放在服务器上cookie不是很安全别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用sessionsession会在一定时间内保存在服务器上当访问增多会比较占用你的服务器性能考虑到减轻服务器性能方面应当使用cookie单个cookie保存的数据不能超过4k很多浏览器都限制一个站点最多保存20个cookieBeta测试和alpha测试的区别Beta测试 是软件的多个用户在一个或多个用户的实际使用环境下进行的测试开发通常不在测试现场Alpha 测试 是由一个用户在开发环境下进行的测试也可以是公司内部的用户在模拟实际操作环境下进行的受控测试Get和post的区别1在客户端Get方式在通过URL提交数据数据在URL中可以看到POST方式数据放置在HTML HEADER内提交。2 GET方式提交的数据最多只能有1024字节而POST则没有此限制。3 安全性问题。正如在1中提到使用 Get 的时候参数会显示在地址栏上而 Post 不会。所以如果这些数据是中文数据而且是非敏感数据那么使用 get如果用户输入的数据不是中文字符而且包含敏感数据那么还是使用 post为好。4 安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说GET 请求一般不应产生副作用。从根本上讲其目标是当用户打开一个链接时她可以确信从自身的角度来看没有改变资源。比如新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻该操作仍然被认为是安全的和幂等的因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例读者对文章的注解应该通过 POST 请求实现因为在注解提交之后站点已经不同了当开发人员说不是bug时你如何应对开发人员说不是BUG有2种情况一是需求没有确定所以我可以这么做这个时候可以找来产品经理进行确认需不需要改动。3方商量确定好后再看要不要改。二是这种情况不可能发生所以不需要修改这个时候我可以先尽可能的说出是BUG的一句是什么?如果被用户发现或出了问题会有什么不良结果?程序员可能会给你很多理由你可以对他的解释进行反驳。如果还是不行那我可以给这个问题提出来跟开发经理和测试经理进行确认如果要修改就改如果不要修改就不改。其实有些真的不是BUG我也只是建议的方式写进测试文档中如果开发人员不修改也没有大问题。如果不是BUG的话一定要坚持自己的立场让问题得到最后的确认工作非常努力了还是没完成上级交代的任务怎么办要分析原因如果是能力不够的愿意要表示愿意且一直在提高能力希望领导谅解如果是因为领导安排的任务过多则要委婉的表达自己的能力有限不希望自己的能力影响项目的进度另外也请领导多给点提高效率的建议如果领导分配你的任务超出负荷领导高估了你的能力怎么办首先表达态度态度上愿意通过加班来完成还可以请求测试同事支援让组长协调。高估了能力能力可以在工作中通过自己的努力来达到领导的要求。总而言之基本的思路是态度要端正。不能直接拒绝任务。但也同时表达万一做不好还请领导包容。假设你是组长团队中有一个员工无法按时完成交付的任务你如何处理首先先检讨自己是否任务安排超过了这个员工的能力。如果没有超过首先表示关心身体和状态了解未及时完成任务的原因如果原因是客观原因则一起加班跟员工来完成任务。如果是态度原因则指出利害关系责令其通过加班来完成。如果因为你的错误导致工作发生问题你怎么办首先要表达在过去的工作中从未发生过类似事情因为自己工作态度还是很端正的。万一因为自己的错误导致工作发生问题首先应该把问题上报给领导争取把问题的影响降到最低程度。给你一个模块测试只有一个星期的时间你如何高效地完成在有限的时间里明确需求的情况下制定工作计划把每天任务细分先保证重要功能跟进修复情况及时验证bug。每天发工作日报汇报进度如果遇到风险及时汇报领导。如果给你一个没有需求的app测试项目你应该怎么测权限测试---安装、运行、卸载测试---UI测试---功能测试---性能测试---中断测试---兼容测试---安全测试---回归测试---升级更新测试---用户体验测试如果你和开发的意见产生分歧你怎么处理对事不对人首先尝试站在开发的角度接受对方的意见和建议同时控制好自己的情绪在对方情绪可控的情况下表达自己的意见如果你组长的用例写错了。但他认为是对的你怎么处理通常情况下领导看问题的角度会比我们更全面所以我首先得确保领导的用例是否真的有考虑不到的地方我不会坚持自己是对的但是在合理的情况下表达自己的观点你同时负责功能和性能你怎么做先测试功能保证功能的完成再做性能在提交bug后开发还没有改好时可以准备性能测试在工作时间很紧的情况下会主动加班感谢每一个认真阅读我文章的人作为一位过来人也是希望大家少走一些弯路如果你不想再体验一次学习时找不到资料没人解答问题坚持几天便放弃的感受的话在这里我给大家分享一些自动化测试的学习资源希望能给你前进的路上带来帮助。软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。

相关新闻

Leetcode 107 旋转链表

Leetcode 107 旋转链表

1 题目 61. 旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 …

2026/7/7 23:32:48 阅读更多 →
基于容器化的边缘计算网关应用部署实践:Python+MQTT

基于容器化的边缘计算网关应用部署实践:Python+MQTT

摘要: 传统的嵌入式开发面临交叉编译复杂、环境依赖难以管理等难题。利用容器化技术,我们可以将云原生的开发体验带入边缘侧。本文将以鲁邦通EG3110为硬件平台,演示如何构建一个Python数据处理容器,并通过MQTT与内置的 E2C Factor…

2026/7/7 18:46:15 阅读更多 →
计算机毕业设计springboot智慧乡村服务平台 基于Spring Boot框架的智慧乡村综合服务平台设计与实现 Spring Boot驱动的智慧乡村服务系统开发与应用

计算机毕业设计springboot智慧乡村服务平台 基于Spring Boot框架的智慧乡村综合服务平台设计与实现 Spring Boot驱动的智慧乡村服务系统开发与应用

计算机毕业设计springboot智慧乡村服务平台z7y9z (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。随着信息技术的飞速发展,乡村地区的数字化转型成为推动乡村振兴的重…

2026/7/3 18:55:10 阅读更多 →

最新新闻

Unity与Maya欧拉角实战:5个技巧解决旋转与万向节死锁

Unity与Maya欧拉角实战:5个技巧解决旋转与万向节死锁

1. 项目概述:为什么欧拉操作是游戏开发的“基本功”? 在游戏开发的世界里,尤其是在Unity和Maya这两个核心工具中,我们每天都在和三维空间打交道。角色的转身、摄像机的旋转、道具的摆动,这些看似简单的动作&#xff0c…

2026/7/9 22:15:13 阅读更多 →
FOC SVPWM 七段式与五段式对比:谐波分析实测,THD降低15%的关键配置

FOC SVPWM 七段式与五段式对比:谐波分析实测,THD降低15%的关键配置

FOC SVPWM 七段式与五段式对比:谐波分析实测与工程优化指南 引言 在永磁同步电机(PMSM)和直流无刷电机(BLDC)的高性能控制领域,空间矢量脉宽调制(SVPWM)技术一直是实现高效能量转换…

2026/7/9 22:15:13 阅读更多 →
Lua游戏AI性能优化:高效行为树架构设计与实现

Lua游戏AI性能优化:高效行为树架构设计与实现

1. 项目概述:为什么要在Lua里折腾行为树?如果你正在用Lua开发游戏,尤其是手游或者对性能有苛刻要求的项目,那么“AI卡顿”这个词大概率是你的噩梦。一个场景里几十上百个NPC,每个都带着一套复杂的决策逻辑,…

2026/7/9 22:15:13 阅读更多 →
Firefox开发环境部署指南:ESR配置、user.js固化与Selenium集成

Firefox开发环境部署指南:ESR配置、user.js固化与Selenium集成

1. 为什么现在还要专门写火狐浏览器安装教程?很多人看到这个标题第一反应是:“Firefox?现在还有人用吗?”——这恰恰是我要先说清楚的事。不是“还有没有人用”,而是“谁在用、为什么用、用得有多深”。我从2008年用Fi…

2026/7/9 22:15:13 阅读更多 →
Unity动态物体光照优化:Light Probes原理与实战配置指南

Unity动态物体光照优化:Light Probes原理与实战配置指南

1. 项目概述与核心价值 在Unity项目里,动态物体(比如玩家角色、NPC、可移动的载具)的光照处理一直是个让人头疼的问题。静态物体可以享受烘焙光照贴图带来的完美光影和极低运行时开销,但一旦物体动起来,烘焙的光照信息…

2026/7/9 22:11:12 阅读更多 →
Python 代码保护方案对比:PyArmor 8.4.4 加密 vs Cython 编译 vs Nuitka 打包

Python 代码保护方案对比:PyArmor 8.4.4 加密 vs Cython 编译 vs Nuitka 打包

Python商业级代码保护方案全景评测:PyArmor vs Cython vs Nuitka当Python代码需要作为商业产品分发时,如何有效保护知识产权成为开发者必须面对的挑战。不同于传统编译型语言,Python的字节码相对容易被反编译,这使得代码保护方案的…

2026/7/9 22:09:12 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻