软件测试工程师常见面试题目.docx

上传人:太** 文档编号:60305035 上传时间:2022-11-15 格式:DOCX 页数:16 大小:23.34KB
返回 下载 相关 举报
软件测试工程师常见面试题目.docx_第1页
第1页 / 共16页
软件测试工程师常见面试题目.docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《软件测试工程师常见面试题目.docx》由会员分享,可在线阅读,更多相关《软件测试工程师常见面试题目.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件 的质量,就好比ISO质量认证一样,测试同样也需要质量的 保证,这个时候就需要在团队中开展软件测试的工作。在测 试的过程发现软件中存在的问题,及时让开发人员得知并修 改问题,在即将发布时,从测试报告中得出软件的质量情况。02.您在以往的测试工作中都曾经具体从事过哪些工 作?其中最擅长哪局部工作?我曾经做过web测试,后台测试,客户端软件,其中包 括功能测试,性能测试,用户体验测试。最擅长的是功能测 试03.您所熟悉的软件测试类型都有哪些?请试着分别比 较这些不同测试类型的区别与联系(如功能测试、性能测 试

2、)?测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑 盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进 行动态测试时,需要测试软件产品的功能,不需测试软件产 品的内部结构和处理过程。采用黑盒技术设计测试用例的方 法有:等价类划分、边界值分析、错误推测、因果图和综合09.请以您以往的实际工作为例详细的描述一次测试用例设计的完整的过程。首先:得到相关文档(需求文档和设计文档),理解需 求和设计设计思想后,想好测试策略(测试计划简单点就OK 了),考虑到测试环境,测试用例,测试时间等问题。第二步:设计测试用例,测试策略是:把网站局部的功 能点测试完,然后

3、在进行系统测试(另外个模块呢有另一个 测试人员负责,可以进行联调测试),网站模块的测试基本 是功能测试和界面测试(用户并发的可能性很小,所以不考 虑):这次的网站的输入数据呢是使用数据库中的某张表记 录,如果表中某一数据记录中新加进来的(还没有被处理的, 有个标志位),网站启动后会立刻去刷那张表,得到多条数 据,然后在进行处理。处理过程中,会经历3个步骤,网站 才算完成了它的任务。有3个步骤呢,就可以分别对这3个 步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括 数据库中的数据,用户的输入等),得出了差不多50个用例。 界面测试,也就是用户看的到的地方,包括发送的邮件和用 户填写资料的页面

4、展示。第三步:搭建测试环境(为什么这个时候考虑测试环境 呢?因为我对网站环境已经很熟了,只有有机器能空于下来 做该功能测试就可以做了),因为网站本身的环境搭建和其 他的系统有点不同,它需要的测试环境比拟麻烦,需要web 服务器(Apache, tomcat),不过这次需求呢,网站局部只用 到了 tomcat, 所以只要有tomcat即可第四步:执行测试11.您以往是否曾经从事过性能测试工作?如果有,请 尽可能的详细描述您以往的性能测试工作的完整过程。是的,曾经做过网站方面的性能测试,虽然做的时间并 不久(2个月吧),当时呢,是有位网站性能测试经验非常丰 富的前辈带着我一起做。性能测试类型包括负

5、载测试,强度测试,容量测试等负载测试:负载测试是一种性能测试指数据在超负荷环 境中运行,程序是否能够承当。强度测试:强度测试是一种性能测试,他在系统资源 特别低的情况下软件系统运行情况容量测试:确定系统可处理同时在线的最大用户数在网站流量逐渐加大的情况下,开始考虑做性能测试 T,首先要写好性能测试计划,根据运营数据得出流量最大 的页面(如果是第一次的话,一般是首页,下载页,个人帐 户页流量最大,而且以某种百分比)。Web服务器指标指标:* Avg Rps:平均每秒钟响应次数二总请求时间/秒Successful Rounds :成功的请求;* Failed Rounds :失败的请求;Succe

6、ssful Hits :成功的点击次数;* Failed Hits :失败的点击次数;Hits Per Second :每秒点击次数;* Successful Hits Per Second :每秒成功的点击次 数;Failed Hits Per Second :每秒失败的点击次数;* Attempted Connections :尝试链接数;.你对测试最大的兴趣在哪里?为什么?最大的兴趣就是测试有难度,有挑战性!做测试越久越 能感觉到做好测试有多难。曾经在无忧测试网上看到一篇文 章,是关于如何做好一名测试工程师。一共罗列了 11点, 有局部是和人的性格有关,有局部需要后天的努力。但除了 性格

