赞
踩
面试:
1、为什么想从事软件测试这个职业
有师兄师姐在从事这个行业,所以对软件测试有一定了解;比较感兴趣,觉得自己比较适合做软件测试,通过自己的工作,能使软件产品越来越完善,感觉这是一个有挑战性的工作;(测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣)
2、对软件测试了解多少?
知道哪些测试方法?测试策略 ?
1、按是否查看程序内部结构分为: (1)黑盒测试(black-box testing):只关心输入和输出的结果 (2)白盒测试(white-box testing):去研究里面的源代码和程序结构 2、按是否运行程序分为: (1)静态测试(static testing):是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。 静态测试包括: 对于代码测试,主要是测试代码是否符合相应的标准和规范。 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。 对于文档测试,主要测试用户手册和需求说明是否真正符合用户的实际需求。 (5)动态测试(dynamic testing),是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程 3、按阶段划分: (1)单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 桩模块(stud)是指模拟被测模块所调用的模块,驱动模块(driver)是指模拟被测模块的上级模块,驱动模块用来接收测试数 据,启动被测模块并输出结果。 (2)集成测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测 试,重点测试不同模块的接口部门。 集成测试就是用来检查各个单元模块结合到一起能否协同配合,正常运行。 (3)系统测试(system testing),指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬 件环境进行测试。 系统测试的主要依据是《系统需求规格说明书》文档。 (4)验收测试(acceptance testing),指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序。 验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试。 4、黑盒测试分为功能测试和性能测试: 1)功能测试(function testing),是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。 包括逻辑功能测试(logic function testing) 界面测试(UI testing)UI=User Interface 易用性测试(usability testing):是指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使 用的地方。 兼容性测试(compatibility testing):包括硬件兼容性测试和软件兼容性测试 2)性能测试(performance testing) 软件的性能主要有时间性能和空间性能两种 时间性能:主要指软件的一个具体事务的响应时间(respond time)。 空间性能:主要指软件运行时所消耗的系统资源。 软件性能测试分为: 一般性能测试:指的是让被测系统在正常的软硬件环境下运行,不向其施加任何压力的性能测试。 稳定性测试也叫可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定程度。 负载测试(load testing):是指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性。 压力测试(stress testing):是指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压 力。(Validate the system or software can allowed the biggest stress.) 5、其他测试类型: 回归测试(regression testing)是指对软件的新的版本测试时,重复执行上一个版本测试时的用例。(When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.) 冒烟测试(smoke testing),是指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。(validate the major function is deployed or not in software of system when a new build or release is implement.) 随机测试(random testing),是指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误。(means or all the test data is random, to validate the some edge bugs.)
3、介绍一下测试流程,觉得哪一个环节最重要?
测试流程依次如下:
1.需求分析:阅读需求,理解需求,与客户、开发、架构多方交流,深入了解需求。--testing team 主要包括:需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等
2.测试计划: 根据需求估算测试所需资源(人力、设备等)、所需时间、功能点划分、如何合理分配安排资源等。---testing leader or testing manager 测试计划的依据主要是项目开发计划和测试需求分析结果而制定,1. 测试背景,2测试依据,3测试资源,4、测试策略,5、测试日程
3.用例设计:根据测试计划、任务分配、功能点划分,设计合理的测试用例。---testing leader, senior tester 测试设计测试设计主要包括测试用例编写和测试场景设计两方面,测试场景设计主要也就是测试环境问题了
4.执行测试:根据测试用例的详细步骤,执行测试用例。--every tester(主要是初级测试人员) 测试执行过程又可以分为以下阶段:单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。
5.执行结果记录和bug记录:对每个case记录测试的结果,有bug的在测试管理工具中编写bug记录。--every tester(主要是初级测试人员)
6.defect tracking:追踪leader分配给你追踪的bug.直到 bug fixed。--every tester
7.测试报告:通过不断测试、追踪,直到被测软件达到测试需求要求,并没有重大bug.
8.用户体验、软件发布等……
什么是软件测试?
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试的目的:
软件的生命周期?
生命周期阶段:
4、了解缺陷管理工具吗?
缺陷管理工具有(说白了这就是用来记录bug的,程序员与测试员之间通过这个来修复bug): 1.Bugzilla
1.QC
2.TD
3.TESTLINK 4.bugfree 5.Jira
5、自动化测试了解多少?自动化测试工具
功能测试工具 QTP selenium(开源)winrunner
性能测试工具 LR(loadrunner) ,JEMETER
6、对淘宝的输入框进行测试,该怎么考虑?
7、测试用例包含哪些部分?
8、自己检查出来BUG,开发人员觉得不是BUG不愿意修改,该怎么做?
8.1 首先,将问题提交到缺陷管理库里面进行备案。
然后,要获取判断的依据和标准:
合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。
8.2
开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
9、数据库SQL语言
10、软件测试人员最重要的职业素养是什么?
1、责任心2、沟通能力3、团队合作精神4、耐心、细心、信心5、时时保持怀疑态度,并且有缺陷预防的意识6、具备一定的编程经验
11、对于自己职业生涯的规划,将来是想做自动化测试还是转管理?
20161103
自我介绍好好弄:
12、厂商给你一支笔,请问怎么测试?测试中发现笔的尺寸不合理,向厂商反映,得到回复是就是这么设计的,该怎么做?
13、研究生阶段让你最自豪的一件事?
14、你的优点是什么?
有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好
谈谈你的缺点?
15、平时有什么爱好?
16、导师眼中的你是什么样的?
17、介绍自己的项目?是如何用matlab进行项目的?
18、为什么不做开发而是做测试?
19、看我做过计算机网络兼职教师,问:tcp报文头有几位,IP报文有几位,三次握手/四次挥手过程?说出应用层有哪些协议?
20、到新环境如何适应?
21、参加了很多竞赛并获奖,在学习时间紧张的情况下,是怎么做到的?
22、测试职业发展目标?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,不断的更新自己改正自己,做好测试任务。
笔试:
1、浏览器突然不能访问百度,会是什么原因,该怎么解决?
2、没有网络了,会是什么原因?
3、为一个杯子设计测试用例
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
4、介绍tcp/udp,以及他们的区别?
某大神对软件测试流程理解:
需求分析需求分析(Requirment Analyzing)应该说是软件测试的一个重要环节,测试开发人员对这一环节的理解程度如何将直接影响到接下来有关测试工作的开展。可能有些人认为测试需求分析无关紧要,这种想法是很不对的。需求分析不但重要,而且至关重要!一般而言,需求分析包括软件功能需求分析、测试环境需求分析、测试资源需求分析等。其中最基本的是软件功能需求分析,测一款软件首先要知道软件能实现哪些功能以及是怎样实现的。比如一款Smartphone包括VoIP、Wi-Fi以及Bluetooth等功能。那我们就应该知道软件是怎样来实现这些功能的,为了实现这些功能需要哪些测试设备以及如何搭建相应测试环境等,否则测试就无从谈起!既然谈了需求分析,那么我们根据什么来分析呢?总不能凭空设想吧。总得说来,做测试需求分析的依据有软件需求文档、软件规格书以及开发人员的设计文档等,相信管理一些规范的公司在软件开发过程中都有这些文档。测试计划 测试计划(Test Plan)一般由测试负责人来编写。 测试计划的依据主要是项目开发计划和测试需求分析结果而制定。测试计划一般包括以下一些方面:1. 测试背景a. 软件项目介绍;b. 项目涉及人员(如软硬件项目负责人等)介绍以及相应联系方式等。2. 测试依据a. 软件需求文档;b. 软件规格书;c. 软件设计文档;d. 其他,如参考产品等。3. 测试资源a. 测试设备需求;b. 测试人员需求;c. 测试环境需求;d. 其他。4. 测试策略a. 采取测试方法;b. 搭建哪些测试环境;c. 采取哪些测试工具以测试管理工具;d. 对测试人员进行培训等。5. 测试日程a. 测试需求分析;b. 测试用例编写;c. 测试实施,根据项目计划,测试分成哪些测试阶段(如单元测试、集成测试、系统测试阶段,α、β测试阶段等),每个阶段的工作重点以及投入资源等。6. 其他。测试计划还要包括测试计划编写的日期、作者等信息,计划越详细越好了。计划赶不上变化,一份计划做的再好,当实际实施的时候就会发现往往很难按照原有计划开展。如在软件开发过程中资源匮乏、人员流动等都会对测试造成一定的影响。所以,这些就要求测试负责人能够从宏观上来调控了。在变化面前能够做到应对自如、处乱不惊那是最好不过了。测试设计测试设计主要包括测试用例编写和测试场景设计两方面。一份好的测试用例对测试有很好的指导作用,能够发现很多软件问题。关于测试用例编写,请参见前面写的《也谈测试用例》一文,里面有详细阐述。测试场景设计主要也就是测试环境问题了。测试环境搭建不同软件产品对测试环境有着不同的要求。如C/S及B/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unix、linux甚至苹果OS等,这些测试环境都是必须的。而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。当然测试中对于如手机网络等环境都有所要求。测试环境很重要,符合要求的测试环境能够帮助我们准确的测出软件问题,并且做出正确的判断。为了测试一款软件,我们可能根据不同的需求点要使用很多不同的测试环境。有些测试环境我们是可以搭建的,有些环境我们无法搭建或者搭建成本很高。不管如何,我们的目标是测试软件问题,保证软件质量。测试环境问题,还是根据具体产品以及开发者的实际情况而采取最经济的方式吧。测试执行 测试执行过程又可以分为以下阶段:单元测试→集成测试→系统测试→出厂测试,其中每个阶段还有回归测试等。从测试的角度而言,测试执行包括一个量和度的问题。也就是测试范围和测试程度的问题。 比如一个版本需要测试哪些方面?每个方面要测试到什么程度?从管理的角度而言,在有限的时间内,在人员有限甚至短缺的情况下,要考虑如何分工,如何合理地利用资源来开展测试。当然还要考虑以下问题:1. 当测试人员测试的执行不到位、敷衍了事时该如何解决?2. 测试效率问题,怎样提高测试效率?3. 根据版本的不同特点是只做验证测试还是采取冒烟测试亦或是系统全面测试?4. 当测试过程中遇到一些偶然性随机问题该怎样处理?5. 当版本中出现很多新问题时该怎样对待?测试停止标准?6. ……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。