软件测试工程师常见面试题(经典篇),标准答案来了
经常有人问我要软件测试的面试题,2022年小编花了十多天的时间整理的软件测试面试真题。各位小伙伴记好了,也可以把内容分享给身边有需要的朋友哦。
1 、自我介绍
之所以让我们自我介绍,其实是面试官想找一些时间来看简历,所以自我介绍不用太长的时间,1-2分钟即可。
自我介绍一般按以下方式进行介绍:
您好!我是XX,我是XX年毕业的,毕业的学校是XXX,专业是XXX。
毕业后我来到XX城市工作。
第一份工作是在XX公司,主要做的是XX项目的测试。
第二份工作是在XX公司,主要做的是XX项目的测试
如果会接口、自动化或性能可以强调一下我们会这方面的测试。如果仅仅是功能测试就无所谓说不说了,主要是做功能测试了。
2、测试的流程
我们的测试流程主要包括以下6个步骤:
第一步:需求分析
第二步:测试计划
第三步:测试安案
第四步:测试用例
第五步:测试执行
第六步:测试报告
一般不更对每个步骤进行细分,如果面试官不做声,你就拆分出每个步骤需要完成的工作即可。一般面试官有兴趣会主动问的。
3、请简要介绍一下移动应用及其服务端的测试点?
移动应用主要有权限、安装卸载、UI、功能、性能、中断、兼容性、安全性、回归、升级更新、用户体验。
服务端有接口测试、性能测试、安全测试。
4、什么是“测试案例”?
测试案例是一份文档,它描述了一个输入、反应、或者是与其相应的预期的响应,以便来判断应用软件的工作是否正常,测试案例应当包括测试标识,测试案例的名称、目标、测试条件/设置、输入、数据要求、步骤、以及预期的结果
▲注:开发一个应用软件的测试案例的过程,需要全面、深入地等考虑该软件的操作,所有有助于发现在其需求或设计里面的问题。因此,如果有可能,在开发周期中应当尽早准备测试案例。
5、怎么编写案例?
案例的编写与测试阶段的定义有很大的关系,系统测试和 unit 测试的案例可能不同,总体而言测试案例根据系统的需要而定。
6、如何录制测试脚本
1)新建一个脚本(Web/HTML协议)
2)点击录制按钮,在弹出的对话框的URL中输入"about:blank"。
3)在打开的浏览器中进行正常操作流程后,结束录制。
4)调试脚本并保存。可能要注意到字符集的关联。
5)设置测试场景
6)针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标
7、测试执行的问题
● 测试执行的问题
1)自动化测试没有有效的利用,使得手工测试太多。
2)测试结果的捕获没有系统性,而且没有查看或调查
3)缺陷报告必须用手工加入缺陷跟踪系统
● 错误分类
1、测试用例失败
● 正常错误
2、脚本命令失败
当测试过程不能不能执行录制过程中的某个功能时,回产生这种错误,如鼠标单击按钮或选择菜单项等。它也能指示是缺陷还是测试过程的设计问题。
3、致命错误
导致测试停止,这种情况最好重起Windows。
● 具体步骤:
1)建立测试系统
2)准备测试过程
3)运行初始化过程
4)执行测试
5)从终止的测试恢复
6)验证预期结果
7)调查突发结果
8)记录缺陷日记
8、比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系
- 黑盒测试:把测试对象当成——一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
- 白盒测试:把测试对象当成——一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
- 单元测试:白盒测试的一种, 对软件设计中的单元模块进行测试。
- 集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。
- 系统测试:在所有都考虑的情况下,对系统进行测试。
- 验收测试:第三方进行的确认软件满足需求的测试。
9、App 测试与 Web 测试有什么区别?
相同点:
- 设计测试用例均依据等价类、边界值等方法,测试原理相同。
- 大多数都采用黑盒测试方法来验证业务功能。
- 需要检查界面布局、风格和按钮是否美观、统一等(UI 测试)。
- 测试页面载入和翻页的速度、登录时长是否溢出等问题(性能测试)。
- 测试应用系统的稳定性。
不同点:
- 手机作为通信工具,通信等一些行为会对 App 产生(中断测试)影响。
- 手机用户对 App 产品的安装卸载操作;从上一版本/上两个版本直接升级到最新版本(安装卸载测试)。
- Web 自动化测试使用的工具较常用的是 Selenium,而 App 自动化测试还要区别是Android 手机还是 iOS 手机,比较常用的工具是 Appium、UiAutomator、UIAutomation。
10、软件接口是什么?
在做数据查询时,建议用 get 方式;而在做数据添加、修改或删除时,建议用 post 方式。
11、常见的 post 提交数据方式? ?
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
12、测试技术和测试工具有什么区别
测试技术:是一个确保应用程序系统或单元的某些方面正常工作的过程,可能只有很少的技术,但有很多工具。
测试工具:是执行测试过程的工具。工具是测试人员的资源,但它本身不足以进行测试
13、如果测试时间很紧张,应该如何开展测试
如果测试时间很紧张的话,那么是不可能把所有的功能都测试到的,只能通过一些方法或策略来尽量提高软件质量:
1.优先测试核心功能、基础功能。
2.安排好测试计划,尽早测试。
3.哪些重要功能模块是最容易出错的
4.基于经验和猜测测试很重要
5.优化和剪裁测试流程
14、QTP中的Action有什么作用?有几种?
1.Action的作用
- 心用Action可以对步骤集进行分组
- 心步骤重组, 然后被整体调用
- 呜拥有自 己的sheet
- 公组合有相同需求的步骤, 整体操作
- 具有独 立的对象仓库
2.Action的种类
- 必可复用 Action
- 必不可复用 Action
- 必外部 Action
15、如何理解压力、负载、性能测试测试?
性能测试是-一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是-一种很平常的测试。增大访问系统的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试系统在- -种或者集中极限条件下的相应能力,是性能测试的重要部分。100 个用户对系统进行连续半个小时的访问可以看作压力测试,那么连续访问8个小时就可以认为负载测试,1000 个用户连续访问系统1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。
16、测试中的“杀虫剂怪事”是指什么?
“杀虫剂怪事”- -词由BorisBeizer 在其编著的《软件测试技术》第二版中提出。用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成思维定势。
为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对程序的不同部分进行测试,以发现更多的缺陷。也可以引用新人来测试软件,刚刚进来的新手往往能发现- - 些意想不到的问题。
17、写出bug报告流转的步骤,每步的责任人及主要完成的工作。
参考答案: (要结合自己实际的工作经验进行回答,不同公司略有区别)
测试人员提交新的Bug入库,错误状态为New。
高级测试员/测试经理验证错误,如果确认是错误,分配给开发组。设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。
开发经理分配bug至对应的模块开发人员。
开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。
对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。
18、你以前工作时的测试流程是什么?
(灵活回答)
公司对测试流程没有规定如何做,但每个测试人员都有自己的一套测试流程。
我说下我1年来不断改正(自己总结,吸取同行的方法)后的流程吧。需求评审(有开发人员,产品经理,测试人员,项目经理) - >需求确定(出一-份 确定的需求文档) - >开发设计文档(开发人员在开始写代码前就能输出设计文档) - >想好测试策略,写出测试用例- >发给开发人员和测试经理看看(非 正式的评审用例)->接到测试版本->执行测试用例(中间可能会补充用例)->提交bug(有些bug需要开发人员的确定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进TD)- >开发人员修改(可以在测试过程中快速的修改) - >回归测试(可能又会发现新问题,再按流程开始跑)。
19、如果让你设计微信发语音功能,你会设计出哪些用例来?
**主要测试以前内容: **
1.语音的时长,至少1秒
语音最长时间,不超过60秒,如果超过60秒会自动停止
微信是否有权限打开话筒
微信如何识别是语音内容的
语音是如何传输到服务器的
在传输过程中是否对语音文件进行过压缩
语音传到服务器后,是如何存储的
语音文件存储到服务器是如何命名的
传输语音是什么协议传输的
传输一段语音需要多长时间
语音是否可以撤消
语音存储时间
语音是如何从服务器传输到对方的
到客户端是否如何解析语音内容的
语音在手机端微信是否会进行缓存
79.你觉得自己和同事比有哪些优势?
这个主要是说优点,一般介绍的优势可以让自己比别人更好的信任这份工作,一般可以说以下优势:
1.我的学习能力比别人强一些
2.我的沟通能力比别人强一些
3.我喜欢团队合作来解决问题
4.遇到困难我会想很多的办法去解决
等等,还有其它的可以说,但一定是可以让这份工作可以做的比别人更好
20、测试工程师的职责
测试经理:
1、制定测试计划。
2、确保测试过程正常进行。.
测试工程师
1、编写测试用例
2、搭建测试环境
3、执行测试
版权归原作者 程序员白楠楠 所有, 如有侵权,请联系我们删除。