全国服务热线:400-6136-679

位置:成都博为峰软件测试培训 > 学校动态 > 软件测试面试必备!面试题+答案

软件测试面试必备!面试题+答案

来源:成都博为峰软件测试培训时间:2022/12/31 14:13:05

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  D一点是Bug的概要。通过Bug概要,可以让项目组其他成员知道这个Bug单描述的是什么问题;

  第二点是Bug的具体描述。也就是Bug出现的步骤,Bug记录的细节越详细越好,包括出错前后所执行的操作步骤、所涉及的具体数据等;

  第三点是附上相应的截图和日志。特别是截图。清晰和正确的截图,能为此Bug提供有力的说明和证据;

  第四点是要注释所测软件的版本号及测试的环境。因为在不同的版本,不同的环境下,测试结果都可能不同。当然Bug的其他信息点也应当正确、客观的去描述。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  D一,我们已按照测试计划中的安排完成了所有的测试工作。第二,测试用例已全部执行完成,并且执行通过率达到标准。

  第三,每个测试人员手上的Bug都处于关闭状态。

  第四,回归测试全部执行完毕,没有发现会影响产品上线的Bug,软件产品达到了上线标准。

  第五,每个测试人员所负责的测试报告已完成,并提交给了测试经理。

  如果上面的工作都已完成,我觉得测试工作就基本结束了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  首先,参考需求文档,尽量挖掘出更多的需求细节进行用例设计;

  第二,根据自己的一些测试经验和常识来设计;

  第三,可以参考其他同事曾写过的测试用例;

  较后,我们还可以通过网上的资料做一些补充。

  问题7:如何增加测试用例的质量?

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

  首先,要确保测试用例是针对需求文档编写出来的,要确保测试点能覆盖到所有需求点;其次,要增加操作步骤、具体数据以及预期结果的清晰性、简洁性、明确性。增加测试用例的可操作性和可复用性;另外,确保有足够多的异常测试用例,同时要确保没有多余的重复用例;较后,一定要对测试用例进行评审。

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

  答:D一,我会大体地测试一下软件,对于如边界值、输入数据类型等需求不明确的问题集中反馈给产品经理,待产品经理给出相应的标准后再设计用例。

  第二,在测试软件的过程中,如发现有些功能模块需求非常不明确,甚至影响到用户对产品功能的正确使用,对于这类重大问题,我会及时反馈给测试经理,然后协助其来解决这类问题。

  第三,我会积极参加项目的各种讨论会议;查看已有的测试用例、Bug库中已有的Bug、已有的用户手册和帮助文档;咨询产品人员并尽可能多地了解相关的需求信息,并以此为基础来设计测试用例。

  第四,可以参考软件的功能直接设计用例,然后提交给测试组(必要的情况下可以提交给整个项目组)进行评审,以得到统一的意见。

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

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

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

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

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

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

  答:我会先去熟悉项目组成员情况,包括开发人员、测试人员、产品人员。其次,从需求文档入手,我将依次熟悉测试组的测试用例、Bug管理工具以及Bug库里已提交的Bug。另外,我也会向测试组的老同事,或带我的老师,请教测试组的基本工作流程等细节问题,并结合测试经理所分配的任务,通过这些任务熟悉整个测试流程和工作要点。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/7725/news/588492/违者必究! 以上就是成都博为峰软件测试培训 小编为您整理 软件测试面试必备!面试题+答案的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6136-679