千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:首页  >  常见问题  >  就业相关  >  正文

常见的软件测试面试题及答案分享

时间:2019-02-20 15:32     来源:千锋教育 作者:Yolanda
分享: 更多

  随着企业对于软件质量的重视,软件测试工程师倍受青睐,对于求职者的要求也在提高,不仅要求求职者具备扎实的理论功底,还要有丰富的实战经验,这就给软件测试工程师求职增加了难度。今天千锋老师就给大家分享一些常见的软件测试面试题及答案。

  1、软件生存周期及其模型是什么?

  答:软件生存周期(Software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,知道失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每个时期又划分为若干个阶段,每个阶段有明确的任务。

  2、软件配置管理的作用?软件配置包括什么?

  答:软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。软件配置包括如下内容:配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计。

图片1

  3、你们公司测试的一个基本测试流程是什么?

  答:首先会召开需求分析会议,参加人员有产品、开发和测试,主要是探讨需求主要的一些功能点,完了之后,开发就排期进行开发,我们就根据主管写出来的计划、分配到的任务编写测试用例,写完之后会进行用例评审,有评审修改的就修改整理形成最终的用例版本,之后开发人员版本编译完成后,我们会依据测试用例来执行测试,测试过程中,提交bug,跟踪bug,直至关闭,测试完后编写测试报告。

  4、测试用例是什么?编写测试用例时会用到什么方法?

  答:测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本是为了进行自动化测试而编写的脚本,测试脚本的编写必须对应相应的测试用例。

  测试用例的方法有两种,白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖;黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法。

  5、如何提交高质量的软件缺陷(Bug)记录?

  答:1) 通用UI要统一、准确。缺陷报告的UI要与测试的软件UI保持一致,便于查找定位。

  2) 尽量使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。

  3) 每条缺陷报告只包括一个缺陷。

  4) 不可重现的缺陷也要报告。

  5) 明确指明缺陷类型根据缺陷的现象,总结判断缺陷的类型。

  6) 明确指明缺陷严重等级和优先等级。

  7) 描述 (Description) ,简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置。

  8) 短行之间使用自动数字序号,使用相同的字体、字号、行间距。

  9) 每一个步骤尽量只记录一个操作。

  10) 确认步骤完整,准确,简短。

  11) 根据缺陷,可选择是否进行图象捕捉。

  12) 检查拼写和语法缺陷。

  13) 尽量使用短语和短句,避免复杂句型句式。

  14) 缺陷描述内容。

  6、简述BUG 管理工具的跟踪过程

  用 BugZilla 为例子

  测试人员发现了 BUG,提交到 Bugzilla 中,状态为 new,BUG 的接受者为开发接口人员;开发接口将 BUG 分配给相关的模块的开发人员,状态修改为已分配,开发人员和测试确认BUG。如果是本人的 BUG,则设置为接收;如果是别的开发人员的问题,则转发出去,由下一个开发人员来进行此行为;如果认为不是问题,则需要大家讨论并确认后,拒绝这个 BUG,然后测试人员关闭此问题。

  如果开发人员接受了 BUG,并修改好以后,将 BUG 状态修改为已修复,并告知测试在哪个版本中可以测试。测试人员在新版本中测试,如果发现问题依然存在,则拒绝验证;如果已经修复,则关闭BUG。

  在面试的过程中,从回答问题的方式,就可以看出这个人是否有自信,是否敢于承担责任。当然,良好的准备才是打赢胜仗的基础