软件测试重点试题及答案

软件测试重点试题及答案
软件测试重点试题及答案

程序员所做的测试工作并非真正意义上的软件测试,从本质上来说,应该称作“调试“。调试就是,在已知错误的情况下,对软件程序代码作出一系列检查,校正的过程。而软件测试则是在未知错误的情况下,检查程序代码是否有问题的过程。

1.2.2 软件测试的定义

a. 软件是一个集合,包括三部分:程序代码,文档,数据。

b. 软件测试就是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程,其目的在于在软件交付使用前充分发现缺陷并协助相关部门定位、解决缺陷,最后交付一个高质量的软件给用户。

c. 从广义上讲,软件测试是指软件产品生存周期内的所有检查、评审和确认活动。如设计评审、文档审查、单元测试、集成测试、系统测试、验收测试等。

d. 软件测试中称找缺陷的过程为找Bug。Bug表示电脑系统或程序中隐藏的错误、缺陷和问题。

一切不完美的地方,我们都可以认为其实一个Bug。

1.2.3 软件测试分类

(1)一般的,我们将软件测试活动分为以下几类:黑盒测试、白盒测试、灰盒测试、静态测试、动态测试、手动测试、自动测试等。

1)黑盒测试

黑盒测试又叫做功能测试、数据驱动测试或基于需求规格说明书的功能测试。该测试类型注重于测试软件的功能性需求。

测试工程师无需了解程序代码内部结构,完全模拟软件产品的最终用户使用该软件,检查软件产品是否达到了用户的需求。

2)白盒测试

白盒测试又称为结构测试、逻辑驱动测试或基于程序代码内部构成的测试。

测试工程师将深入考察程序代码的内部结构,逻辑设计等。

3)灰盒测试

灰盒测试是前两种测试的集合,一方面考虑程序代码的功能性表现,另一方面又要考虑程序代码内部结构。

像我们的功能测试,自动化功能测试就采用了灰盒测试的方法。

4)静态测试

静态测试,顾名思义,就是静态的、不执行被测对象程序代码而寻找缺陷的过程。通俗的讲,静态测试就是用眼睛看,阅读程序代码、文档资料等,与需求规格说明书中的客户需求进行比较,找出程序代码中设计不合理以及文档资料有错误的地方。

一般在企业、公司里召开正规的评审会,通过评审的方式,找出文档资料、程序代码中存在缺陷的地方,并加以修改。

在进行代码静态测试时,可以使用代码走查工具,如QA C++、C++Test等。

5)动态测试

动态测试即为实际的执行被测试对象代码,输入事先设计好的测试用例,检查程序代码运行的结果与测试用例中设计的预期结果之间是否有差异,判定实际结果与预期结果是否一致,从而检查程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能状况。

动态测试由四部分组成:设计测试用例、执行测试用例、分析比较输出结果、输出测试报告。

6)手动测试

手动测试是最传统的测试方法。它是测试人员设计测试用例并且执行测试用例,然后根据实际的结果去和预期的结果相比较并记录测试结果,最终输出测试报告的测试活动。

7)自动化测试

随着测试技术的不断更新,出现了很多自动化测试工具,如HP的QuickTest Professional、LoadRunner,微软的WAS,IBM的Rational等。

所谓的自动化测试就是利用一些测试工具,模拟用户的业务使用流程,让它们自动运行来查找缺陷。也可以编写一些代码,设定特定的测试场景,来自动寻找缺陷。

自动化测试的优点是能够很快、很广泛的查找缺陷,同时可以做很多重复性的工作,在回归测试阶段,可以利用QuickTest Professional自动化功能测试工具进行。

有时候我们常常需要做一种压力测试,需要几万甚至几十万个用户同时访问某个站点,以保证网站的服务器不回出现死机或者崩溃的现象。一般来说,找几万人同时打开网页是不现实的,就算能够找到那么多的测试者,成本也很高。但是,利用测试工具,比如LoadRunner,就可以非常容易得做到,并且测试工具还可以自动判断浏览结果是否正确。

1.3 软件测试流程

测试计划的编写从分析和设计阶段就开始了。

在实际工作中,测试环节可分为明显的、同等重要的几个阶段:需求测试、单元测试、集成测试(又称组装测试)和系统测试。第六阶段是验收测试阶段,验收测试无论是在规模上或性质上都和系统测试很相似,它们的根本区别在于:前者是内部的,而后者是手“客户“控制的。

软件测试流程图

单元测试:是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。她是软件动态测试的最基本部分,也是最重要部分,其目的是检验软件基本组成单位的正确性。

8、既可以用于黑盒测试,也可以用于白盒测试的方法的是()

A. 逻辑覆盖法

B. 边界值法

C. 基本路径法

D. 正交试验设计法

逻辑覆盖法和基本路径测试是白盒测试的大分类;

正交实验设计法:也是不涉及代码内部结构的典型的黑盒测试方法;

边界值法在黑盒测试中,我们可以不涉及代码来取边界值;但是也可以在设计代码时,比如在条件覆盖等白盒测试方法中取到边界值,因为往往边界值的位置容易出错。。。所以是两种测试都可以用

9、验收测试是由最终用户来实施的。请判断这句话的正确与否。

A. T

B. F

Acceptance testing(验收测试),系统开发生命周期方法论的一个阶段,这时相关的用户和/或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。

验收测试有alpha和beta两种,且都由用户来实施,区别在于是否为最终用户

alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境进行的受控测试

beta测试是由软件的多个用户在一个或多个实际使用环境下进行的测试

验收测试有alpha和beta两种,且都由用户来实施,区别在于是否为最终用户

alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部用户在模拟实际操作环境进行的受控测试

beta测试是由软件的多个用户在一个或多个实际使用环境下进行的测试

10、如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的判定覆

11、在下面说列举的逻辑测试覆盖中,测试覆盖最强的是?

A. 条件覆盖

B. 条件组合覆盖

C. 语句覆盖

D. 判定/条件覆盖

条件覆盖CC(Condition Coverage),设计足够多的测试用例,运行被测程序,使得

每一判定语句中每个逻辑条件的可能取值至少满足一次。条件覆盖率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%[1] 条件覆盖的缺点:只考虑到每个判定语句中的每个表达式,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖.

条件组合覆盖,也称多条件覆盖MCC (Multiple Condition Coverage),设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。这种方法包含了“分支覆盖”和“条件覆盖”的各种要求。满足条件组合覆盖一定满足判定覆盖、条件覆盖、判定条件覆盖。条件组合覆盖率的公式:条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数条件组合覆盖的缺点:判定语句较多时,条件组合值比较多。

