收藏 分享(赏)

测试面试问题.docx

上传人:gnk289057 文档编号:7344520 上传时间:2019-05-15 格式:DOCX 页数:10 大小:96.78KB
下载 相关 举报
测试面试问题.docx_第1页
第1页 / 共10页
测试面试问题.docx_第2页
第2页 / 共10页
测试面试问题.docx_第3页
第3页 / 共10页
测试面试问题.docx_第4页
第4页 / 共10页
测试面试问题.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、01. 为什么要在一个团队中开展软件测试工作?答:软件测试在整个一个团队中占有非常重要的地位,具体来说就是测试是一个发现软件错误的过程,执行软件测试会以最少的人力和时间,系统的找到软件存在的缺陷和错误,建立起开发人员和使用者对软件的信心。02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?答:软件测试部门配合系统分析人员软件需求分析讨论,并根据需求说明书制定项目测试计划,编写测试用例,建立测试环境。软件测试人员负责软件开发部门的新产品测试及原有产品的升级测试,负责软件问题解决过程跟踪,负责软件开发文档开发工作的规范

2、化及管理开发部门的产品文档,制作用户手册及操作手册,负责产品的上线测试,监督软件开发过程的执行,提高产品质量。03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)答:需求人员连同系统分析人员&测试人员开会讨论需求。系统分析人员写出需求分析说明,并连同系统分析人员&测试人员&需求人员开会讨论可行性。系统分析人员写出详细设计说明书,程式人员编码,给出系统流程图。交与测试人员,测试人员给出 Bug 统计表。04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?答:

3、从事过 write test plan,creation of test case,进行功能测试,性能测试,编写测试工具,文档的管理等,比较擅长与写测试用例和进行功能测试。05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试 )答:有功能测试,性能测试,可靠性测试,安全性测试,负载测试,压力测试,安装/卸载测试,启动/停止测试,兼容性测试,互连测试,文档测试,恢复测试,回归测试,可使用性测试,容量测试。功能测试只对软件的功能是否满足用户需求来做测试。性能测试需要和压力和负载测试联合起来。06. 请试着比较一下黑盒测试、白盒测试、单元测试、集

4、成测试、系统测试、验收测试的区别与联系。黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。集成测试:在单元测试的基础上,对单元模块之间的连接和组装进行测试。系统测试:在所有都考虑的情况下,对系统进行测试。验收测试:第三方进行的确认软件满足需求的测试。07. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最

5、重要的?答:测试计划工作是对测试工作内容的一个有效的组织和规划,能保证测试工作有效的展开。测试计划工作包括测试目标,测试范围的定义,测试方法的选择,测试进度里程碑,测试资源的有效配置和管理。测试计划工作也称为测试策略,主要描述测试工程的总体方法和目标,描述目前在进行那一阶段的测试(单元测试,集成测试,系统测试)以及每一阶段内进行的测试种类(功能测试,性能测试等)确定测试范围,生成测试数据等。其中软件计划中的测试目标最重要,他的软件测试的所需要达成的最终结果。08. 您认为做好测试计划工作的关键是什么?答:1. 明确测试的目标,增强测试计划的实用性2. 坚持“5W”规则,明确内容与过程,what

6、whywhenwherehow3. 采用评审和更新机制,保证测试计划满足实际需求4. 分别创建测试计划与测试详细规格、测试用例09. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价类划分法,可以一个或多个结果是 OK 的测试用例,然后确认多个 NG 的测试用例,然后利用边界值分析法,可以对结果分别是 OK 和 NG 的测试用例进

7、行扩展和补充。10. 您认为做好测试用例设计工作的关键是什么?答:测试用例设计工作的关键是对可行的和不可行的都要考虑。1,输入 2,详细的操作步骤 3,预期输出 4,实际输出。11. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。12. 您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。13. 您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。14. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

8、答:有使用过 LoadRunner,该工具能够录制测试人员的操作步骤,然后对这个操作步骤模拟出多个用户来播放出来。1。Visural User Genertor 创建脚本,选择协议,录制操作,编辑操作。2。中央控制器(Controller )调度虚拟用户。创建场景,选择脚本,建立虚拟用户,设计 shedual,设置 ip spoofer。3。运行脚本。分析 shedual。4。分析测试结果。15. 您认为 性能测试 工作的目的是什么?做好性能测试工作的关键是什么?答:性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的

9、检测。性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。16. 在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?答:检测时间,系统环境,硬体环境,严重程度,程式版本,确认人,功能模块,问题描述,详细操作步骤,是否会重现。问题描述和详细操作步骤要尽可能的详细。Bug 应该尽量用书面语,对与严重程度比较高的缺陷要在相同环境下在测试一遍。在 C/S 模式下,如果条件满足可以使用替换法来确认是 client 端的问题还是 server 端的问题。、问题解答:1.软件测试分哪两种方法?分别适合什么情况?软件测试

