软件测试工程师面试基础题_第1页
软件测试工程师面试基础题_第2页
软件测试工程师面试基础题_第3页
软件测试工程师面试基础题_第4页
软件测试工程师面试基础题_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试复习内容

以下列举出来的问题大部份是要掌握的,可参考思维导图来看。

L什么是测试?

答:

(美国电器和电子工程师协会)IEEE提出的软件工程标准术语,使用人工和自动

手段来运行或者测试某个系统的过程,目的在于检验它是否满足规定的需求或者是弄清

预期结果与实际结果之间的差别。

简单定义:找出软件中的BUG

2.为什么要测试?

答:

在软件开辟过程中容易浮现缺乏有效沟通,软件复杂,编程错误,需求不断变更,时

间的压力,缺乏文档的代码,软件开辟工具和人员的自大等原因引起的错误,通过测试能

够找出其中的错误,解决错误,从而提高软件的质量

3.软件的生命周期分为哪几个阶段?具体的内容是什么?

答:

计戈U

工作内容

1.确定软件开辟总目标;

2.给出软件的功能、性能、可靠性以及接口等方面的设想;

3.研究完成该项目的可行性,探讨问题解决方案;

4.对可供开辟使用的资源、成本、可取得的效益和开辟进度作出估计;

5,制定完成开辟任务的实施计划。

需求分析

工作内容

对开辟的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些

需求是可以满足的,并且赋予切当的描述,写出软件需求说明书SRS(Software

RequirementSpecification)。

设计

工作内容

设计是软件工程的技术核心,这个阶段需要完成设计说明书

1.概要设计(HLD),在设计阶段把各项需求转换成相应的体系结构,每一部份是

功能明确的模块;

2.详细设计(LLD),对每一个模块要完成的工作进行具体的描述。

编码

工作内容

把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的

源程序清单,建立数据库。

测试

工作内容

测试是检验软件是否符合客户需求,达到质量要求,普通由独立的小组执行,

测试工作分为:

单元测试;集成测试;系统测试

运行和维护

工作内容

这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原

因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。

4.研发团队的组织构架与流程是什么?

答:

组织架构

软件开辟组

开辟经理

分析人员

设计人员

开辟人员

软件测试组

测试经理

测试人员

配置管理组

配置经理

CMO(配置管理员)

研发流程

瀑布模型

应用的最为广泛的一种模型,也是最容易理解和掌握的模型,然而它的缺陷也是显

而易见的。

螺旋模型

综合了基本的瀑布式模型和演化/渐增原型方法。

RUP流程

所有工作流在各个阶段都有体现。

IPD流程

从整个产品角度出发,不仅仅针对研发。

5.测试阶段怎么划分?

答:

1.测试计划阶段

2.测试设计阶段

3.测试实施阶段

4.测试执行阶段

6.什么是UTJT,S?T它们有什么区别?答:

UT:单元测试

IT:集成测试

ST:系统测试

区别:

测试方法考察范围评估标准

单控制流测法单元内部的数据逻辑覆盖

数据流测法结构、逻辑控制率

排错测法、异常处理等

年分域测法

成自顶向下增至测试方法接口与接口数

测自底向上增至测试方法据传递关系接口覆盖率

试混合增至测试方法

模块组合后的

恢复测试方法整体功能

安全测试方法这个系统对需测试用例对需求

系强度测试方法

统性能测试方法

容量测试方法

正确性测试方法

可靠性测试方法

兼容性测试方法

7.什么是回归测试?为什么要回归测试?回归测试的流程是什么?回归测试的测试策略

有哪些?

答:

回归测试是指软件系统被修改或者扩充(如系统功能增强或者升级)后重新进行的测

试,是为了保证对软件所做的修改没有引入新的错误而重新进行的测试。

回归测试目的是验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功

能。

流程:

1.在测试策略制定阶段,制定回归测试策略

2.确定需要回归测试的版本

3.测试版本发布后,按照回归测试策略来执行回归测试

4.回归测试通过,关闭缺陷跟踪单

5.回归测试不通过,缺陷跟踪单返回给开辟人员,开辟人员重新修改BUG.再次提

交给测试人员回归测试

测试策略:

1.彻底重复测试:重新执行前期设计的用例,来确认问题修改的真确性和修改的扩