语句覆盖SC(Statement Coverage),就是设计若干个测试用例,运行被测程序,

使得程序中每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖在测试中主要发现缺陷或错误语句。

判定条件覆盖CDC(Condition/ Decision Coverage),设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果也至少出现一次。[1] 判定条件覆盖率的公式:条件判定覆盖率=被评价到的条件取值和判定分支的数量/(条件取值总数+判定分支总数).判定条件覆盖的缺点:没有考虑单个判定对整体结果的影响,无法发现逻辑错误。

正确答案:B

解析:逻辑测试覆盖是白盒测试法常用的技术。主要的覆盖标准有6种,强度由弱到强依次是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖

12、[不定项选择题]

有关"测试驱动开发",下列说法正确的有?

A. TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编

写什么产品代码

B. TDD的基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测

试工作,而是把需求分析,设计,质量控制量化的过程。

C. TDD的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在

开发过程中帮助客户和程序员去除模棱两可的需求。

D. TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能

的过程和接口进行设计,而测试框架可以持续进行验证。

测试驱动开发,英文全称Test-Driven Development,简称 TDD ,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD得原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。

TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于敏感词开发方法和过程。TDD得基本思路就是通过测试来推动整个开发得进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设计,质量控制量化的过程。TDD 的重要目的不仅仅是测试软件,测试工作保证代码质量仅仅是其中一部分,而且是在开发过程中帮助客户和程序员去除模棱两可的需求。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。

优点:在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能的产品。缺点:增加代码量。测试代码是系统代码的两倍或更多

13、测试方法可以分成哪几种?

A个人复查

B抽查和会审

C黑盒测试

D白盒测试

人工测试:个人复查、抽查和会审,机器测试:黑盒测试和白盒测试

85、项目立项前测试人员不需要提交任何工件。请判断这句话的正确与否。

正确答案: A 你的答案: B (错误)

A.T

B.F

工件是加工过程中的生产对象。项目立项前,测试人员是不需要提供任何工件的。

所以该说法正确,故选A。

86、测试的关键问题是()

正确答案: D 你的答案: D (正确)

A.如何组织对软件的评审

B.如何验证程序的正确性

C.如何采用综合策略

D.如何选择测试用例

测试用例是测试程序正确性与否的关键。一个覆盖完全的测试用例可以测试出程序是否正确

运行,是否有bug等等,是最重要的。

87、单元测试能发现约80%的软件缺陷。请判断这句话的正确与否。

正确答案: A 你的答案: A (正确)

A.T

B.F

因为缺陷放大理论,在单元测试阶段发现的bug会在系统测试阶段被放大,放大倍数完全符合80/20理论

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单

元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的

测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

88、自底向上集成需要测试员编写驱动程序。请判断这句话的正确与否。

正确答案: A 你的答案: A (正确)

A.T

B.F

自底向上测试是从“原子”模块(即软件结构最低层的模块)开始组装测试,因测试到较高层模块时,所需的下层模块功能均已具备,所以不再需要桩模块。

自底向上集成方法不用桩模块,测试用例的设计亦相对简单,但缺点是程序最后一个模块加入时才具有整体形象,需要开发驱动模块。

自底向上集成是从最低层的模块开始集成,因测试到较高层模块时,所需求的下层模块功能均已具备,所以不再需要桩模块,测试用例的设计也相对简单,缺点是程序最后一个查勘块加入时才具有整体形象.

自底向上集成测试的步骤为:

1.把低层模块组织成实现某个子功能的模块群;

2.开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;

3.对每个模块群进行测试;

4.删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功能的新模块群. 89、下面属于白盒测试方法的是

正确答案: B 你的答案: A (错误)

A.等价划分方法

B.逻辑覆盖

C.边界值分析

D.错误推测法

【解析】白盒测试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、判断-条件覆盖,选择B。其余为黑盒测试法。

白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。

白盒子测试方法:(强度由低到高)语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件

组合覆盖、路径覆盖。

90、软件测试类型按开发阶段划分是?

正确答案: B 你的答案: B (正确)

A.需求测试、单元测试、集成测试、验证测试

B.单元测试、集成测试、确认测试、系统测试、验收测试

C.单元测试、集成测试、验证测试、确认测试、验收测试

D.调试、单元测试、集成测试、用户测试

(1)单元测试:

单元测试又称为模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。

(2)集成测试

又称为组装测试或联合测试,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。

(3)确认测试

确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般有第三方测试机构进行。

(4)系统测试

软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,

目的在于与系统需求比较,发现问题

(5)验收测试

以用户为主的测试,软件开发人员和质量保证人员参加,由用户设计测试用例。

不是对系统进行全覆盖测试,而是对核心业务流程进行测试。

所以软件测试类型按开发阶段分为单元测试,集成测试,确认测试,系统测试,验收测试。

91、软件验收测试的合格通过准则是:

正确答案: A B C D 你的答案: A B C D (正确)

A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

B.所有测试项没有残余一级、二级和三级错误。

C.立项审批表、需求分析文档、设计文档和编码实现一致。

D.验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)。

92、做好文档测试需要注意的点有哪些?

正确答案: A B C D 你的答案: A B C D (正确)

A.仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例

B.检查文档的编写是否满足文档编写的目的

C.内容是否齐全,正确,完善

D.标记是否正确

93、下列关于alpha 测试的描述中正确的是哪些?

正确答案: A D 你的答案: A D (正确)

A.alpha 测试需要用户代表参加

B.alpha 测试不需要用户代表参加

C.alpha 测试是系统测试的一种

D.alpha 测试是验收测试的一种

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,α测试不能由程序员或测试员完成。α测试发现的错误,可以在测α测试性能测试

试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。

所以选AD。

94、软件测试的对象包括()

正确答案: B 你的答案: C (错误)

A.目标程序和相关文档

B.源程序、目标程序、数据及相关文档

C.目标程序、操作系统和平台软件

D.源程序和目标程序

软件测试的对象包括:程序、数据、文档。目标程序和源程序都属于程序。

95、判断对错。系统测试计划属于项目阶段性关键文档,因此需要同行评审。

正确答案: A 你的答案: A (正确)

A.正确

B.错误

同行评审目的:发现小规模工作产品的错误,系统测试计划属于项目阶段性关键文档,同行评

审是必须的

96、对于软件的β测试,下列描述正确的是( )。

正确答案: D 你的答案: D (正确)

A.β测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试

B.β测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试