10、方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:1)。测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告

11、,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。3)测试开发建立可重复使用的自动测试过程。4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

12、5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。BVT (Build Verification Test),主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确 Scenario Tests(基于用户实际应用场景的测试),Scenario Tests 优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况Smoke Test,修复 Bug 后,针对此次修复是否会对其他模块造成影响而进行的专门测试。Smoke Test 优点是节省测试时间

13、,防止 build 失败。缺点是覆盖率还是比较低此外,还有Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有 Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test (回归测试)、Setup/Upgrade Test(安装升级测

14、试)等4. 测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样。(版本、编号、项目、设计人员、设计日期、输入、预期输出)软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果。用例编号: 测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-ST-001 ,命名规则是项目名称测试阶段类型(系统测试阶段)编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。测试标题: 对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” .重要级别

15、: 定义测试用例的优先级别,可以笼统的分为 “ 高 ” 和 “ 低 ” 两个级别。一般来说,如果软件需求的优先级为 “ 高 ” ,那么针对该需求的测试用例优先级也为 “ 高 ” ;反之亦然,测试输入: 提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。操作步骤: 提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。预期结果: 提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如

16、果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。7.描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程 1、测试人员或开发人员发现 bug 后,判断属于哪个模块的问题,填写 bug 报告后,系统会自动通过Email 通知项目组长或直接通知开发者。1) 经验证无误后,修改状态为 VERIFIED.待整个产品发布后,修改为 CLOSED. 2) 还有问题,REOPENED,状态重新变为 “New“,并发邮件通知。2)项目组长根据具体情况,重新 reassigned 分配给 bug 所属的开发者。3) 若是,进行处理,resolved

17、并给出解决方法。(可创建补丁附件及补充说明)4)开发者收到 Email 信息后,判断是否为自己的修改范围。5) 若不是,重新 reassigned 分配给项目组长或应该分配的开发者。6)测试人员查询开发者已修改的 bug,进行重新测试。(可创建 test case 附件)四、简答题(共 37 分) 1 阶段评审与同行评审的区别。(4 分) 2 什么是软件测试。(3 分) 答:通过人工或自动化手段对系统进行测试,目的是为了验证系统是否满足预定功能或者是为了弄清楚实际结果与预期结果之间的差别。 3 简述集成测试的过程。(5 分) 答:将通过单元测试的单元模块按照设计要求组合起来再进行测试。重点检查

18、程序接口处是否有问题。 过程:首先进行集成测试的测试计划测试设计测试开发测试用例执行 测试评估,并且进行全程的缺陷跟踪。 4 怎样做好文档测试?(4 分) 答:文档测试要注意一下几点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言 5 白盒测试有那几种方法?(6 分) 答:白盒测试方法分为:静态测试和动态测试 静态测试方法:编码标准与准则 走查 审查 评审 动态测试方法:语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 条件组合+路径覆盖 6 系统测试计划是否需要同行评审,为什么?(4 分) 答:系统测试计划需要进行

19、同行评审,因为如果对一个系统长时间进行测试可能会出现测试疲劳甚至出现 对系统的免疫现象,因此可以进行同行评审,减少对相同系统的疲劳测试。 7 Alpha 测试与 beta 测试的区别。(4 分) 8 比较负载测试、容量测试和强度测试的区别。(6 分) 9 测试结束的标准是什么?(3 分)过去面试总是会有如何测试 Google 首页,测试杯子,测试电话之类的,有偷懒的嫌疑,这次来个具体的,第一个题目如何测试下面这个表:一、第一个问题设计测试用例面试里得到的很多回答就是一条条罗列,例如:1 、界面显示是否正常,各种浏览器、分辨率,文字是否显示正常2 、这个数据是否和数据库一致3 、 promote

20、 按钮是否正常使用4 、上一页下一页按钮是否正常5 、列表标题是否支持排序,排序功能是否正常(很奇怪,这个提到的人不多,类似的下拉列表的 Autocomplete 也很少人提到)6 、 比较少的听到按照测试类型来设计的,例如界面测试用例、功能测试用例、大数据测试用例等等,也没有听到按照正常用例和异常用例来罗列。二、如果你来设计这个表,还会做哪些完善1 、可能有些人注意到,这个结果总共有 99523 个,提供的翻页只有前进后退,是否加个 go to page 的功能2 、貌似我们以前见过列表翻页还有提供第一页和最后一页,那是否也加上3 、结果很多,是不是加个搜索(其实这个数据是搜索得到的)4 、