7、有关的一点我没有把握,其他点我都很有信心做好它。刚开始进入测试行业时,对测试的认识是从无忧测试网 上了解到的一些资料,当时是冲着做测试需要很多技能才能 做的好,虽然入门容易,但做好很难,比开发更难,虽然当 时我很想做开发(学校专业课我基本上不缺席,因为我喜欢 我的专业),但看到测试比开发更难更有挑战性,想做好测 试的意志就更坚定了。不到一年半的测试工作中,当时的感动和热情没有减退 一点(即使环境问题以及自身经验,技术的缺乏,做测试的 你一定也能理解)。我觉得做测试整个过程中有2点让我觉得很有难度(对 我来说,有难度的东西我就非常感兴趣),第一是测试用例 的设计,因为测试的精华就在测试用例的设计

8、上了,要在版 本出来之前,把用例写好,用什么测试方法写?(也就是测 试计划或测试策略),如果你刚测试一个新任务时,你得花 一定的时间去消化业务需求和技术基础,业务需求很好理解 (多和产品经理和开发人员沟通就能到达目的),而技术基 础可就没那么简单了,这需要你自觉的学习能力,比方说网 站吧,最基本的技术知识你要知道网站内部是怎么运作的 的,后台是怎么响应用户请求的?测试环境如何搭建?这些 都需要最早的学好。至少在开始测试之前能做好基本的准 备,可能会遇到什么难题?需求细节是不是没有确定好?这 些问题都能在设计用例的时候发现。第二是发现BUG的时候了,这应该是测试人员最基本的 任务了,一般按测试用

9、例开始测试就能发现大局部的bug, 还有一局部bug需要测试的过程中更了解所测版本的情况获 得更多信息,补充测试用例,测试出bug。还有如何发现bug? 这就需要在测试用例有效的情况下,通过细心和耐心去发现 bug 了,每个用例都有可能发现bug,每个地方都有可能出 错,所以测试过程中思维要清晰(测试过程数据流及结果都 得看仔细了,bug都在里面发现的)。如何描述bug也很有讲 究,bug在什么情况下会产生,如果条件变化一点点,就不 会有这个bug,以哪些最少的操作步骤就能重现这个bug, 这个bug产生的规律是什么?如果你够厉害的话,可以帮开 发人员初步定位问题。13 .你的测试职业开展是什

10、么?测试经验越多,测试能力越高。所以我的职业开展是需 要时间累积的,一步步向着高级测试工程师奔去。而且我也 有初步的职业规划,前3年累积测试经验,按如何做好测试 工程师的几点要求自己,不断的更新自己改正自己,做好测 试任务。14 .你自认为测试的优势在哪里?优势在于我对测试坚定不移的信心和热情,虽然经验还 不够,但测试需要的基本技能我有信心在工作中得以发挥。15 .你以前工作时的测试流程是什么?公司对测试流程没有规定如何做,但每个测试人员都有 自己的一套测试流程。我说下我1年来不断改正(自己总结, 吸取同行的方法)后的流程吧。需求评审(有开发人员,产 品经理,测试人员,工程经理)-需求确定(出

11、一份确定的 需求文档)-开发设计文档(开发人员在开始写代码前就能 输出设计文档)-想好测试策略,写出测试用例-发给开 发人员和测试经理看看(非正式的评审用例)-接到测试 版本-执行测试用例(中间可能会补充用例)-提交bug(有些bug需要开发人员确实定(严重级别的,或突然发现 的在测试用例范围之外的,难以重现的),有些可以直接录 制进TD)-开发人员修改(可以在测试过程中快速的修改) - 回归测试(可能又会发现新问题,再按流程开始跑)。16 .当开发人员说不是BUG时,你如何应付?开发人员说不是bug,有2种情况,一是需求没有确定, 所以我可以这么做,这个时候可以找来产品经理进行确认, 需不需

12、要改动,3方商量确定好后再看要不要改。二是这种 情况不可能发生,所以不需要修改,这个时候,我可以先尽 可能的说出是BUG的依据是什么?如果被用户发现或出了问 题,会有什么不良结果?程序员可能会给你很多理由,你可 以对他的解释进行反驳。如果还是不行,那我可以给这个问 题提出来,跟开发经理和测试经理进行确认,如果要修改就 改,如果不要修改就不改。其实有些真的不是bug,我也只是 建议的方式写进TD中,如果开发人员不修改也没有大问题。如果确定是bug的话,一定要坚持自己的立场,让问题得到 最后确实认。17 .你为什么想离开目前的职务?因为公司运作情况并不理想,公司需要调整部门体系, 公司考虑到缩减部

13、门人员,所以大批量的裁员(有6, 7个), 这是我的第一份工作,对公司也有较深的感情,因为在这里 我找到了职业理想(就是测试),所以公司需要精简人员, 我自愿退出。虽然很舍不得,但我将会有新的发挥能力的舞 台。18 .你找工作时,最重要的考虑因素为何?工作的性质和内容是否能让我发挥所长,并不断成长。19 .为什么我们应该录取你?您可以由我过去的工作表现所呈现的客观数据,明显地 看出我全力以赴的工作态度。20 .请谈谈你个人的最大特色。我的坚持度很高,事情没有做到一个令人满意的结果,绝不罢手。克出口 o性能测试是通过自动化的测试工具模拟多种正常、峰值 以及异常负载条件来对系统的各项性能指标进行测