C.β测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试

D.β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试

α、β、λ常用来表示软件测试过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在

个别地方再做进一步的优化处理即可上市发行。

Beta测试是一种验收测试。所谓验收测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,通过了验收测试,产品就会进入发布阶段。验收测试一般根据产品规格说明书严格检查产品,逐行逐字地对照说明书上对软件产品所做出的各方面要求,确保所开发的软件产品符合用户的各项要求。通过综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软件测试的最后一步——验收测试即可开始。验收测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。

Beta测试由软件的最终用户们在一个或多个客房场所进行。与Alpha测试不同,开发者通常不在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。用户Beta测试过程中遇到的一切问题(真实在或想像的),并且定期把这些问题报告给开发者。接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全

体客户发布最终的软件产品。

97、代码评审员一般由测试员担任。请判断这句话的正确与否。

正确答案: B 你的答案: B (正确)

A.T

B.F

一般都是开发人员评审

代码评审的内容:

编码规范问题:命名不规范、magic number、System.out……

代码结构问题:重复代码、巨大的方法和类、分层不当、紧耦合

工具、框架使用不当:Spring、Hibernate、AJAX

实现问题:错误验证、异常处理、事务划分、线程、性能、安全、实现过于复杂、代码可读性不佳、扩展性不好

测试问题:测试覆盖度不够、可测试性不好

代码评审不负责检查功能、逻辑是否正确,这些要靠单元测试和QA工作来解决

98、对手机软件的压力测试通常可以包括【多选】()

正确答案: A B C 你的答案: A B C D (错误)

A.存储压力

B.响应能力压力

C.网络流量压力

D.并发压力

针对手机应用软件的系统测试,我们通常从如下几个角度开展:功能模块测试,交叉事件测试,压力测试,容量测试,兼容性测试,易用性/用户体验测试等.

对手机可以施加的压力测试类型主要有:存储压力、边界压力、响应能力压力、网络流量

压力

99、下面属于白盒测试方法的有哪些?

正确答案: A D 你的答案: A C D (错误)

A.语句覆盖

B.等价类划分

C.边界值分析

D.判定条件覆盖

黑盒测试方法、白盒测试方法:

具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

100、软件验收测试分为三类:

正式验收测试;

非正式验收测试:

其中包括α测试(由用户、测试人员、开发人员共同参与的内部测试。)

和β测试(内测后的公测,即完全交给最终用户测试。)

101、软件测试计划评审会需要哪些人员参加?

正确答案: A B C D 你的答案: A B C D (正确)

A.项目经理

B.SQA 负责人

C.配置负责人

D.测试组

软件测试计划评审会需要有项目经理、客户(可选)、配置管理员、测试经理、开发组长等人的参加。

所以ABCD都需要参加。

所以选ABCD。

软件质量保证(SQA-Software Quality Assurance)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证

组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。

目标1: 软件质量保证[1] 工作是有计划进行的。

目标2: 客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和需求。目标3: 将软件质量保证工作及结果通知给相关组别和个人。

目标4: 高级管理层接触到在项目内部不能解决的不符合类问题。

目标5: 软件质量需要全面的测试工作来保证。

102、下面描述测试工具的功能正确的有?

正确答案: A B C D 你的答案: A B C D (正确)

A.JMeter: 基于JAVA的压力测试工具,Badboy用来进行脚本的录制

B.Junit: 白盒测试工具:针对代码测试

C.LoadRunner:负载压力测试

D.TestLink: 用例管理工具

LoadRunner-负载压力测试:预测系统性能。

JMeter+Badboy:基于JAVA的压力测试工具,Badboy用来进行脚本的录制

功能测试:通过自动录制、检测和回放用户的应用操作。将输出记录同预先给定的记录比较。Junit:白盒测试工具:针对代码测试

测试管理工具:对测试需求、计划、用例、实施进行管理

测试辅助工具:本身不执行,可以生成测试数据,为测试提供数据准备

负载压力测试:LoadRunner:预测系统行为和性能的工业标准级负载测试工具。模拟上千万用户同时实施并发操作,来实时监控可能发生的问题。

功能测试:QTP(quicktest professional):自动测试工具

白盒测试:C++ TEST(做C和C++的白盒测试)、JUnit(Java白盒测试)

缺陷管理工具:Mantis、BugFree、QC、TD

用例管理工具:TestLink、QC

测试辅助工具:SVN

136、测试人员要坚持原则,缺陷未修复完坚决不予通过。请判断这句话的正确与否。

正确答案: B 你的答案: B (正确)

A.T

B.F

缺陷分两种:

1、完全影响软件的正常运行或者影响客户的正常体验。

这种当然不能予以通过

2、不影响产品运行及客户正常体验且此软件急于使用。

以公司利益为出发,应予以通过。但在时间不紧急的情况下应不予通过。

72、alpha测试与beta的区别,描述错误的是?

正确答案: D 你的答案: C (错误)

A.alpha测试是在用户组织模拟软件系统的运行环境下的一种验收测试,由用户或第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试,试图发现并修改错误。

B.Beta测试是用户公司组织各方面的典型终端用户在日常工作中实际使用beta版本,并要求用户报告异常情况,提出批评意见。

C.beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。

D.beta测试先于alpha测试执行

Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。Alpha 测试是在受控的环境中进行的。

Beta测试由软件的最终用户们在一个或多个客房场所进行。与Alpha测试不同,开发者通常在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。

α测试是指软件开发公司组织内部人员模拟各类用户对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。经过α测试调整的软件产品称为β版本。β测试是由软件的多个用户在实际使用环境下进行的测试,这些用户返回有关错误信息给开发者。测试时,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。在β测试中,由用户记下遇到的所有问题,包括真实的以及主观认定的,定期向开发者报告。β测试主要衡量产品的FLURPS,着重于产品的支持性,包括文档,客户培训和支持产品生产能力。只有当α测试达到一定的可靠程度时,才能开始β测试。它处在整个测试的最后阶段。同时,产品的所有手册文本也应该在此阶段完全定稿。

最新软件测试期末考试试题及答案

