对于很多软件测试新手来说,技术面试往往是整个面试体系里最让人头疼的部分,今天,我们就来盘点一下软件测试面试中,一些经典的问题和相应的答案,由于篇幅比较长,这里做成了上、下2篇稿件,方便大家复习使用。

下面,我们一起进入正题,来看看这些问题,你是否心中已有了答案~

问题1:你搭建过测试环境吗?

答:目前我主要负责的是前台测试环境这一块,如安装操作系统、浏览器、虚拟机等,后台环境一般是由另一组测试小伙伴在负责搭建。但是,我本人对于Web服务器、数据库服务器、其他服务软件的搭建也有一定了解。

问题2:你们和开发人员共用一套环境吗?

答:我们并未使用同一套环境,测试组会搭建自己使用的环境。如果共用一套环境,难免会对测试结果产生一定的影响。另外,在系统维护方面来看,公用环境也不是很方便,因为开发人员也需要调试产品。

问题3:网页的兼容性测试你是怎么做的?

答:对于网页兼容性,我们主要需要考虑的是各种浏览器对前台页面的兼容性,因为浏览器的版本和型号,对页面展现的影响非常大。

现在浏览器的种类非常多,网页中展现出来的内容也越来越丰富,这些内容包括网页中的字体、图片、动画等。其中,有些内容还需要安装一些网页插件才能打开。因此,很多时候,同一个网页在不同的浏览器下可能会出现兼容性问题。

例如,出现乱码、排版异常、无法显示图片和动画、页面的功能不能正常使用等异常情况。因此,网页兼容性测试是必不可缺的环节。

目前,市面上主流的浏览器有IE系列、Chrome、火狐、360、QQ等一系列浏览器。具体要测试哪些浏览器,主要根据产品经理制定的需求文档而定。

2020年软件测试新手必看的技术面试题盘点
在项目实操过程中,如果页面上所有的功能,都需要进行多个浏览器测试的话,那么,工作量将是巨大的。一般情况下,可以将不同浏览器的测试任务分配给所有测试人员,测试结束后,大家互相交换进行,尽量使测试覆盖面更全。

其次,还要考虑分辨率的兼容性。这指的是页面在640×400、600×800、1024×768或是更高的分辨率模式下,是否能正常显示。例如字体大小、图片等页面元素是否能正常显示。对于具体要使用什么样的分辨率进行测试,还需通过需求文档去确认,并给出建议和要求。在这里插入图片描述

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们1079636098,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

问题4:如何提交一个高质量的Bug?

答:我个人觉得提交一个高质量的Bug,以下几点很重要。

第一点是Bug的概要。通过Bug概要,可以让项目组其他成员知道这个Bug单描述的是什么问题;
第二点是Bug的具体描述。也就是Bug出现的步骤,Bug记录的细节越详细越好,包括出错前后所执行的操作步骤、所涉及的具体数据等;
第三点是附上相应的截图和日志。特别是截图。清晰和正确的截图,能为此Bug提供有力的说明和证据;
第四点是要注释所测软件的版本号及测试的环境。因为在不同的版本,不同的环境下,测试结果都可能不同。当然Bug的其他信息点也应当正确、客观的去描述。

问题5:如果你发现了一个Bug,但之后再也没重现,怎么办?

答:首先,遇到这类问题必须截图,并搜集日志,以保留好测试现场。

因为没有重现,可能是没有引起此Bug的触发点造成的。所以,作为测试人员,我会想方设法尽可能地让这个Bug重现。如果实在无法重现,我还是会提交此Bug给开发人员,如果有截图和日志,也将一并附上。

如果开发人员要求重现,那测试人员就需要在后期继续观察,如果最终还是无法重现,则会把此问题反应给测试经理,由测试经理同开发人员进行评审以及商量解决的方法。因为,虽然现在没有重现,但是不能保证在用户那里不会出现。

问题6:如果开发人员以修改bug的成本高为由,不修改你发现的Bug。而这个Bug又会影响用户体验,你怎么办?

答:我觉得凡是影响用户体验的问题都是大问题。如果用户体验没有做好,我觉得这就不是一款好的产品。其次如果每个问题都因修改成本高而不去修改的话,是无法持续提升产品质量的。我觉得只要是问题,无论大小,测试人员都应当要求开发人员去修改。这是对产品负责,也是对用户负责。

问题7:一个软件版本更新,一般你要花多长时间去测试?

答:一般情况下,一个软件版本要测试三到五轮,每一轮的测试时间也不能一概而定,受很多因素的影响,例如会受需求规模、测试人员、测试技术、软件的质量等各方面因素的影响,具体要视实际情况而定。

问题8:你写过测试报告吗?

答:当然写过,不过我们写的都是我们自己所负责模块的测试报告,整个系统的测试报告由测试经理整理完成。

问题9:你如何理解测试这一份工作?

答:我觉得软件测试的主要任务是发现软件中的Bug,所以软件测试对于软件的质量有明显的改善作用。其次,测试人员测试的对象是开发人员开发出来的软件产品,所以对于开发工作能起到一定的监督和推动作用。最后,我觉得软件测试能缩短软件开发的周期,加速软件发布的进程。

问题10:软件测试工作结束的标准是什么?

答:我觉得软件测试结束的标准有以下几个前提。

我们已按照测试计划中的安排完成了所有的测试工作。第二,测试用例已全部执行完成,并且执行通过率达到标准。
每个测试人员手上的Bug都处于关闭状态。
回归测试全部执行完毕,没有发现会影响产品上线的Bug,软件产品达到了上线标准。
每个测试人员所负责的测试报告已完成,并提交给了测试经理。