14、试。负载 测试和压力测试都属于性能测试,两者可以结合进行。通过 负载测试,确定在各种工作负载下系统的性能,目标是测试 当负载逐渐增加时,系统各项性能指标的变化情况。压力测 试是通过确定一个系统的瓶颈或者不能接收的性能点,来获 得系统能提供的最大服务级别的测试。界面测试,界面是软件与用户交互的最直接的层,界面 的好坏决定用户对软件的第一印象。而且设计良好的界面能 够引导用户自己完成相应的操作,起到向导的作用。同时界 面如同人的面孔,具有吸引用户的直接优势。设计合理的界 面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界 面设计的失败,让用户有挫败感,再实用强大的功能都可能 在用户的畏惧与放弃中

15、付诸东流。区别在于,功能测试关注产品的所有功能上,要考虑到 每个细节功能,每个可能存在的功能问题。性能测试主要关 注于产品整体的多用户并发下的稳定性和健壮性。界面测试 更关注于用户体验上,用户使用该产品的时候是否易用,是 否易懂,是否规范(快捷键之类的),是否美观(能否吸引 用户的注意力),是否平安(尽量在前台防止用户无意输入 无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保 证它的功能是没问题的,然后再考虑该功能点的性能测试04 .您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑

16、结果黑盒法用例设计的关键同样也是以 较少的用例覆盖模块输出和输入接口。不可能做到完全测 试,以最少的用例在合理的时间内发现最多的问题。05.请试着比拟一下黑盒测试、白盒测试、单元测试、 集成测试、系统测试、验收测试的区别与联系?黑盒测试:产品的功能设计规格,可以进行测试证 明每个实现了的功能是否符合要求。白盒测试:产品的内部工作过程,可以通过测试证 明每种内部操作是否符合设计规格要求,所有内部成分是否 以经过检查。软件的黑盒测试意味着测试要在软件的接口处进行。这 种方法是把测试对象看做一个黑盒子,测试人员完全不考虑 程序内部的逻辑结构和内部特性,只依据程序的需求规格说 明书,检查程序的功能是否

17、符合它的功能说明。因此黑盒测 试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现 以下几类错误:1、是否有不正确或遗漏的功能?2、在接口上,输入是否能正确的接受?能否输出正确 的结果?3、是否有数据结构错误或外部信息(例如数据文件) 访问错误?4、性能上是否能够满足要求?5、是否有初始化或终止性错误?软件的白盒测试是对软件的过程性细节做细致的检查。 这种方法是把测试对象看做一个翻开的盒子,它允许测试人 员利用程序内部的逻辑结构及有关信息,设计或选择测试用 例,对程序所有逻辑路径进行测试。通过在不同点检查程序 状态,确定实际状态是否与预期的状态一致。因此白盒测试 又称为结构测试或逻辑驱动测试。

18、白盒测试主要是想对程序 模块进行如下检查:1、对程序模块的所有独立的执行路径至少测试一遍。2、对所有的逻辑判定,取“真”与取“假”的两种情 况都能至少测一遍。3、在循环的边界和运行的界限内执行循环体。4、测试内部数据结构的有效性,等等。单元测试(模块测试)是开发者编写的一小段代码,用 于检验被测代码的一个很小的、很明确的功能是否正确。通 常而言,一个单元测试是用于判断某个特定条件(或者场景) 下某个特定函数的行为。单元测试是由程序员自己来完成,最终受益的也是程序 员自己。可以这么说,程序员有责任编写功能代码,同时也 就有责任为自己的代码编写单元测试。执行单元测试,就是 为了证明这段代码的行为和

19、我们期望的一致。集成测试(也叫组装测试,联合测试)是单元测试的逻 辑扩展。它的最简单的形式是:两个已经测试过的单元组合 成一个组件,并且测试它们之间的接口。从这一层意义上讲, 组件是指多个单元的集成聚合。在现实方案中,许多单元组 合成组件,而这些组件又聚合成程序的更大局部。方法是测 试片段的组合,并最终扩展进程,将您的模块与其他组的模 块一起测试。最后,将构成进程的所有模块一起测试。系统测试是将经过测试的子系统装配成一个完整系统 来测试。它是检验系统是否确实能提供系统方案说明书中指 定功能的有效方法。(常见的联调测试)系统测试的目的是对最终软件系统进行全面的测试,确 保最终软件系统满足产品需求

20、并且遵循系统设计。验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用 于执行软件的既定功能和任务。验收测试是向未来的用户说明系统能够像预定要求那 样工作。经集成测试后,已经按照设计把所有的模块组装成 一个完整的软件系统,接口错误也已经基本排除了,接着就 应该进一步验证软件的有效性,这就是验收测试的任务,即 软件的功能和性能如同用户所合理期待的那样。06.测试计划工作的目的是什么?测试计划工作的内容 都包括什么?其中哪些是最重要的?软件测试计划是指导测试过程的纲领性文件,包含了产口口口口概述、测试策略、测试方法、测试区域、测试配置、测试 周期、测

21、试资源、测试交流、风险分析等内容。借助软件测 试计划,参与测试的工程成员,尤其是测试管理人员,可以 明确测试任务和测试方法,保持测试实施过程的顺畅沟通, 跟踪和控制测试进度,应对测试过程中的各种变更。测试计划和测试详细规格、测试用例之间是战略和战术 的关系,测试计划主要从宏观上规划测试活动的范围、方法 和资源配置,而测试详细规格、测试用例是完成测试任务的 具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)07.您认为做好测试计划工作的关键是什么? (1)明确测试的目标,增强测试计划的实用性编写软件测试计划得重要目的就是使测试过程能够发 现更多的软件缺陷,因此软件测试计划的价值

