求职指南网 > 面试试题 >

软件测试面试题有哪些

时间: 淑娟 面试试题

软件测试是伴随着软件的产生而产生的。随着就业和技术的发展,软件测试岗位的要求只会更高,面试难度也会增大。今天小编整理了软件测试面试题有哪些供大家参考,一起来看看吧!

软件测试面试题有哪些

软件测试面试题有哪些

软件测试面试题第一部分:

笔试题

1. 避免死锁的方法有哪些?

2. 内存有哪几种存储组织结构,请分别加以说明。

3.如果你是一个测试组长,你将怎么做计划,去测试一个ICEBOX。

4.测试结束的标准是什么?

5.测试用例的设计方法有哪些,描述一个具体的例子。

6.单元测试和集成测试,描述工作实际开展的情况。

7.工作中哪些需要改进,期望的工作环境。

软件测试面试题第二部分:

口述题

问题:软件的缺陷等级应如何划分?

答案:

A类—严重错误,包括以下各种错误:1.由于程序所引起的死机,非法退出2.死循环3.数据库发生死锁4.因错误操作导致的程序中断5.功能错误6.与数据库连接错误7.数据通讯错误

B类—较严重错误,包括以下各种错误:1.程序错误2.程序接口错误3.数据库的表、业务规则、缺省值未加完整性等约束条件

C类—一般性错误,包括以下各种错误:1.操作界面错误(包括数据窗口内列名定义、含义是否一致)2.打印内容、格式错误3.简单的输入限制未放在前台进行控制4.删除操作未给出提示5.数据库表中有过多的'空字段

D类—较小错误,包括以下各种错误:1.界面不规范2.辅助说明描述不清楚3.输入输出不规范4.长操作未给用户提示5.提示窗口文字未采用行业术语6.可输入区域和只读区域没有明显的区分标志

E类—测试建议

软件测试员面试题的目的,就是是为了尽可能多地找出错误,不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,回答好基本的面试题,以得到考官肯定的评价。

软件测试的基本流程介绍

软件测试和软件开发一样,是一个比较复杂的工作过程,如果无章法可循,随意进行测试势必会造成测试工作的混乱。为了使测试工作标准化、规范化,并且快速、高效、高质量的完成测试工作,需要制订完整且具体的测试流程。

软件测试的流程

不同类型的软件产品测试的方式和重点不一样,测试流程也会不一样。同样类型的软件产品,不同公司所指定的测试流程也会不一样。虽然不同软件的详细测试步骤不同,但它们所遵循的最基本的测试流程是一样的:分析测试需求-制定测试计划-设计测试用例-执行测试-编写测试报告。下面对软件测试基本流程进行简单介绍。

(1)分析测试需求

测试人员在制订测试计划之前需要先对软件需求进行分析,以便对要开发的软件产品有个清晰的人认识,从而明确测试对象及测试工作的范围和测试重点。

在分析测试需求时还可以获取一些测试数据,作为测试计划的基本依据,为后续的测试打好基础。

测试需求分析其实也就是对软件需求进行测试,测试人员可以发现软件需求中不合理的地方,如需求描述是否完整,准确无歧义,需求优先级安排是否合理等。测试人员一般会根据软件开发需求文档制作一个软件需求规格说明书检查列表,按照各个检查项对软件需求进行分析校验如图所示

上表列出了需要对软件需求进行什么样的检查,测试人员按照检查项逐条检查和判断,如果满足要求则选择【是】,如果不满足要求则选择【否】,如果某个检查项不适用则选择【NA】。表1-3只是一个通用的软件需求规格说明检查列表,在实际测试中,要根据具体的测试项目进行适当的增减或修改。

在分析测试需求时要注意,被确定的测试需求必须是可核实的,测试需求必须有一个可观察,可评测的结果。无法核实的需求就不是测试需求。测试需求分析还要和客户进行交流,以澄清某些混淆,确保测试人员与客户尽早地对项目达成共识。

(2)指定测试计划

测试工作贯穿于整个软件开发生命周期,是一项庞大而复杂地工作,需要制定一个完整且详细地测试计划作为指导。测试计划是整个测试工作地导航图,但它并不是一成不变的,随着项目推进或需求变更,测试计划也会不断发生改变,因此测试计划的制定是随着项目发展不断调整,逐步完善的过程。

测试计划一般要做好以下工作安排。

①确定测试范围:明确哪些对象是需要测试的,哪些对象不是需要测试的。