一,判断 1 √ 2.× 3.√ 4.× 5. × 6. ×7. ×8. ×9.√10. ×二,选择 1. D 2. D 3. B 4. B 5. B 6. A 7. D 8. B 9. C 10. A 三填空 1. 测试计划、测试用例 2. 稳定性测试、负载测试、压力测试 3. 非增量是集成测试自顶向下增量式测试、自底向上增量式测试 4. 回归 5. 软件需求 四简答题(30分) 1.试描述软件测试的定义?(3分) 答:利用手工或者自动化的方式,按照测试方案对系统执行测试用例的过程叫做软件测试。 2.什么是软件缺陷?(4分) 答:满足以下条件的问题都叫缺陷: 软件未达到产品说明书中已标明的功能 软件出现了产品说明书中指明不会出现的错误 软件功能超出了产品说明书指明的范围 软件未达到产品说明书虽未指出但应达到的目标 软件测试员认为软件难以理解,不易使用,运行速度缓慢,或者最终用户认为该软件使用效果不好。 3.常见的黑盒测试用例的设计方法?并分别简单介绍一下各自的思想。(8分)答:等价类划分:等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。 边界值分析:对输入输出的边界值进行测试的一种黑盒测试方法。 决策表法:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具 因果图分析法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对

性的设计测试用例的方法。 4. 列举常见的系统测试方法。答出来5个即可。(5分) 答:恢复测试 安全测试 强度测试 性能测试 正确性测试 可靠性测试 兼容性测试 Web测试 5.文档测试主要测试哪些内容?答出来5点即可(5分) 答:(1)检查产品说明书属性 (2)检查是否完整 (3)检查是否准确 (4)检查是否精确 (5)检查是否一致 (6)检查是否贴切 (7)检查是否合理 (8)检查代码无关 (9)检查可测试性 6. 单元测试主要测试那几方面的问题?(5分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题

软件测试期末考试含答案

西华师范大学计算机学院2013年度期末测试 软件测试A卷(11+18+12+19+40=100分) 一、单项选择(每空1分,共11分) 1、执行函数测试时,当多次调用底层函数,底层模拟器的"模拟值"输入栏可设 定多个模拟值,一次最多可设置( C)个模拟值。 A、1 B、3 C、6 D、11 2、当函数测试存在失败断言时,在白盒覆盖率信息窗口中VU会显示一个 ( B )的条块来提示,没有失败断言时,会显示一个( A )的条块来显示; 在逻辑结构窗口中,未覆盖的路径用( B)画出,已覆盖的路径用( A)画出,未覆盖的分支是(D)的条块。 A、深绿色 B、深红色 C、浅蓝色 D、粉红色 E、浅绿色 3、VU导出的测试报告文件格式为:( C ),表格化测试用例数据导出的文 件格式为:(E) A、*.pdf B、*.txt C、*.htm D、*.csv E、*.xls F、*.doc 4、在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件 带来新的问题。软件的改变可能是源于发现错误并做好了修改,可能是因为在集成或维护阶段加入了新的模块,为了验证软件修改后的正确性需要进行(E)。 A、白盒测试 B、黑盒测试 C、单元测试 D、性能测试 E、回归测试 F、验收测试 5、当用底层模拟器去模拟被测单元调用的底层函数的输出函数,并且此输出参 数为指针数据类型,应该设置此参数的模拟值为(D)。 A、指针值 B、引用的地址 C、指针指向的数据类型的值 D、NULL 6、当用底层模拟器去模拟被测单元调用的底层函数的返回值,并且此输出参数 为指针数据类型,应该设置此参数的模拟值为(C)。 A、指针值 B、引用的地址 C、指针指向的数据类型的值 D、NULL 二、多项选择(每空2分,共18分) 1、底层模拟能很好的解决(BCF )。 A、集成测试问题 B、装代码和数据失真 C、测试不可控 D、性能测试问题 E、内部输出的模拟 F、模拟参数为复杂数据类型,单元测试时难以初始化 2、底层模拟器能够模拟( ABCEH)。 A、底层函数的参数 B、底层函数的返回值 C、全局变量 D、函数改写文件中的数据 E、成员变量 F、函数改写数据库中的数据 G、内部输出H、调用次数 3、执行函数测试后,源代码窗口能够标识出未覆盖的(BCD)。逻辑结构图窗口

《软件测试基础》期末B卷及参考答案

成都东软信息技术学院 期末试题——软件测试基础(B卷) 题号一二三四五六总分 分数 说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。 bd 题号 1 2 3 4 5 6 7 8 9 10 答案 B D A D C A A D B D 题号11 12 13 14 15 16 17 18 19 20 答案 C B D A D C B A D A 一、单项选择题;共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 (说明:每题有且仅有一个正确答案) 1.软件测试的目的是( b ) (A)发现程序中的所有错误 (B)尽可能多地发现程序中的错误 (C)证明程序是正确的 (D)调试程序 2.下列___不属于测试原则的内容( d ) (A)软件测试是有风险的行为 (B)完全测试程序是不可能的 (C)测试无法显示潜伏的软件缺陷 (D)找到的缺陷越多软件的缺陷就越少 3.导致软件缺陷的最大原因是( a ) (A)编制说明书 (B)设计 (C)编码 (D)测试 4.修复软件缺陷费用最高的是____阶段:( d ) (A)编制说明书(B)设计 (C) 编写代码(D)发布 5.白盒测试是根据程序的____来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。 ( c ) (A)功能 (B)性能 (C)内部逻辑 (D)内部数据 6.条件覆盖的目的是(a ) (A)使每个判定的所有可能的条件取值组合至少执行一次 (B)使程序中的每个判定至少都获得一次“真”值和“假”值。 (C)使程序中的每个判定中每个条件的可能值至少满足一次。

(D)使程序中的每个可执行语句至少执行一次。 7.一个程序中所含有的路径数与____有着直接的关系。( a ) (A) 程序的复杂程度 (B) 程序语句行数 (C)程序模块数 (D)程序指令执行时间 8.动态黑盒子测试:( d ) (A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码 (C)从软件获得读取变量和状态信息的访问权(D)测试的是软件在使用过程中的实际行为 9.在自低向上测试中,要编写称为____的模块来测验正在测试的模块。 ( b ) (A) 测试存根 (B) 测试驱动模块 (C)桩模块 (D) 底层模块 10.下列___不是软件自动化测试的优点( d ) (A)速度快、效率高 (B)准确度和精确度高 (C)能提高测试的质量 (D)能充分测试软件 11.配置测试( c ) (A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现 (C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正 12.下列各项中___不是一个测试计划所应包含的内容( b ) (A)测试资源、进度安排 (B)测试预期输出 (C)测试范围 (D)测试策略 13.下列不属于正式审查的方式是( d ) (A)同事审查 (B) 公开陈述 (C) 检验 (D) 编码标准和规范 14.在没有产品说明书时使用____:( a ) (A)探索测试 (B) 功能测试 (C) 动态测试 (D) 静态测试 15.调试是( d ) (A)发现与预先定义的规格和标准不符合的问题 (B)发现软件错误征兆的过程 (C)有计划的、可重复的过程 (D)消除软件错误的过程

软件测试复习题集1解答

软件测试复习题1 一、判断题(10题,10分) 1.程序员兼任测试员可以提高工作效率。(×) 2.测试用例的数目越多,测试的效果越好。(×) 3.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(√) 4.软件质量保证和软件测试是同一层次的概念。(×) 5.验收测试是以最终用户为主的测试。(√) 6.没有发现错误的测试是没有价值的。(×) 7.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(×) 8.在边界值方法中,对于一个有n个变量的函数作最坏情况测试,生成的测试用例个数是7n个。(×) 4n+1 9.我们有理由相信只要能够设计出尽可能好的测试方案,经过严格测试之后的软件可以没有缺陷。(×) 10.单元测试属于动态测试。(√) 11.软件生存周期是从软件开始开发到开发结束的整个时期。(×) 12.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。(√) 13.调试从一个已知的条件开始,使用预先定义的过程,有预知的结果;测试从一个未知的条件开始,结束的过程不可预计。(×) 14.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(√) 15.白盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(×) 16.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(√) 17.可以把不合格的开发人员安排做测试。(×) 18.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(√) 19.在所有的黑盒测试方法中,基于决策表的测试是最为严格、最具有逻辑性的测试方法。(√) 20.永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(√) 二、填空题:(10空,10分) 1.软件开发过程中所产生的(需求规格说明)、概要设计规格说明、(详细设计规格说明)以及(源程序)都是软件测试的对象。 2.按照软件测试用例的设计方法而论,软件测试可以分为(白盒测试法)和(黑盒测试法)。 3.按照软件测试的策略和过程来分类,软件测试可分为单元测试、(集成测试)、(系统测试)、(验证测试)和确认测试。 4.质量管理是指以组织为质量中心、企业全员参与为基础,为追求客户满意和组织所有受益者满意而建立和形成的一整套质量方针、目标和(体系)。质量管理

软件测试基础期末试卷及参考答案

1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支_至少被执行一次。 2、黑盒测试的具体技术方法 ____________、 __________、 __________、____________。 等价类划分法,边界值分析法,决策表法,因果图法 3、黑盒测试又称之为___________测试。 功能 4、等价类划分有两种不同的情况:____________和____________。 有效等价类,无效等价类 5、根据覆盖目标的不同,逻辑覆盖又可分为:________________,_____________,_______________,__________________,条件组合覆盖,判断/条件覆盖。 语句覆盖,判定覆盖,条件覆盖,路径覆盖 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类____________,____________和 ____________。 白盒测试工具、黑盒测试工具、测试管理工具 7、软件测试是为发现程序中的______________而执行程序的______________。 错误,过程 8、测试用例是由______________和预期的______________两部分组成。 测试输入数据,输出数据 9、白盒测试又称为______________,可以分为______________和______________两大类。 结构测试,静态测试,动态测试 10、软件是包括____________﹑____________﹑____________的完整集合。 程序,数据,相关文档 11、边界值分析法属于____________。 黑盒测试 12、单元测试是以____________说明书为指导,测试源程序代码。 详细设计 13、集成测试以____________说明书指导,测试软件结构。 概要设计 14、确认测试以____________说明书为指导。 需求分析 15、软件开发的基本过程____________,_____________,_______________,_____________, _____________,______________。 需求分析、概要设计、详细设计,编码,测试、维护 16、代码复审属于____________,不实际运行程序。 静态测试 17、集成测试把模块组成成系统的测试方式:_____________和______________。 一次性集成测试,增量式集成测试 18、黑盒测试有两种基本方法,即:_____________和______________。 通过测试,失败测试 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 3.在Assert类中断言对象为NULL是_____。(C) 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

(完整word版)期末题库-软件测试答案

选择题 10×2分 1、软件是程序和(A)的集合。 A、文档 B、代码 C、测试用例 D、测试 2、软件工程中描述生存周期的瀑布模型一般包括计划、( A)、设计、编码、测试、维护等几个阶段。 A、需求分析 B、需求调查 C、可行性分析 D、问题定义 3、严重的软件缺陷的产生主要源自(A)。 A、需求 B、设计 C、编码 D、测试 4、以下不属于应用系统中的缺陷类型的是:(B) A、不恰当的需求解释 B、用户指定的错误需求 C、设计人员的习惯不好 D、不正确的程序规格说明 5、降低缺陷费用最有效的方法是(B)。 A、测试尽可能全面 B、尽可能早的开始测试 C、测试尽可能深入 D、让用户进行测试 6、测试环境中不包括的内容是(A) A、测试所需文档资料 B、测试所需硬件环境 C、测试所需软件环境 D、测试所需网络环境 7、软件调试的目的是(B) A、发现软件中隐藏的错误 B、解决测试中发现的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 8、软件测试的目的是(A)难易度:2 A、发现软件中隐藏的错误 B、解决软件中隐藏的错误 C、尽量不发现错误以便早日提交软件 D、证明软件的正确性 9、下列关于测试和调试的说法中正确的是(B) A、测试和调试没有本质区别。目的都是为了发现软件系统中的错误。 B、测试是测试人员的职责,在整个测试活动中可以不需要开发人员的参与。

C、调试主要在软件的开发阶段进行。 D、调试一般不能确定程序中潜在错误发生的原因 10、从测试的要求来讲,如果想让测试完成的效果更好,测试部门与开发部门的关系最好是下面四种中的(D)。难易度:3 A、测试组织与开发组织为同一公司同一部门同一小组,并且测试人员与开发人员为同一组人员,即开发人员测试自己的程序。 B、测试组织与开发组织为同一公司同一部门同一小组,但测试人员与开发人员为不同人员。 C、测试组织与开发组织为同一公司,但不在同一部门。 D、测试组织与开发组织为不同公司。 11、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证: (1)经过自己测试的软件今后不会再出现问题 (2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结 (3)承诺不需要其他人员,自己就可以独立进行测试工作 (4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证(D)难易度:3 A、(1)(4)是正确的 B、(2)是正确的 C、都是正确的 D、都是错误的 12、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。 A、白盒法 B、黑盒法 C、动态测试 D、灰盒法 13、黑盒测试法是根据程序的(C)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 14、验收测试的测试用例主要根据(A)的结果来设计。 A、需求分析 B、源程序 C、概要设计 D、详细设计 15、软件测试中白盒测试法是通过分析程序的(B)来设计测试用例的。 A、应用范围 B、内部逻辑 C、功能 D、输入数据 16、下列关于白盒测试与黑盒测试的说法中错误的是(C)。 A、用白盒测试来验证单元的基本功能时,经常要用黑盒测试的思考方法来设计测试用例

2015--软件测试--期末重点复习资料

第一章 1.软件测试正反两方面的观点 正面观点:Bill Hetzel博士(软件测试领域的先驱,正向思维代表)主要观点是:软件测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作。 反面观点:Glenford J. Myers(反向思维的代表): 观点:测试是为了证明程序有错,而不是证明程序无错误。 2.软件测试的定义 IEEE 的定义: ?在特定的条件下运行系统或构件,观察或记录结果,对系统的某个方面做出评价。 ?分析某个软件项以发现现存的与要求的条件之差别(即错误)并评价此软件项的特性。 正确的定义:软件测是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体。 3.软件测试在软件开发中的地位 软件开发是生产制造软件;软件测试是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,软件测试人员就是质检人员。 关系应该是: 1、没有软件开发就没有测试,软件开发提供软件测试的对象。 2、软件开发和软件测试都是软件生命周期中的重要组成部分

3、软件开发和软件测试都是软件过程中的重要活动。 4、软件测试是保证软件开发产物质量的重要手段。(网上) 4.P11 V模型 第二章 1.软件缺陷 定义:IEEE STD 729(1983)对软件缺陷给出了一个标准的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题。 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。主要类型:软件缺陷的主要类型/现象有: ?功能、特性没有实现或部分实现; ?设计不合理,存在缺陷; ?实际结果和预期结果不一致; ?运行出错,包括运行中断、系统崩溃、界面混乱;

软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ )验收测试是由最终用户来实施的。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ )黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

《软件测试基础》期末试卷及参考答案

期末试卷先锋学院2011-2012学年第二学期 《软件测试技术》试题库答案 一、填空题(每空2分,共15空,分数为30分) 1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。 2、黑盒测试的具体技术方法等价类划分法、边界值分析法、决策表法、因果图法。 3、黑盒测试又称之为功能测试。 4、等价类划分有两种不同的情况:有效等价类和无效等价类。 5、根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,路径覆盖条件组合覆盖,判断/条件覆盖。 6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类白盒 测试工具、黑盒测试工具和测试管理工具。 7、软件测试是为发现程序中的错误而执行程序的过程。 8、测试用例是由测试输入数据和预期的输出数据两部分组成。 9、白盒测试又称为结构测试,可以分为静态测试和动态测试两大类。 10、软件是包括程序、数据、相关文档的完整集合。 11、边界值分析法属于黑盒测试。 12、单元测试是以详细设计说明书为指导,测试源程序代码。 13、集成测试以概要设计说明书指导,测试软件结构。 14、确认测试以需求分析说明书为指导。 15、软件开发的基本过程需求分析、概要设计、详细设计、编码、测试、 维护。

16、代码复审属于静态测试,不实际运行程序。 17、集成测试把模块组成成系统的测试方式:一次性集成测试和。 18、黑盒测试有两种基本方法,即:通过测试和失败测试。增量式集成测试 20、Junit是一个开放源代码的 java 测试框架,用于编写和运行可重复的测试。 21、在Junit中3.8中testXXX()测试方法必须满足几个条件:public , void 和无方法参数。 二、选择题(每题3分,共10题,分数为30分) 1. 下列哪一项不是白盒测试?(C) A.单元测试 B.集成测试 C.系统测试 D.回归测试 2. 属于黑盒测试的方法?(C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖3.在Assert类中断言对象为NULL是_____。(C) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A) A.系统测试B.集成测试 C.单元测试D.功能测试 5.在Assert类中断言两个对象相等是_____。(A) A.assertEquals B.assertTrue C.assertSame D.fail 6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B)

软件测试复习知识点

软件测试复习知识点 熟练掌握: 1.面向对象的单元测试中基于服务的测试策略 2.向对象中的基于状态测试的策略 3.软件测试与软件开发的关系 狭义定义测试:比如“程序设计”与“测试”之间的关系,传统上总以为程序设计在先,测试在后。这种专指测试程序代码,定义在编码之后的“测试”是一种狭义定义的测试。 广义定义测试:这种测试活动可以在软件开发生命周期的任何阶段进行。但是,随着开发不断地进行,越到后续阶段,找出错误并改正它的代价会越大 全新的软件开发模式:以测试驱动软件开发。软件测试贯穿了整个软件开发过程,软件开发生命周期的各个阶段中都少不了相应的测试,这种思想与软件质量保证的出发点是一致的。 4.系统测试的概念及其分类; 系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。 1.用户层:①用户支持测试;②用户界面测试;③可维护测试;④ 安全性测试; 2.应用层:①性能测试;②系统可靠性、稳定性测试;③系统兼容 性测试;④系统组网测试;⑤系统安装升级测试; 3.功能层: 4.子系统层; 5.协议/指标层; 5.常见的黑盒测试用例的设计方法 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。 ?在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完

软件测试试题及答案分析

单选 1. 属于黑盒测试的方法?( C) A.基于基本路径 B.控制流 C.基于用户需求测试 D.逻辑覆盖 2.在Assert类中断言对象为NULL是_____。(D) A.assertEquals B.assertTrue C.fail D.assertNull 3.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求(A) A.系统测试B.集成测试 C.单元测试D.功能测试 4.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。(B) A. 语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖 5.软件测试的目的是___________。(C) A.表明软件的正确性B.评价软件质量 C.尽可能发现软件中的错误D.判定软件是否合格 6.关于白盒测试与黑盒测试的最主要区别,正确的是___________。(A) A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛 7.软件测试类型按开发阶段划分___________。(B) A.需要测试﹑单元测试﹑集成测试 B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试 C.单元测试﹑集成测试﹑确认测试 D.调试﹑单元测试﹑功能测试 8.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。(B) A.private void testXXX() B.public void testXXX() C.public float testXXX() D.public int testXXX() 9.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(A)A.单元测试B.集成测试 C.目的测试D.确认测试 10.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。(D ) A.自中向下增量测试方法B.多次性测试 C.维护D.自底向上增量测试方法 1)以下不属于软件测试的原则有(D )。 A.程序最好别让由编写该程序的程序员自己来测试

软件测试复习题(2014-2015-2)

软件测试课程期末复习题 ???????????????????????????????? 一、判断分析题(判断正误并分析说明)。 1、测试是为了验证该软件已正确地实现了用户的要求。(×) 2、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 3、好的测试员不懈追求完美,力求做到穷举测试。(√) 4、软件测试的目的是尽可能多的找出软件的缺陷。(√) 5、单元测试能发现约80%的软件缺陷。(√) 6、自底向上集成需要测试员编写驱动模块程序。( √ ) 7、代码评审员一般由测试员担任。(× ) 8、发现错误多的程序模块,残留在模块中的错误也多。(√) 9、单元测试多采用白盒测试(结构性测试)技术。(√) 10、系统测试多采用白盒测试(结构性测试)技术。(×)(黑盒测试) 11、进行自底向上集成测试,需要为所测模块或子系统编制相应的驱动模块。(√) 12、软件测试的目的是证明软件没有错误。(×) 13、测试组负责软件质量。( ×) 14、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。 (√ ) 15、测试程序仅仅按预期方式运行就行了。( ×) 16、不存在质量很高但可靠性很差的产品。( ×) 17、总是首先设计白盒测试用例。(×) 18、用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×) 19、黑盒测试方法中最有效的是因果图法。( √) 20、软件测试按照测试过程分为黑盒、白盒测试。(×) 21、白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。(√) 22、黑盒测试是从用户观点出发的测试。(√)

23、白盒测试根据程序外部特征进行测试,黑盒测试根据程序内部逻辑结构进行测试。(×) 24、程序通过了全面的白盒测试,就不需要再进行黑盒测试了。(×) 25、对于同一个测试对象,等价类的测试用例数多于边界值的测试用例数。() 26、如果输入条件规定了取值范围,则可定义一个有效等价类和两个无效等价类。(√) 27、有n个变量的函数的健壮最坏情况测试用例的个数为:5的n次方。(√) 28、有n个变量的函数的健壮性测试用例的个数为:5n+1。(×) 29、有n个变量的函数的最坏情况测试会产生5的n次方个测试用例。(√) 30、有n个变量的函数的边界值分析会产生4n+1个测试用例(√) 31、语句覆盖是最弱的逻辑覆盖。(√) 32、判定覆盖不一定包含条件覆盖。(√) 33、判定/条件覆盖能同时满足判定、条件两种覆盖标准。(√) 34、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。( √) 35、对于连锁型分支结构,若有n个判定语句,则有2n条路径。(√) 36、尽量采用复合的条件测试,以避免嵌套的分支结构。(√) 37、G OTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。(√) 38、单元测试属于动态测试。 (× ) 39、单元测试需要从程序的内部结构出发设计测试用例。(√) 40、单元测试需要为每个基本单元开发驱动模块或桩模块。(√) 41、在面向对象语言语言中,单元测试是函数或子过程。()

(答案整理)11《软件测试》复习

《软件测试》复习提纲 1.什么是软件测试?软件测试的意义? 软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。 答案1:软件测试是为了发现错误而执行程序的过程。 答案2:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序,以及发现错误的过程。 意义:确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正。 2.什么是软件缺陷?请举例。哪里出现的缺陷最多? 软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,未满足用户的需求。 举例:缺点(defect)异常(anomaly)偏差(variance)失败(failure)缺陷(bug)故障(fault)问题(problt)错误(error) 规格说明书出现的缺陷最多。 3.软件测试是否就是程序测试?哪些可以作为软件测试的对象? 不是。对象:程序、数据(库)、文档、服务 4.软件测试的目的是什么?软件测试的目标是什么?软件测试的原则是什么? 测试的目的就是发现软件中的各种错误和缺陷,但不是唯一目的,软件测试存在多种目的,其中最重要的三条为:(1)证明所做的是客户所需的(2)确保编码人员正确理解设计的意图(3)通过回归测试来保证目前运行的程序在将来仍然可以正常工作。 目标:确保软件完成了它所承诺或公布的功能;为软件的质量评估提供依据;确保软件满足性能的要求;确保软件是健壮的和适应用户环境,为软件质量改进和管理提供帮助原则:1.所有测试的标准都是建立在用户需求之上2.软件测试必须基于“质量第一”的思想去开展各项工作3.事先定义好产品的质量标准4.软件项目一启动,软件测试也就开始,而不是等程序写完才开始进行测试5.穷举测试时不可能的6.第三方进行测试会更客观更有效7.软件测试计划是做好软件测试工作的前提8.测试用例是设计出来的,不是写出来的9.对主观错误较多的程序段,应进行更深入的测试10.重视文档,妥善保管一切测试过程文档。 5.软件测试如何分类? 按照程序是否执行:静态测试(审查、评审和走查)、动态测试 按照测试用例的设计方法:白盒测试、黑盒测试 按照开发阶段划分:单元测试、集成测试、系统测试、验收测试 按照测试实施的组织划分:开发方测试、用户测试(β测试)、第三方测试 按照是否使用工具:手工测试、自动化测试

软件测试试题及答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 4.Beta测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 10.自底向上集成需要测试员编写驱动程序。(√) 11.测试是证明软件正确的方法。(╳) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√)黑盒测试也称为结构测试。(╳)集成测试计划在需求分析阶段末提交。(╳) 15.软件测试的目的是尽可能多的找出软件的缺陷。(√) 16.自底向上集成需要测试员编写驱动程序。(√) 17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳)