002

我们讲述了一些软件测试技术面试时,比较经典的10个问题。本期,我们将继续围绕技术面试这个主题,为大家提供相应的经典问答内容。

问题11:进行软件测试后,是否能在发布软件后,确保没有Bug出现?

答:我个人认为,任何软件都存在bug。万一在用户使用的过程中出现了Bug,应及时做补丁或是升级软件。

一般情况下,软件交付给用户使用后,都不应该有影响用户使用和体验的Bug出现。但是,由于软件测试受测试时间、测试人员的数量、测试人员的技术等多方面因素的影响,找出软件中存在的所有bug几乎是不可能的。另外,有些Bug的发现,还需要在特殊环境或是长期使用中,才能触发。因此,可以说,几乎没有软件是完美的。

问题12:软件测试应遵循什么原则?

答:我觉得软件测试应遵循二八原则。即容易出现问题的模块,或是问题较多的模块要重点测试,其他常规容易出现问题的地方,按照流程测一遍即可。

问题13:你做过自动化测试吗?(或者接口测试?写过接口脚本吗?)

答:在实际的工作中,暂时还没有运用到自动化测试技术,但我本人对自动化测试比较感兴趣,目前一直在学习Selenium WebDriver,对元素定位、Selenium WebDriver方法的调用还是比较熟悉的。对于脚本,我对Python面向对象的思想有一些了解,能写一些基础脚本,例如我可以通过Selenium WebDriver工具完成对一个网页元素的循环操作。

(注意:回答这个问题切记要实话实说,不要不懂装懂)

问题14:你用过Linux操作系统吗?

答:关于Linux操作系统,我主要是熟悉它的一些基础命令行的使用,在工作中经常用到的命令行大概有50个。

(注意:当你答完后,面试官可能会进一步追问你都熟悉哪些命令行,此时,你需要抓住机会,将你懂的内容全面的展示给面试官看,这样自己面试通过的概率就会增加很多。)

问题15:你都了解哪些数据库呢?

答:关于数据库这块,我主要了解的是Oracle数据库。

(注意:当你答完后,面试官可能会进一步追问你都了解Oracle数据库的哪些内容?此时,你可以说,包括Oracle数据库的是SQL语句,像增、删、改、查之类的语句都比较熟悉。并举一个实例,佐证它的使用范畴)

问题16:你是如何设计测试用例的?

答:我觉得设计一个功能模块的测试用例,主要是基于几个方面。

参考需求文档,尽量挖掘出更多的需求细节进行用例设计;
根据自己的一些测试经验和常识来设计;
可以参考其他同事曾写过的测试用例;
我们还可以通过网上的资料做一些补充。

问题17:如何保证测试用例的质量?

答:我觉得可以从这几个方面来确保用例质量。

首先,要确保测试用例是针对需求文档编写出来的,要确保测试点能覆盖到所有需求点;

其次,要保证操作步骤、具体数据以及预期结果的清晰性、简洁性、明确性。保证测试用例的可操作性和可复用性;

另外,确保有足够多的异常测试用例,同时要确保没有多余的重复用例;

最后,一定要对测试用例进行评审。

问题18:如果没有需求文档,直接给你待测软件,你将如何开展测试工作?

我会大体地测试一下软件,对于如边界值、输入数据类型等需求不明确的问题集中反馈给产品经理,待产品经理给出相应的标准后再设计用例。
在测试软件的过程中,如发现有些功能模块需求非常不明确,甚至影响到用户对产品功能的正确使用,对于这类重大问题,我会及时反馈给测试经理,然后协助其来解决这类问题。
我会积极参加项目的各种讨论会议;查看已有的测试用例、Bug库中已有的Bug、已有的用户手册和帮助文档;咨询产品人员并尽可能多地了解相关的需求信息,并以此为基础来设计测试用例;
可以参考软件的功能直接设计用例,然后提交给测试组(必要的情况下可以提交给整个项目组)进行评审,以得到统一的意见。

问题19:请设计ATM取款机的测试用例

分析:这里就没有统一的答案了,但是,你可以参考以下2点来进行描述。

1)根据自己的经验,列举ATM取款机所有的功能点。例如,常见的功能点有插卡或退卡、密码输入或修改、余额查询、取款、存款、转账等。尽可能想得更多测试点,这样在回答时,就能将测试用例说的更全面,测试点覆盖得更广。

2)根据自己操作ATM取款机的经验,分别制定出每个功能点的需求文档。例如,插卡功能的需求文档:只接受带有银联标识的银行卡;密码修改的需求文档:只允许输入6位数字等。

最后,利用所学的设计方法和发散思维来设计用例。

问题20:如果我们录取了你,你将如何更快地进入工作状态?

答:我会先去熟悉项目组成员情况,包括开发人员、测试人员、产品人员。

其次,从需求文档入手,我将依次熟悉测试组的测试用例、Bug管理工具以及Bug库里已提交的Bug。

另外,我也会向测试组的老同事,或带我的老师,请教测试组的基本工作流程等细节问题,并结合测试经理所分配的任务,通过这些任务熟悉整个测试流程和工作要点。

最后:

未来的你肯定会感谢现在拼命的自己!

给大家推荐一个软件测试技术交流群:1079636098 群友福利免费领取

愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员一凡

1.免费领取一份216页软件测试工程师面试宝典文档资料。

2.软件测试学习路线以及相对应的视频学习教程免费分享!

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!