②制定测试策略:测试策略是测试计划中最重要的部分,它将要测试的内容划分出不同的优先级,并确定测试重点。根据测试模块的特点和测试类型(如功能测试,性能测试)选定测试环境和测试方法(如人工测试、自动化测试)。

③安排测试资源:通过衡量测试难度、时间、工作量等因素对测试资源进行合理安排,包括人员分配、工具配置等。

④安排测试进度:根据软件开发计划、产品的整体计划来安排测试工作的进度,同时还要考虑各部分工作的变化。在安排工作进度时,最好在各项测试工作之间预留一个缓冲时间以应对计划变更。

⑤预估测试风险:罗列出测试工作过程中可能会出现的不确定因素,并制定应对策略。

(3)设计测试用例

测试用例(Test Case)指的是一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。不同的公司会有不同的测试用例模板,虽然它们在风格和样式上有所不同,但本质上是一样的,都包括了测试用例的基本要素。

测试用例编写的原则是尽量以最少的测试用例达到最大测试覆盖率。测试用例常用的设计方法包括等价类划分、边界值分析法、因果图与判定表法、正交实验设计法、逻辑覆盖法等,这些设计方法在后面的章节中会陆续交接。

(4)执行测试

执行测试就是按照测试用例进行测试的过程,这是测试人员最主要的活动阶段。在执行测试时要根据测试用例的优先级进行。测试执行过程看似简单,只要按照测试用例完成测试工作即可,但实则并不是如此。测试用例的数目非常多,测试人员需要完成所有测试用例的执行,每个测试用例都可能会发现很多缺陷,测试人员要做好测试记录与跟踪,衡量缺陷的质量并编写缺陷报告。

当提交后的缺陷被开发人员修改之后,测试人员需要进行回归测试。如果系统对测试用例产生了缺陷免疫,测试人员则需要编写新的测试用例。在单元测试、集成测试、系统测试、验收测试各个阶段都要进行功能测试、性能测试等,这个工作量无疑是巨大的。除此之外,测试人员还需要对文档资料,如用户手册,安装手册,使用说明等进行测试。因此不要简单的认为执行测试就是按部就班地完成任务,可以说这个阶段是测试人员最重要地工作阶段。

(5)编写测试报告

测试报告是对一个测试活动地总结,对项目测试过程进行归纳,对测试数据进行统计,对项目地测试质量进行客观评价。不同公司的测试报告模板虽不相同,但测试报告编写的要点都是一样的,一般都是先对软件进行简单介绍,然后说明这份报告是对该产品的测试过程进行总结,对测试质量进行评价。

一份完整的测试报告必须包含以下几个要点。

引言:描述测试报告编写目的、报告中出现的专业术语解释及参考资料等。

测试概要:介绍项目背景、测试时间、测试地点及测试人员等信息。

测试内容及执行情况:描述本地测试模块的版本,测试类型,使用的测试用例设计方法及测试通过覆盖率,依据测试的通过情况提供对测试执行过程的评估结论,并给出测试执行活动的改进建议,以供后续测试执行活动借鉴参考。

缺陷统计与分析:统计本次测试所发现的缺陷数目、类型等,分析缺陷产生的原因,给出规避措施等建议,同时还要记录残留缺陷与为解决问题。

测试结论与建议:从需求符合度、功能正确性、性能指标等多个维度对版本质量进行总体评价,给出具体明确的结论。

测试报告的数据是真实的,每一条结论的得出都要有评价依据,不能是主观臆断的。

软件测试工作职责

职责:

1、负责软件产品测试方案的设计;

2、负责软件测试工具的开发;

3、负责软件测试用例设计及优化;

4、建立测试环境,保证产品质量以及测试工作的顺利进行;

5、创建问题单,并分析、验证测试缺陷(defect);

6、设计、维护测试流程、用例;

7、撰写验证报告、测试报告。

任职要求:

5年以上软件系统测试经验,熟练使用常用数据库(如oracle、SQL);

熟悉软件测试技术基础理论,掌握黑盒测试方法;熟悉软硬件接口,具有中等规模以上软件测试方案设计和测试用例设计经验;

掌握自动化测试工具,熟悉软件白盒测试方法,具有软件单元测试经验者优先考虑;

本科及以上学历,计算机、软件工程、自动化、电气电子、系统可靠性及相关专业;

具有轨道交通连锁和ATS测试经验者优先。

27419