18.测试程序仅仅按预期方式运行就行了。(╳) 19.不存在质量很高但可靠性很差的产品。(╳) 20.软件测试员可以对产品说明书进行白盒测试。(╳) 21.静态白盒测试可以找出遗漏之处和问题。(√) 22.总是首先设计白盒测试用例。(╳) 23.可以发布具有配置缺陷的软件产品。(√) 24.所有软件必须进行某种程度的兼容性测试。(√) 25.所有软件都有一个用户界面,因此必须测试易用性。(╳) 26.测试组负责软件质量。(╳) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28.好的测试员不懈追求完美。(×) 29.测试程序仅仅按预期方式运行就行了。(×) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√) 31.静态白盒测试可以找出遗漏之处和问题。(√) 32.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x)

《软件测试基础》期末C卷及参考答案

安阳工学院 期末试题——软件测试基础(C卷) 说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。 一、不定项选择题(每题2 分,共20分)请将答案填入题后括号中。 1.软件验收测试的合格通过准则是:( ) A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所有测试项没有残余一级、二级和三级错误。 C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?( ) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:( ) A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:( ) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.下面哪些属于动态分析( ) A. 代码覆盖率 B. 模块功能检查 C. 系统压力测试 D. 程序数据流分析 6.下面哪些属于静态分析( ) A、代码规则检查