散局部影响性

2.选择性重复测试:

1)覆盖修改法:针对被修改的部份,选取或者重新构造测试用例验证没有错误

再次发生的选择方法

2)周边影响法:该方法包括覆盖修改法,还要分析修改后对扩散的影响

3)指标达成法:先确定一个达成的指标,基于这种要求选择一个最小的测试

用例集合

8.画V&V模型?

答:

系统测试计划、设执行系统测试

需求分析-----孤,实现—

集成测试计划、设

概要设计V&执行集成测试

-------i—实现—

单元测试计划、设

详细设计执行单元测试

____二、窑现—

编码代1B审查

9.软件质量的定义是什么?影响软件质量的因素是哪些?ISO2000的八大原则是什么?

答:

定义:一个实体的所有特性,基于这些特性可以满足明显的或者隐含的需求。而质量

就是实体基于这些特性满足需求的程度

因素:

流程、技术、组织。

流程:一组活动(活动是否都是必须的;活动角色之间的关系)

过程:一组将输入转化为输出的相关联或者相互作用的活动。

原则;

1.以顾客为中心:组织依存于其顾客,因此,组织应理解顾客当前的和未来的需求,

满足顾客要求并争取赶超顾客期望。

2.领导作用:领导者将本组织的宗旨.方向和内部环境编统一起来,并创造使员工能够

充参预实现组织目标的环境。

3.全员参预:各级人员是组织之本,惟独他们的充分参预,才干使他们的才干为组织

带来最大的收益。

4.过程方法:将相关的资源和活动作为过程进行管理,可以更高效地得到期望的结果。

5.管理系统方法:针对设定的目标,识别.理解并管理一个由相互关联的过程的过程

所组成的体系,有助于提高组织的有效性和效率。

6.持续改进:持续改进是组织的一个永恒的目标。

7.基于事实的决策方法:对数据和信息的逻辑分析或者直觉判断是有效决策的基础。

8.互利的供方关系:通过互利的关系,增强组织及其供方创造价值的能力。其中与软件

产品产品优其相关有:(一.三.六.七项)

10.CMM/CMMI是什么?它的等级怎么划分?有什么目的?有什么作用?

答:

(1)能力成熟度模型;一种比较流行的软件质量管理体系

(2)划分:初始级;可重复级;已定义级;己管理级;优化级;

(3)目的:评估软件承包商能力

协助软件组织改进过程,提高过程能力

(4)作用:业界的实施标准

业界的一种交流语言

是中国企业获取国际定单的门坎

是向下采购的保障

是降低软件声场风险的有力手段

1L描述软件质量模型中的内容?

答:

功能性:

当软件在指定的条件下使用时,软件产品提供满足明确和隐含需求的功能的能力

1.适合性Suitabilit歙-件-产品为指定的任务和用户目标提供一组合适的功能的能力。

2.准确性Accuracy-软-件产品提供具有所需精确度的正确或者相符的结果或者效

果的能力。

3.互操作性interoperabilit软y-件-产品与一个或者更多的规定系统进行交互的能力。

4.保密安全性security-软-件产品保护信息和数据的能力,以使未授权的人员或者系

统不能阅读或者修改这些信息和数据,而不拒绝授权人员或者系统对它们的

访问。

5.功能性的依从性functionalCompliance-软-件产品遵循与功能相关的标准、约定或

者法规以及类似规定的能力。这些标准要考虑国际标准、国家标准、行业

标准、企业内部规范等。

可靠性:

在指定条件下使用时,软件产品维持规定的性能级别的能力

1.成熟性maturity-软-件产品为避免由软件中错误而导致失效的能力。

2.容错性faulttolerance-在-软件浮现故障或者违反指定接口的情况下,软件产品维

持规定的性能级别的能力。

3.易恢复性recoverabilit在-失效发生的情况下,软件产品重建规定的性能级别并恢

复受直接影响的数据的能力

4.可靠性的依从性reliabilictoympliance--软-件产品遵循与可靠性相关的标准、

约定或者法规的能力。

易用性:

在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力

1.易理解性understandability软-件-产品使用户能理解软件是否合适以及如何能将软

件用于特定的任务和使用环境的能力。