22、取决于它对帮 助管理测试工程,并且找出软件潜在的缺陷。因此,软件测 试计划中的测试范围必须高度覆盖功能需求,测试方法必须 切实可行,测试工具并且具有较高的实用性,便于使用,生 成的测试结果直观、准确(2)坚持“5W”规那么,明确内容与过程“眦规财旨的是“(做什么)”、W (为什么做)”、 Ben (何时做)、fcre (在哪里)、“How (如何做)”。利用“5W”规那么创立软件测试计划,可以帮助测试团队理解 测试的目的(Why),明确测试的范围和内容(What),确定 测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。(3)采用评审

23、和更新机制,保证测试计划满足实际需求测试计划写作完成后,如果没有经过评审,直接发送给 测试团队,测试计划内容的可能不准确或遗漏测试内容,或 者软件需求变更引起测试范围的增减,而测试计划的内容没 有及时更新,误导测试执行人员。(4)分别创立测试计划与测试详细规格、测试用例应把详细的测试技术指标包含到独立创立的测试详细 规格文档,把用于指导测试小组执行测试过程的测试用例放 到独立创立的测试用例文档或测试用例管理数据库中。测试 计划和测试详细规格、测试用例之间是战略和战术的关系, 测试计划主要从宏观上规划测试活动的范围、方法和资源配 置,而测试详细规格、测试用例是完成测试任务的具体战术。08.您所熟

24、悉的测试用例设计方法都有哪些?请分别以 具体的例子来说明这些方法在测试用例设计工作中的应用。(1)等价类划分划分等价类:等价类是指某个输入域的子集合。在该子 集合中,各个输入数据对于揭露程序中的错误都是等效的。 并合理地假定:测试某等价类的代表值就等于对这一类其它 值的测试。因此,可以把全部输入数据合理划分为假设干等价 类,在每一个等价类中取一个数据作为测试的输入条件,就 可以用少量代表性的测试数据。取得较好的测试结果。等价 类划分可有两种不同的情况:有效等价类和无效等价类。(2)边界值分析法边界值分析方法是对等价类划分方法的补充。测试工作 经验告诉我,大量的错误是发生在输入或输出范围的边界上

25、, 而不是发生在输入输出范围的内部。因此针对各种边界情况 设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情 况。通常输入和输出等价类的边界,就是应着重测试的边界 情况。应中选取正好等于,刚刚大于或刚刚小于边界的值作 为测试数据,而不是选取等价类中的典型值或任意值作为测 试数据。(3)错误推测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。错误推测方法的基本思想:列举出程序中所有可能有 的错误和容易发生错误的特殊情况,根据他们选择测试用 例。例如,在单元测试时曾列出的许多在模块中常见的错 误。以前产品测试中曾经发现的错误等,

26、这些就是经验的 总结。还有,输入数据和输出数据为0的情况。输入表格 为空格或输入表格只有一行。这些都是容易发生错误的情 况。可选择这些情况下的例子作为测试用例。(4)因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着 重考虑输入条件,但未考虑输入条件之间的联系,相互组合 等。考虑输入条件之间的相互组合,可能会产生一些新的情 况。但要检查输入条件的组合不是一件容易的事情,即使 把所有输入条件划分成等价类,他们之间的组合情况也相当 多。因此必须考虑采用一种适合于描述对于多种条件的组 合,相应产生多个动作的形式来考虑设计测试用例。这就需 要利用因果图(逻辑模型)。因果图方法最终生成的就是判 定表。它适合于检查程序输入条件的各种组合情况。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