B、程序结构分析 C、程序复杂度分析 D、内存泄漏 7.软件实施活动的进入准则是( ) A、需求工件已经被基线化 B、详细设计工件已经被基线化 C、构架工件已经被基线化 D、项目阶段成果已经被基线化 8.不属于单元测试内容的是() (A)模块接口测试(B)局部数据结构测试 (C) 路径测试(D)用户界面测试 9.软件测试设计活动主要有( ) A、工作量分析 B、确定并说明测试用例 C、确立并结构化测试过程 D、复审并评估测试覆盖 10.不属于集成测试步骤的是( ) A、制定集成计划 B、执行集成测试 C、记录集成测试结果 D、回归测试 二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。 1.通过画因果图来写测试用例的步骤为___________________、___________________、 ___________________、把因果图转换为状态图和___________________及共五个步骤。 2.软件测试主要分为___________________、___________________、___________________、___________________四类测试。 3.软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。 三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。 1.软件测试的目的是尽可能多的找出软件的缺陷。( ) 2.Beta 测试是验收测试的一种。( ) 3.验收测试是由最终用户来实施的。( ) 4.项目立项前测试人员不需要提交任何工件。( ) 5.单元测试能发现约80%的软件缺陷。( ) 6.代码评审是检查源代码是否达到模块设计的要求。( ) 7.自底向上集成需要测试员编写驱动程序。( ) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。( )