2.易学性leamabilit软-件-产品使用户能学习其应用的能力。

3.易操作性operability小件-产品使用户能操作和控制它的能力。

4.吸引性attractiveness软-件-产品吸引用户的能力

5.易用性的依从性usabilitycompliant:软e-件-产品遵循与易用性相关的标准、约定、风

格指南或者法规的能力。这些标准要考虑国际标准、国家标准、行业标准、

企业内部规范等,例如企业内部的界面规范。

效率:

在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力

1.时间特性:timebehavior-在-规定条件下,软件产品执行其功能时,提供适当的响

应和处理时间以及吞吐率的能力。即完成用户的某个功能需要的响应时间。

2.资源利用性:resourceutilizati在on定-条件下,软件产品执行其功能时,使用合适

的资源数量和类别的能力。

3.效率依从性:efficiencycomplianc软e-件-产品遵循与效率相关的标准或者约定的能力。

维护性:

软件产品可被修改的能力。修改可能包括修正、改进软件对环境、需求、和功能规

格说明变化的适应

1.易分析性analyzability诊-断软件产品中缺陷或者失效原因的能力。

2.易改变性changeability款-件-产品使指定的修改可以被实现的能力。

3.稳定性stability软-件-产品避免由于软件修改而造成意外结果的能力。

4.易测试性testabili审:-件-产品使已修改软件能被确认的能力。

5.维护性的依从性maintainabilicompliance--软-件产品遵循与维护性相关的标

准或者约定的能力。

可移植性:

软件产品从一种环境迁移到另一种环境可正常使用或者满足用户需求的能力

1.适应性adaptability:--件-产品无需采用有别于为考虑该软件的目的而准备的活动

和手段就可以适应不同的环境的能力。

2.易安装性installabili软ty件-产-品在指定环境中被安装的能力。

3.共存性co-existence软件-产品在公共环境中同与其分享公共资源的其它独立软

件共存的能力。

4.易替换性replaceabilit软-件-产品在同样的环境下,替代另一个相同用途的指定软

件产品的能力。

5.可移植性的依从性portabilitycomplian软ef牛--产品遵循与可移植性相关的标准或者

约定能力。

12.测试的方法有哪些?

答:

白盒测试、黑盒测试、灰盒测试、0测试,a测试、可移植性测试、冒烟测试等

13.什么是白盒测试?

答:

白盒测试是根据被测试程序的内部结构设计测试用例的一类测试,有人也称它为透

明盒或者玻璃盒测试,涉及到软件设计的细节。比如单元测试普通采用白盒测试方法,

并参考LLD(详细设计)

14.什么是黑盒测试?

答:

黑盒测试又称功能测试、数据驱动测试或者基于规格说明的测试,被测试程序当做

黑盒处理,无法了解其内部的构造。比如系统测试普通采用黑盒测试方法,并参考

SRS

15.什么是静态测试?

答:

不运行被测试的软件系统,而是采用其他手段和技术对被测试软件进行检测的一种

测试技术。例如:代码走读、文档评审、程序分析等都是静态测试的范畴。常用技术有

静态分析技术

16.什么是动态测试?

答:

按照预先设计的数据和步骤去运行被测软件系统,从而对被测软件系统进行检测的

一种测试技术。常用技术有动态分析技术

17.什么是人工测试?

答:

测试活动(如评审、测试设计、测试执行等)由人来完成,狭义上是指测试执行由

人工完成,这是最基本的测试形式

18.什么是自动化测试?

答:

普通是指通过计算机摹拟人的测试行为,替代人的测试活动,狭义上是指测试执行

由计算机来完成

19.逻辑覆盖关注的内容是哪些?

答:

1.语句覆盖

2.判定覆盖

3.条件覆盖

4.判定一条件覆盖

5.路径覆盖

20.常见的黑盒测试方法有哪些?

答:

1.等价类划分法

2.边界值分析法

3.因果图分析法

4.判定表法

5.正交试验法

6.状态迁移法

21.什么是同行评审?

答:

同行评审:(PeerReview)是一种通过作者的同行来确认缺陷和需要变更区域的检

查方法。需要进行同行评审的特定产品在定义项目软件过程的时候被确定并且作为软件

开辟计划的一部份被安排了进度。根据形式正规的程度分为:

a)正规检视

b)技术评审

c)走查

同行评审的对象可以是计划、需求文档、设计图、代码等

22.自动化测试有什么意义?

答:

1.对程序新版本运行前一版本执行的测试,提高回归测试效率

2.可以运行更多更频繁的测试,比如冒烟测试

3.可以执行手工测试艰难或者不可能做的测试,比如大量的重复操作或者集成测试

4.更好地利用资源,比如测试仪器或者被测对象

5.测试具有一致性和可重复性,即自动化测试的步骤和结果是彻底一样的

6.测试的复用性,即自动化测试脚本可以拆分开给其它测试脚本使用

7.可以更快地将软件推向市场,软件发布前进行高效的回归测试,减少软件发布的时

8.增加软件信任度,通过自动化测试提高了测试效率,可把节约的时间拿出来做更多的

测试

23.测试用例的八大要素是什么?

答:

1.测试用例编号

2.测试项目

3.测试标题

4.重要级别

5.预置条件

6.输入

7.操作步骤

8.预期输出

24.什么是缺陷管理?引入的原因有哪些?

答:

是在软件生命周期中获取、管理、沟通任何变更请求的过程。可以确保你的问题如

需求或者缺陷被跟踪管理而不丢失

引入原因:

1.开辟过程中缺乏有效沟通,或者没有沟通

2.软件负责度越来越高

3.编程中产生的错误

4.需求不断变更

5.项目进度的压力

6.不重视开辟文档

7.软件开辟工具本身隐藏的问题

25.缺陷的属性有哪些?

答:

1.缺陷发现人;

2.缺陷发现时间;

3.缺陷状态;

4.缺陷严重程度;

5.缺陷所属版本;

6.缺陷修改日期

26.画缺陷管理流程图?

答:

27.如何写缺陷跟踪单?

答:

缺陷跟踪单遵循5W原则;

1.Correct(准确):每一个组成部份的描述准确,不会引起误解

2.Clear(清晰):每一个组成部份的描述清晰,易于理解

3.Concise(简洁):只包含必不可少的信息,不包括任何多余的内容

4.Complete(完整):包含复现该缺陷的完整步骤和其他本质信息

5.Consistent(一致):按照一致的格式书写全部缺陷报告

28.什么是测试覆盖率?

答:

覆盖率是用来度量测试完整性的一个手段。覆盖率是测试技术有效性的一个度量。

覆盖率=(至少被执行一次的item数)/item的总数

29.写计算语句覆盖率、判定覆盖率、条件覆盖率、判定-条件覆盖率、路径覆盖率、指令

覆盖率等的表达式?

答:

语句覆盖率=(至少被执行一次的语句数量)/(可执行的语句总数)判

定覆盖率=(判定结果被评价的次数)/(判定结果的总数)

条件覆盖率=(条件操作数值至少被评价一次的数量)/(条件操作数值的总数)

分支条件覆盖率=(条件操作数值或者判定结果至少被评价一次的数量)/(条件操作数值

总数+判定结果总数)

路径覆盖率=(至少被执行到一次的路径数)/(总的路径数)

指令块覆盖=(至少被执行一次的指令块数量)/(系统中指令块总数)

30.什么是系统测试?

答:

系统测试(SystemTesting)是将已经集成好的软件系统,作为整个基于计算机系

统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合

在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试活动

31.系统测试的目的是什么?

答:

1.通过与系统的需求定义做比较,发现软件与系统定义不符合或者与之矛盾的地方;

2.系统测试的测试用例应根据需求分析说明书来设计,并在世界使用环境下运行

32.系统测试的类型有哪些?

答:

功能测试;性能测试;压力测试;容量测试;安全性测试;GUI测试;可用性测试;

安装测试;配置测试;异常测试(恢复性测试);备份测试;茁壮性测试;文档测试;在

线匡助测试;网络测试;稳定性测试

33.系统测试执行的活动有哪些?

答:

系统测试预测试项执行

系统测试与测试报告写作

系统测试用例执行

系统测试缺陷记录、修复

系统测试日报写作

系统测试报告写作

系统测试缺陷的回归测试

34.什么是单元测试?目的是什么?

答:

单元测试是对软件基本组成单元进行的测试,如函数(function或者(procedure)或

者一个类的方法(method)

单元测试的目的在于发现个模块内部可能存在的各种错误,主要是基于白盒测试

1.验证代码是与设计相符合的

2.发现设计和需求中存在的错误

3.发现在编码过程中引入的错误

35.单元测试的关注点?

答:

1.单元接口

2.局部数据结构

3.边界条件

4.独立路径

5.出错处理

36.什么是驱动?什么是桩?

答:

驱动单元(Driver):所测函数的主程序,它接受测试数据,并把数据传送给所测试

单元,最后在输出实测结果,当被测试单元能完成相关的功能时,也可以不要驱动单元

桩单元(Stub):用来代替所测试单元调用的子单元

37.单元测试的测试策略是哪些?各有什么优缺点?

答:

孤立的测试策略:

优点:该方法是最简单,最容易操作的,可以达到高的结构覆盖率,该方法是

纯粹的单元测试

缺点:桩函数和驱动函数工作量很大,效率低.

自顶向下的单元测试策略:

优点:可以节省驱动函数的开辟工作量,测试效率较高。

缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开辟

和维护的成本将增加。

自底向上的单元测试策略:

优点:可以节省桩函数的开辟工作量,测试效率较高。

缺点;不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很

大影响。

38.什么是集成测试?目的是什么?

答:

集成测试是在单元测试的基础上,将所有函数按照概要设计要求组装成为子系统或

者系统所进行的测试

集成测试的目的是确保各组件组合在一起后能够按既定意图写作运行,并确保增量

的行为正确。验证软件的组建对HLD的符合程度。集成测试属于灰盒测试。

1.验证接口是否与设计相符合的

2.发现设计和需求中存在的错误

39.集成测试的关注点是什么?

答:

单元间的接口:

在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

全局数据结构是否有问题,会不会被一场修改;

集成后的功能

各个子功能组合起来,能否达到预期要求得父功能;

一个模块的功能是否会对另一个模块的功能产生不利的影响;

单个模块的误差积累起来,是否会放大,从而达到不可接受的程度

40.集成测试的测试策略是哪些?各有什么优缺点?

答:

,大爆炸集成

优点:

1.大爆炸集成可以迅速完成集成测试,并且只要极少数的驱动和桩模块设计,它需要的

测试用例也是至少的;

2.该方法比较简单、易行;

3.多个测试人员可以并行工作,对人力、物力资源利用率较高

缺点:

1.这种一次性组装方式试图在辅助模块的协助下,在模块单元测试的基础上,将所测

模块连接起来进行测试,但是由于程序中不可避免地存在模块间接口,全局数据结

构等方面的问题,所以一次试运行成功的可能性并不很大;

2.在发现错误时,其问题定位和修改都较艰难;

3.即使被测系统能够一次性集成,但还是会有许多接口错误很容易躲过测试而进入到

系统测试范围内

自顶向下集成

优点:

1.自顶向下的集成方式在测试过程中较早地验证了主要的控制和判断点;

2.如果选择按深度方向组装的方式,可以首先实现和验证一个完整的软件功能;

3.功能可行性较早得到证实,还能够给开辟者和用户带来成功的信心;

4.最多只需一个驱动,减少了驱动器开辟的费用;

5.支持故障隔离

缺陷:

1.桩的开辟和维护是本策略的最大成本;

2.底层组件行为的验证被推迟了;

3.随着底层组件的不断增加,整个系统越来越复杂,导致底层组件的测试不充分,尤

其是那些被重用的组件

自底向上集成

优点:

1.允许对底层组件行为的早期验证,可以在任意一个叶子节点已经就绪的情况下进行

集成测试;

2.在工作的最初可能会并行进行集成,在这一点上比使用自顶向下的策略效率高;

3.减少了桩的工作量,毕竟在集成测试中,桩的工作量远比驱动的工作量要大得多,

但是为了摹拟一些中断或者异常,可能还是需要设计一定的桩

缺点:

1.驱动的开辟工作量也是很庞大的;

2.对高层的验证被推迟到了最后,设计上的错误不能被及时发现,特别对那些控制结

构在整个体系中非常关键

三明治集成

优点:

集合了自顶向下和自底向上两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论