2021热乎的字节跳动软件测试工程师面试题及答案分享
开篇
相信大家都有这样一个忧虑就是面试,不管我们要找什么工作,面试都会是必不可少的,下面是整理出来的面试题和我的一些见解觉得不对的在评论区留言!
1、什么是兼容性测试?兼容性测试侧重哪些方面?
参考答案:
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是 Clean OS 下做测试,而兼容测试多是在 Clean OS 的环境下做的。
2、我现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
参考答案:
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗 CPU 资源的服务;
4、如果是 C/S 或者 B/S 结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对 CPU/内存的访问情况。
3、测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta 测试的策略)
4、正交表测试用例设计方法的特点是什么?
参考答案:
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
5、描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
参考答案:
就是 Bugzilla 的状态转换图。
6、你觉得 bugzilla 在使用的过程中,有什么问题?
参考答案:
界面不稳定;
根据需要配置它的不同的部分,过程很烦琐。
流程控制上,安全性不好界定,很容易对他人的 Bug 进行误操作;
没有综合的评分指标,不好确认修复的优先级别。
7、描述测试用例设计的完整过程?
参考答案:
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
如图:
8、单元测试的策略有哪些?
参考答案:
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
9、LoadRunner 分哪三部分?
参考答案:
用户动作设计;
场景设计;
测试数据分析;
10、LoadRunner 进行测试的流程?
参考答案:
1、 制定测试方案
2、 创建虚拟用户脚本(开发测试脚本)
3、 设计测试场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
11、什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?
参考答案:
在同一时间点,支持多个不同的操作。
LoadRunner 中提供 IP 伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。
集合点失败,则集合点的才操作就会取消,测试就不能进行。
12、使用QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询 情况,如何操作?
参考答案:
分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC 来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。
13、QTP 中的 Action 有什么作用?有几种?
参考答案:
Action 的作用
1、用 Action 可以对步骤集进行分组
2、步骤重组,然后被整体调用
3、拥有自己的 sheet
4、组合有相同需求的步骤,整体操作
5、具有独立的对象仓库
Action 的种类
1、可复用 Action
2、不可复用 Action
3、外 部 Action
14、TestDirector 有些什么功能,如何对软件测试过程进行管理?
参考答案:
需求管理
1、定义测试范围
2、定义需求树
3、描述需求树的功能点
测试计划
1、定义测试目标和测试策略。
2、分解应用程序,建立测试计划树。
3、确定每个功能点的测试方法。
4、将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
5、描述手工测试的测试步骤
6、指明需要进行自动测试的功能点
测试执行
1、定义测试集合。
2、为每个测试人员制定测试任务和测试日程安排。
3、运行自动测试。
缺陷跟踪
1、记录缺陷
2、查看新增缺陷,并确定哪些是需要修正的
3、相关技术人员修改缺陷 n 回归测试
4、分析缺陷统计图表,分析应用程序的开发质量。
15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的 区别与联系(如功能测试、性能测试……)?
参考答案
1、Compatibility Testing(兼容性测试),也称“Configurationtesting(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。
2、Functional testing (功能测试),也称为 behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
3、Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。
16、软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷 (Bug)记录?
参考答案:5C 标准
17、Beta 测试与 Alpha 测试有什么区别?
参考答案
1、Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
2、Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
18、软件的评审一般由哪些人参加?其目的是什么?
参考答案:
在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段
19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
参考答案:
测试需求分析发现需求文档不完善或者不准确,应该立即和相关人员进行协调交流。
20、阶段评审与项目评审有什么区别?
参考答案:
阶段评审对项目各阶段评审:对阶段成果和工作
项目评审对项目总体评审:对工作和产品
21、阐述工作版本的定义?
参考答案:
构 造 号 : BUILD
22、什么是桩模块?什么是驱动模块?
参考答案:
桩模块:被测模块调用模块
驱动模块:调用被测模块
23、什么是扇入?什么是扇出?
参考答案:
扇入:被调次数
扇出:调其它模块数目
24、你认为做好测试计划工作的关键是什么?
参考答案:
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键:目的,管理,规范
1、明确测试的目标,增强测试计划的实用性,编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确。
2、坚持“5W”规则,明确内容与过程“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3、采用评审和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4、分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
25、你认为做好测试用例工作的关键是什么?
参考答案:
需求和设计文档的理解程度,对系统的熟悉程度
26、简述一下缺陷的生命周期?
参考答案:提交->确认->分配->修复->验证->关闭
27、软件的安全性应从哪几个方面去测试?
参考答案:
1、用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
2、加 密 机 制
3、安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
4、数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
5、防病毒系统
28、软件配置管理工作开展的情况和认识?
参考答案:
软件配置管理贯穿于软件开发、测试活动的始终,覆盖了开发、测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
软件测试配置管理包括 4 个最基本的活动:
配置项标识
配置项控制
配置项状态报告
配置审计
软件配置管理通常借助工具来辅助,主要有 MS SourceSafe、RationalClearCase 等
29、你觉得软件测试通过的标准应该是什么样的?
参考答案:
缺陷密度值达到客户的要求
30、引入测试管理的含义?
参考答案:
风险分析,进度控制、角色分配、质量控制
最后
技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。
金九银十面试季,跳槽季,整理面试题已经成了我多年的习惯!下面有我收集和整理的学习资料,整体是围绕着【软件测试】来进行整理的,主体内容包含:Python自动化学习详细资料、全套面试题等知识内容。私❤️即可安排
2021热乎的字节跳动软件测试工程师面试题及答案分享相关推荐
- 面试字节跳动前端工程师的2点经验分享,建议收藏!
首先我来辟个谣: 随便打开一个招聘网站,你会发现前端工程师的岗位需求依旧庞大,大厂人才奇缺,就业薪资起点高,无行业限制. (数据来源:职友集) 前端开发的行业大环境 行业升级,如果说以前只会HTML. ...
- 软件测试工程师面试题及答案
软件测试工程师试题 一.填空 1.软件测试阶段的基本任务应当是根据软件开发各阶段的 和程序的 ,精心设计一批"高产"的测试用例,利用这些测试用例 ,找出软件中潜藏的各种错误和 ...
- 软件测试工程师笔试题带答案(二)
如何对web系统进行全面测试? 一. 功能测试 1.链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段.链接测试可分为三个方面.首先,测试所有链 ...
- 软件测试工程师笔试题及答案(二)
测试人员考试试卷二(考试时间90分钟,满分100分) 一. 判断题(每题2分,正确的"√",错误的"╳") 1 . 好的测试员不懈追求完美.(×) 2. 测试程 ...
- 软件测试工程师笔试题及答案(四)
测试人员考试试卷二(考试时间90分钟,满分100分) 一. 判断题(每题2分,正确的"√",错误的"╳") 1 . 好的测试员不懈追求完美.(×) 2. 测试程 ...
- 软件测试工程师笔试题以及答案汇总
目录 1.判断题 2.选择题 3.填空题 4.简答题 5.用例设计 6.网络 1.判断题 1.软件测试的目的是尽可能多的找出软件的缺陷.(Y) 2.Beta测试是验收测试的一种.(Y) 3.验收测试是 ...
- 软件测试工程师笔试题带答案
软件测试题目 一. 判断题 (每题2分,20) 1.软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作. (初级) ( × ) 2.发现错 ...
- 2021.4.11 字节跳动实习笔试题---情报解密
2021.4.11 字节跳动实习笔试题-情报解密 题目内容 题目内容: 给你一个字符串,该字符串中有数字,字母(字母只有大写字母)以及一些其他的字符(例如:%,.等),如果首字母为字母或者数字的话,就 ...
- 深夜爆肝JS好文!2021字节跳动春招面试题深度讲解
剑指offer -- 2021字节跳动春招面试题深度讲解(JS篇) 1. 深拷贝与浅拷贝 2. 原型与原型链 3. this 指向问题 4. new 关键字做了什么? 5. 原生JS如何实现事件委托? ...
最新文章
- OSPF中第一类外部路由和第二类外部路由的区别
- Oracle分区表 (二)
- 第二季4:HI_S32 SAMPLE_VENC_1080P_CLASSIC(HI_VOID)函数的分析
- MVVM 下 ContextMenu的命令绑定
- Android学习之PhotoView在Eclipse上的使用
- 《人月神话》阅读笔记03
- 开源SPL,ORM的终结者?
- 2018-04-22jenkins+maven+svn环境搭建学习心得
- Python_爬虫_urllib解析库
- c#下实现GUI编程_写给初学者的C#教程[专题1S7通信](1)
- java编程用什么文本编辑器_编程必备,程序员应该都知道的7款文本编辑器
- 软件测试计划与测试方案
- mov视频怎么转换成mp4格式?
- 7月18日云栖精选夜读丨蚂蚁金服的“野心”:要做新一代世界级金融科技供应商...
- npm安装依赖包报ERR问题汇总及处理
- Qt启动进程ping网址
- 专享 IP 与共享 IP:差异、优势及其影响
- 自动生成企业画像(标签)
- 音乐歌单Android,仿网易云音乐歌单界面 Header滑动效果
- Dynamics 365 安装Report Authoring Extension时,提示重新启动的问题
热门文章
- 简单理解高内聚低耦合-高内聚低耦合通俗理解是什么?
- what is IMHO?
- 要上市的“麻辣烫一哥“杨国福,难过食安关
- 用python写pdf_python写个合并pdf的小工具
- Unicode 编码范围
- 丽笙酒店集团2020年度在亚太地区新签署84间酒店
- 游戏-CCAction
- python threading setdaemon_threading.Thread的setDaemon()方法
- windows启动和关闭nginx
- (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)