21、这个列表一页只显示 10 个结果,是否可以多显示些,是否加个每页显示数目.问到第二个问题,有些面试人员就迷惑了,经常听到的是“我们都是根据需求测试的” ,那我问,你们对用户体验关注么,得到很多回答是“设计好的,我们只是测试下 ”,被动式的测试居多。三、如果你来实现这个表会怎么做1 、最简单的,拉个控件,之后连接到数据库,搞个 dataset/datatable 数据绑定读取数据显示2 、直接连接到数据库如果数据量大时,前台等待过久怎么办,哦,有 AJAX,异步获取数据3 、还有没有更好的,预加载,生成 10 页的结果放在服务端,这个技术在网购网站首页的促销商品大量使用这是一个优化的问题,可惜很

22、多测试对于开发的设计实现没有任何的兴趣或是根本不去了解。了解了下,有很多公司是不能看代码的,能看代码的也没有编辑的权限,把测试定位成开发的服务,但并没有充分利用测试可以帮助开发定位错误,让开发更快的修复缺陷,更多的是选择让测试熟悉业务。四、某位测试工程师自己写了个自动化脚本进行翻页,可是翻页到 1 万多结果的时候,浏览器崩溃了,你来研究下是什么原因这个问题很多人思索后放弃了,那么我提示说崩溃的时候,浏览器占用了 2G 的内存,极少有人提到查看日志。1 、使用自动化的时候,是否可以再写个脚本监控浏览器操作的资源使用情况2 、内部测试系统是否可以打开 debug 模式用来记录日志3 、是否可以查看

23、开发代码,看看开发实现翻页部分的代码4 、和开发沟通,一起来排查错误.很失望,到这个问题很少得到满意的答复,测试的同学们在广度上有所突破外是否也注重下深度,我自己也逐渐意识到这些问题,刚好作为面试题目。相似的问题,如何测试下拉列表,有兴趣的同学可以练练手。另一题目是关于文件读写有一个文件,存放着地理信息,类似下面,想从里面取出 IP 地址用在其他地方,即如何从一个文件中取出 IP 地址存入另一个文件。1.0.0.0|apnic debogon project|null|7|0r|12|0|22581|4|0|1.0.1.0|chinanet fujian province network|nu

24、ll|591|41|43|0|35075|4|0|1.0.2.0|chinanet fujian province network|null|591|41|43|0|35075|4|0|1.0.3.0|chinanet fujian province network|null|591|41|43|0|35075|4|0|1.0.4.0|level collins street|null|7|0r|12|0|3719|4|0|1.0.5.0|level collins street|null|7|0r|12|0|3719|4|0|1.0.6.0|level collins street|null

25、|7|0r|12|0|3719|4|0|1.0.7.0|level collins street|null|7|0r|12|0|3719|4|0|1.0.8.0|chinanet guangdong province network|null|20|47|43|0|7392|4|0|1.0.9.0|chinanet guangdong province network|null|20|47|43|0|7392|4|0|.这个第一步就很多人放弃了,理由基本上是“以前学校学过某某语言,后面工作就没写过代码” , 稍微好点的呢,“可以说下思路么”,也行,那说下思路吧。少数人会想到使用 awk 命令直

26、接在 teminal 运行,也有想到写个小脚本来读取写入。应该说不管开发测试,很多都是计算机相关专业毕业的,我想在现行教育体制下,大学里至少都学过C 语言吧,可是有些测试人选择测试职业后,直接把 Coding 的技能抛弃了,注意,是自己抛弃了,虽然在公司工作上不用编码,但是工作后呢,有没有自己写些东西。好了,假设写了个小脚本,例如理想情况下第一竖线前都是 IP 地址,写个 python 脚本如下:#!/usr/bin/python2.4#import regeofile=open(geo.csv,r)lines=geofile.readlines()for line in lines:a=li

27、ne.split(|)ipfile=open(ip.txt,a)print ipfile,a0geofile.close()ipfile.close()接下来请对写的这个命令也好,脚本也好测试。1 、正常用例2 、异常用例这个问题可以从 2 种角度入手,一种直接把它当作黑盒来测试,不知道里面的实现,提供不同的输入文件查看输出结果;另一种可以采用单元测试。可惜很多面试人纠结在文件的第一列是不是 IP 地址,需要判断。脚本写好了,也测试了,如果这个地理信息文件很大呢,具体点,这个是全球地理信息文件,超过 2G,你写的这个脚本执行要很久哦。这又是个优化问题,整个面试只有一位同学说可以采用分割文件的做法,先分割再合并,他也是提到使用 awk 命令的同学。可惜没有听到使用多线程多进程的方式。这次面试感慨颇多,面试的对象基本是工作 2、3 年的测试工程师,但对测试的认识普遍还是几年前的样子,面试要求也是一再降低,统计下来,9 个候选人能选中一个。虽然外面宣传的测试职业前途非常光明,不过在实际工作中,中小型企业测试人的地位普遍低于开发,除了几个大公司。测试如果想要提高自己的地位,首先要提高自己的技能,不仅仅是在测试技术上,开发技术和对开发设计的理解也是需要提高的,这样才能获得和开发同等的交谈资格。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报