软件测试练习题及答案

练习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)程序员兼任测试员可以提高工作效率。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)当软件代码开发结束时,软件测试过程才开始。错 (07)据有关数据统计,代码中60%以上的缺陷可以通过代码审查发现出来。对(08)无效等价类是无效的输入数据构成的集合,因此无需考虑无效的等价类划分。错(09)软件本地化就是将一个软件产品按特定国家或语言市场的需要翻译过来。错(10)在压力测试中通常采用的是黑盒测试方法。对 (11)软件测试员无法对产品说明书进行白盒测试。对 (12)功能测试工具主要适合于回归测试。对 (13)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (14)自底向上集成需要测试员编写驱动程序。对 (15)测试是可以穷尽的。错 (16)自动化测试相比手工测试而言,能发现更多的错误。错 (17)软件测试自动化可以提高测试效率,可以代替手工测试。错 (18)语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。对 (19)Beta测试是验收测试的一种。对 (20)软件开发全过程的测试工作都可以实现自动化。错 (21)软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。错 (22)结构性测试是根据软件的规格说明来设计测试用例。错 (23)软件测试工具可以代替软件测试员。错 (24)通过软件测试,可以证明程序的正确性。错 (25)在单元测试中,驱动程序模拟被测模块工作过程中所调用的下层模块。错(26)软件缺陷可能会被修复,可能会被保留或者标识出来。对 (27)测试用例是由测试输入数据和对应的实际输出结果这两部分组成。错(28)单元测试通常由开发人员进行。对 (29)现在人们普遍认为软件测试不应该贯穿整个软件生命周期,而应在编程完毕之后再进行,这样可以降低成本。错 (30)文档的错误不是软件缺陷。错 (31)Junit只是单元测试工具,并不能进行现回归测试。错 (32)判定表法是一种白盒测试方法。错 (33)白盒测试不考虑程序内部结构。错 (34)在单元测试中,桩程序模拟被测模块工作过程中所调用的下层模块。对

软件测试期末考试试卷A

试卷编号: 期末考试试题(A 卷) 课程: 软件测试 考试班级: 注意事项: 1. 本试题全部为笔答题,共4页,满分100分,考试时间90分钟。 2. 答卷前将答题纸上密封线内的项目填写清楚,密封线内禁止答题。 3. 用钢笔或圆珠笔在答题纸上写清题号,将答案直接答在相应题号后。 4. 本试题为开卷考试。 一、单选题(每题2分,共20分) 1、下面关于软件测试的说法,(_______)是错误的。 A .软件测试就是程序测试 B .软件测试贯穿于软件定义和开发的整个期间 C .需求规格说明、设计规格说明都是软件测试的对象 D .程序是软件测试的对象 2、软件缺陷修复费用最低的阶段是( )。 A 、编制说明书 B 、详细设计 C 、代码编写 D 、产品发布 3、( ) 覆盖是最弱的逻辑覆盖。 A 、路径 B 、判断 C 、条件 D 、语句 4、( )测试可以使用自动化的捕获回放工具来进行。 A 、代码 B 、回归 C 、验收 D 、集成 5、如果运行大量的消耗内存或其他系统资源的测试实例,那么该测试是( )测试。 A 、功能 B 、可靠性 C 、安全 D 、强度 6、面向对象的单元测试,单元是( )。 A 、过程 B 、模块 C 、类 D 、线程 7、导致软件缺陷的最大原因是( )。 (A)编制说明书 (B) 设计

(C)编码 (D)测试 8、在自底向上集成测试中,要编写称为()的模块来测试被测的模块。 (A) 测试存根 (B) 驱动模块 (C)桩模块 (D) 底层模块 9、必须要求用户参与的测试阶段是()。 (A)单元测试(B)集成测试 (C) 确认测试(D)验收测试 10、()是为特定的目的而设计的一组测试输入、执行条件和预期的结果。 (A)测试计划(B)测试报告 (C) 测试用例(D)测试方案 二、多选题(每题2分,共20分) 1、以下属于软件缺陷的是() A、未达到功能 B、出现错误 C、使用效果不良 D、没有杀毒功能 2、软件测试过程,核心问题是()。 A、测试计划 B、测试人员不缺勤 C、测试用例 D、测试报告 3、以下属于黑盒测试用的技术方法有() A、边界值分析法 B、路径测试法 C、等价类划分法 D、判断覆盖法 4、以下属于经过确认测试应该为已开发的软件给出结论性评价的是() A、领导满意 B、缺陷清单 C、有待观察 D、软件合格 5、以下属于网站测试用到的测试技术方法的是() A、黑盒测试 B、白盒测试 C、动态测试 D、灰盒测试 6、以下属于兼容性的是()。 A、向前兼容 B、向后兼容 C、不同版本间兼容 D、数据共享兼容 7、以下属于黑盒测试的是()。 A、软件界面 B、软件功能 C、外部数据库访问 D、软件初始化 8、对于一个含有n个变量的程序,采用健壮性边界值分析法测试程序会产生()个测

相关文档
最新文档