软件测试基础期末B卷及参考复习资料

软件测试基础期末B卷及参考复习资料
软件测试基础期末B卷及参考复习资料

安阳工学院

期末试题——软件测试基础(B卷)

说明:本试卷共六大题,试卷满分100分,考试时间120分钟,考试为开卷考试。

一、单项选择题;共20小题,每小题1 分,满分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)能充分测试软件

11.配置测试()

(A) 是指检查软件之间是否正确交互和共享信息 (B) 是交互适应性、实用性和有效性的集中体现

(C) 是指使用各种硬件来测试软件操作的过程 (D) 检查缺陷是否有效改正

12.下列各项中___不是一个测试计划所应包含的内容()

(A)测试资源、进度安排 (B)测试预期输出

(C)测试范围 (D)测试策略

13.下列不属于正式审查的方式是()

(A)同事审查

(B) 公开陈述

(C) 检验

(D) 编码标准和规范

14.在没有产品说明书时使用____:()

(A)探索测试

(B) 功能测试

(C) 动态测试

(D) 静态测试

15.调试是()

(A)发现与预先定义的规格和标准不符合的问题

(B)发现软件错误征兆的过程

(C)有计划的、可重复的过程

(D)消除软件错误的过程

16.在软件底层进行的测试称为()

(A) 系统测试 (B) 集成测试

(C) 单元测试 (D) 功能测试

17.在确定黑盒测试策略时,优先选用的方法是()

(A) 边界值分析法 (B) 等价类划分

(C)错误推断法 (D)决策表方法

18.下列___不属于软件缺陷()

(A) 测试人员主观认为不合理的地方

(B) 软件未达到产品说明书标明的功能

(C)软件出现了产品说明书指明不会出现的错误

(D)软件功能超出产品说明书指明范围

19.产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____ ()

(A)1~2倍 (B)10~20倍

(C)50倍 (D)100倍或更高

20. _____把黑盒子测试和白盒子测试的界限打乱了。()

(A) 灰盒子测试(B)动态测试

(C)静态测试(D)失败测试

二、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。

1.软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。

2.软件开发模式包括___________________、边写边改模式、___________________、螺旋模式。

3.黑盒测试用例设计方法包括___________________、___________________以及因果图法,错误推测法等。

4.测试过程中,___________________用于描述测试的整体方案,__________________描述依据测试案例找出的问题。

5.传统的等价类划分测试的实现分两步进行,一是_______________________,二是_________________________________。

6.在兼容性测试中,_________________________是指可以使用软件的以前版本,______________________是指可以使用软件的未来版本。

7.测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为________________,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为________________。

8.不需要修复软件缺陷的原因包括________________、不能算真正的软件缺陷、________________、不值得修复。

9.白盒测试又称为________________,黑盒测试又称为________________。

10.动态测试的两个基本要素是________________、________________。

三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。

1.白盒测试的条件覆盖标准强于判定覆盖。()

2.验收测试是以最终用户为主的测试。()

3.测试程序仅仅按预期方式运行就行了。()

4.自底向上集成需要测试员编写驱动程序。()

5.好的测试员不懈追求完美。()

6.软件测试工具可以代替软件测试员。()

7.最重要的用户界面要素是软件符合现行标准和规范。()

8.自动化测试可能延误项目进度。()

9.软件测试员可以对产品说明书进行白盒测试。()

10.静态白盒测试可以找出遗漏之处和问题。()

四、名词解释;共5小题,每小题3分,满分15分

1.软件缺陷

2. 单元测试

3.白盒测试

4.回归测试

5.等价类

五、简答题:共3小题,每小题5分,满分15分。

1.什么是测试用例?为什么要设计测试用例?

2.简述增量式集成测试的自顶向下和自底向上两种测试方法。3.分析单元测试和代码调试的区别。

六、:综合题:共1小题,每小题20分,满分20分。

1.按要求给出下列程序的测试用例(要求写出必要的说明):(1)语句覆盖

(2)判定覆盖

(3)条件覆盖

(4)判定-条件覆盖

(5)条件组合覆盖

软件测试基础(B卷)答案及评分标准一、单选题(20×1=20分)

二、填空题(20×1=20分)

1.编写说明书; 编写代码

2.大棒模式; 流水模式

3.等价类划分; 边界值分析法

4.测试计划; 缺陷报告

5.划分等价类表; 设计相应的测试用例

6.向前兼容; 向后兼容

7.动态黑盒测试; 静态白盒测试

8.没有时间; 风险太大

9.结构测试或逻辑驱动测试;

功能测试或数据驱动测试或基于规格说明书的测试

10.被测试程序; 测试数据(测试用例)

三、判断题(10×1=10分)

四、名词解释(5×3=15分)

1.软件缺陷:(符合下列规则的叫软件缺陷):

1).软件未达到产品说明书的功能

2).软件出现了产品说明书指明不会出现的错误

3).软件功能超出产品说明书指明范围

4).软件未达到产品说明书虽未指出但应达到的目标

5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。

3.白盒测试

白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。

4.回归测试

指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。

5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

五、简答题(3×5=15分)

1.所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。

使用测试用例的好处主要体现在以下几个方面:

?在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。

?测试用例的使用令软件测试的实施重点突出、目的明确。

?在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

?功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升

2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。

自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。

3.表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。

六、综合题(1×20=20分)

图中共有4条路径:P1(ace)、P2(abd)、P3(abe)、P4(acd)。

1.P1正好满足语句覆盖的条件。可以设计如下的输入数据:

A=2,B=0,x=4

2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:

A=2,B=0,x=4

A=1,B=1,x=1

3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:

A=2,B=0,x=4

A=1,B=1,x=1

4.判定/条件覆盖

A=2,B=0,x=4

A=1,B=1,x=1

5.可能的条件组合:

(1)A>1,B=0

(2)A>1,B≠0

(3)A≤1,B=0

(4)A≤1,B≠0

(5)A=2,x>1

(6)A=2,x≤1

(7)A≠2,x>1

(8)A≠2,x≤1

相应的输入数据:

A=2,B=0,x=4 满足(1)和(5)

A=2,B=1,x=1 满足(2)和(6)

A=1,B=0,x=2 满足(3)和(7)

A=1,B=1,x=1 满足(4)和(8)

软件测试期末考试含答案

西华师范大学计算机学院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)。逻辑结构图窗口

最新软件测评师考试基础知识名师精编资料汇编

软件评测基础知识 软件测试基本概念 软件质量与软件测试:软件测试是软件质量保证工作的一个重要环节。软件测试和软件质量保证是软件质量工程的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量,它所关注的是软件质量的检查和测量。软件测试所关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。 软件测试定义:软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行的查错(包括代码执行活动与人工活动)。软件测试是为了发现错误而执行程序的过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序的错误。是在软件投入运行前,对软件需求分析、软件设计规格说明和软件编码的最终复审,是软件质量保证的关键步骤。 软件测试目的:(1)测试是一个为了寻找错误而运行程序的过程;(2)一个好的测试用例是指很可能找到迄今为止未发现的错误的用例;(3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。 软件测试的目标是能够以耗费最少时间与最小工作量找出软件系统中潜在的各种错误与缺陷。 测试只能证明程序中错误的存在,但不能证明程序中没有错误。 软件测试原则:(1)尽早地并不断地进行软件测试;(2)程序员或程序设计机构应避免测试自己设计的程序;(3)测试前应当设定合理的测试用例;(4)测试用例的设计不仅要有合法的输入数据,还要有非法的输入数据;(5)在对程序修改之后要进行回归测试;(6)充分注意测试中的群集现象;(7)妥善保留测试计划、全部测试用例、出错统计和最终分析报告,并把它们作为软件的组成部分之一,为软件的维护提供方便;(8)应当对每一个测试结果做全面检查;(9)严格执行测试计划,排除测试的随意性。 软件测试对象:软件的测试不仅仅是程序的测试,软件的测试应贯穿于整个软件生命同期中。在软件定义阶段产生的可行性报告、项目实施计划、软件需求说明书或系统功能说明书,在软件开发阶段产生的概要测试说明书、详细设计说明书,以及源程序等都是软件测试的对象。 软件测试过程模型:V模型、W模型、H模型。 软件测试模型的使用:在实际软件测试的实施过程中,应灵活地运用各种模型的优点,通常可以在W 模型的框架下,运用H模型的思想进行独立的测试。当有变更发生时,按X模型和前置模型的思想进行处理。同时,将测试和开发紧密结合,寻找恰当的就绪点开始测试,并反复进行迭代测试,以达到按期完成预定的目标。 软件问题分类:软件错误、软件缺陷、软件故障、软件失效。 软件测试类型: 按开发阶段分:单元测试、集成测试、确认测试(有效性测试)、系统测试 确认测试、验收测试 按测试实施组织分:开发方测试(验证测试或alpha测试)、用户测试(beta)、第三方测试(独立测试) 按测试方式分:动态测试、静态测试 按测试技术分:白盒测试、黑盒测试、灰盒测试 软件测试过程:用黑盒法设计基本的测试方案,再利用白盒法补充一些必要的测试方案。可以用以下策略结合各种方法: (1)在任何情况下都应该使用边界值分析的方法; (2)必要时用等价划分法补充测试方案; (3)必要时用错误推测法补充测试方案; (4)如果在程序的功能说明中含有输入条件的组合,最好在一开始就用因果图法,然后再按以上(1)、(2)、(3)步进行。 (5)对照程序逻辑,检查已设计出的设计方案。可以根据对程序可靠性的要求采用不同的逻辑覆盖标

软件测试工程师必备知识

一、基本常识类 1.计算机基础知识 2.计算机网络基础知识 3.软件测试基本知识(软件质量,软件质量管理基础知识,软件测试概念,软件测试标准,软件测试技术及方法,软件测试项目管理) 4.软件开发基本知识(软件工程知识,理解软件开发方法及过程) 二、技术类 1.程序语言 C/C++,VB,VC,Java,.net,ASP,Javascrīpt等。具体要求要视公司的具体项目或产品来定。但一般以C为基本要求。 2.数据库知识

SQL Server,Oracle,Mysql,Sybase 等。一般对测试人员的要求就是要求会使用,然后熟练使用SQL语句进行查询,修改,添加,删除数据操作。 3.操作系统 Windows,Linux(常用的RedHat,SUSE,Debian)/Unix(FreeBSD,Solaris,HP-UX,AIX,Mac)系统。 三、自动化测试工具类 1.自动化测试概念/自动化测试框架好多人觉得自动化测试就是使用自动化测试工具,其实各种工具只是自动化测试实施的一个有效利器,如何建立一个脱离工具的自动化测试框架远远比研究如何使用测试工具复杂,困难的多。 2.自动化测试流程

3.自动化测试工具的使用自动化测试框架(流程)GUI的功能测试自动化非GUI的功能测试自动化性能测试(广义的和狭义的性能测试)自动化测试工具(功能测试工具,性能测试工具,缺陷管理工具,测试管理工具)(HP)Mercury Interactive QuickTest Pro,WinRunner,LoadRunner,Quality Center(Test Director),SiteScope Compuware QACenter(TestPartner QARun QALoad QADirector TrackRecord),DevPartner studio (IBM)Rational TestSuite(Robot TestManager FunctionalTester PerformeranceTester ClearQuest ClearCase ...)(Borland)Segue SilkTest SilkPerformer SCTestManager 其它:JUnit,NUnit,Auto It,Test Architect,OpenSTA等

软件测试技术知识点

一、软件测试的定义 软件测试是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 1.软件测试与调试的区别? (1)测试是为了发现软件中存在的错误;调试是为证明软件开发的正确性。 (2)测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 (3)测试是有计划的,需要进行测试设计;调试是不受时间约束的。 (4)测试经历发现错误、改正错误、重新测试的过程;调试是一个推理过程。(5)测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。 (6)测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。 (7)大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。 2.对软件测试的理解?

软件测试就是说要去根据客户的要求完善它.即要把这个软件还没有符合的或者是和客户要求不一样的,或者是客户要求还没有完全达到要求的部分找出来。 (1)首先要锻炼自己软件测试能力,包括需求的分析能力,提取能力,逻辑化思想能力,即就是给你一个系统的时候,能够把整个业务流程很清晰的理出。 (2)学习测试理论知识并与你锻炼的能力相结合。 (3)想和做。想就是说你看到任何的系统都要有习惯性的思考;做就是把实际去做练习,然后提取经验。 总结测试用例,测试计划固然重要,但能力和思想一旦到位了,才能成为一名合格的软件测试工程师。 二、软件测试的分类 1.按照测试技术划分 (1)白盒测试:通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。--结构测试 (2)黑盒测试:通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。--性能测试 (3)灰盒测试:介于白盒测试与黑盒测试之间的测试。

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

一,判断 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分) 答:模块接口、局部数据结构、边界条件、独立的路径和错误处理。五,设计题 1.

软件测试基础知识整理

软件测试基础教程 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 一、测试的分类: 从测试方法的角度分为: (1)手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 (2)自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 > 从整体的角度分为: (1)单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。单元测试的依据是系统的详细设计;一般由项目组开发人员自己 完成。 (2)集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 (3)系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 (4)确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为: . (1)白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 (2)黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时, 把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它 只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。 黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测法。 A、等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子 集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试 用例设计方法。 B、边界值分析:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是 发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错 误。 C、错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的 方法。错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特 殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的 错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据 和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错 误的情况。可选择这些情况下的例子作为测试用例。

软件测试基本知识

软件测试基本知识 1、测试的定义 软件测试是软件工程过程的一个重要阶段,是在软件发布前对软件开发各阶段产品的最终检查,是为了保证软件开发产品的正确性、完全性和一致性而检测软件错误、修正软件错误的过程。 软件测试是: ①程序测试是为了发现错误而执行程序的过程; ②测试是为了证明程序有错,而不是证明程序无错误; ③一个好的测试用例是在于它能发现至今未发现的错误; ④一个成功的测试是发现了至今未发现的错误的测试。 软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品,而软件测试是以检查软件功能和其他非功能特性为核心,是软件质量保证的关键,也是成功实现软件开发目标的重要保障。 2、测试的种类 从测试方法角度,测试分为: 1.黑盒测试:是功能测试、数据驱动测试或基于规格说明的测试。在不考虑程序内部结构和内部特性的情况下,测试者依据该程序功能上的输入输出关系,或是程序的外部特性来设计和选择测试用例,推断程序编码的正确性。 2.白盒测试:是结构测试、逻辑驱动测试或基于程序的测试。测试者熟悉程序的内部结构,依据程序模块的内部结构来设计测试用例,检测程序代码的正确性 从测试发生的时间顺序,测试分为: 1.单元测试:是对软件基本单元的测试 2.集成测试:对由个模块组装而成的系统进行测试,检查各模块间的接口和通信 3.验收测试:验证软件的功能和性能及其它特性是否与用户的要求一致。 4.系统测试:是将通过验收测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。 在MSF中,测试分为2大类:

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

期末试卷先锋学院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、性能上是否满足要求? 5、是否有初始化或终止性错误? 黑盒测试用例方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交实验设计法、功能图法。 等价类划分法:把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试的作用等价于这一类中的其他值。 边界值分析法:对输入或输出的边界值进行测试,通常边界值分析法是作为等价类划分的补充,其测试用例来自等价类的边界。 错误分析法:基于经验和直觉推测程序中可能存在的错误,从而对有针对性的设计测试用例的方法。 因果图法:利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 判定表驱动法:判定表是分析和表达多逻辑条件下执行不同操作的。 正交实验法:从大量的数据中挑选适量的,有代表性的点,从而合理地安排实验的一种科学测试方法。 功能图法:由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能。 折叠LR函数: lr_start_transaction 为性能分析标记事务的开始 lr_end_transaction 为性能分析标记事务的结束 lr_rendezvous 在Vuser 脚本中设置集合点 lr_think_time 暂停Vuser 脚本中命令之间的执行 lr_end_sub_transaction 标记子事务的结束以便进行性能分析

软件测试自学指南

软件测试自学指南 软件测试自学指南一、软件测试基础知识 要想进入测试这个行业,就必须要了解什么是软件测试,该如何测试? 这部分的学习目标:掌握软件测试的基本概念、软件测试的流程,并能熟练的应用常见的用例设计方法来设计测试用例。掌握常见的测试方法和类型,并知道如何进行每个阶段的测试。 下面是推荐的参考书: 1、软件测试(原书第2版) (美)佩腾(Patton,R.)著,张小松等译 这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件。个人建议,这本书至少要读3遍以上。 看完这本书,自己可以去找一个项目(可以到开源中国上查找)来测一测,应用一下学的知识,找一找缺陷。在测试这个项目中要体会一下测试的流程,学习如何搭建测试环境。 2、软件测试的艺术(原书第3版) (美)梅耶等 第二本就是这本软件测试的“圣经”,这本书据说是硅谷测试人员必备的书。这本书最值得看的地方就是测试的思想。阅读这本书可以让你有豁然开朗的感觉。 3、计算机软件测试(原书第2版)(美)卡尼尔 这本书也是值得一读的,同样也是非常适合初学者阅读的。 4、全程软件测试朱少民 上面的都是外国人写的,来本国产的。 还有很多经典的测试书,例如:Paul C.Jorgensen的软件测试(第2版)这本书,但是笔者认为他不是很适合初学者,这本书都是用来做研究生教材的,做过一段测试的可以来看看。 二、软件测试进阶书籍 这部分主要是针对有过一年左右测试经验的,真正测试过几个项目的。推荐的参考书主要是提高测试效率的,一些测试的经验。 1、有效软件测试

这本书主要是给软件测试的各个阶段提出了一些建议,一共50条。这些建议都十分中肯,值得一读。 2、软件测试经验与教训 听书名也应该了解了一大半了吧,这本书一共给出了293条经验,阅读它吧。它会让你重新思考关于测试的基本理论。 还有一些很好的书籍了,但是没有读过的就不做推荐了。 三、自动化测试 我们都知道,目前自动化测试是软件测试的趋势,而且目前公司在招聘的过程中都会考察自动化相关的知识。这里我们介绍一下QTP和Loadrunner等测试工具。 目标:掌握自动化测试的概念、流程和方法。能够使用相关的工具进行自动化的测试。QTP部分: 目标:掌握QTP的测试流程、工作原理和基本使用。能够使用QTP进行自动化测试。进阶需要掌握自动化框架设计的原理,并能独立设计自动化框架。 目前网络资源很丰富,有很多前辈录制了很多视频,大家可以先来看看。 1、IT播吧- 小强老师零基础学习软件测试系列视频教程之QTP学习指南 首先可以先看这套视频,这里主要讲的是QTP的基本使用。学习视频的过程中,最好能够独立的测试QTP自带的飞机订票的例子。这个最好了,QTP的基本使用就没问题了。 2、精通QTP——自动化测试技术领航余杰赵旭斌编著 第一个视频还是讲的录制和回放,并且也是以飞机订票作为的例子,但是实际工作中,很少有录制的项目,基本上都是需要自己开发脚本的。所以这本书会给你很大帮助的。 3、QTP自动化测试权威指南(第二版) 这本是QTP的大牛Tarun Lalwani的经典力作,公认的QTP测试的“圣经”。无论是初学者还是使用过QTP的都应该好好的读一读。

软件测试必备基础知识

软件测试必备基础知识 一、基本概念 软件测试 在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成 过程的文档、数据以及程序进行测试 软件测试的目的 发现程序中存在的错误发现程序中存在的错误,而不是证明程序无错误。一个好的测试用例在于它能发现至今尚未发现的错误。一个成功的测试则是发现了至今未发现的错误。开始我们认为做测试无非是为了证明我们编的程序是无错误的,那是大错特错了。因为bug会因时间不同,条件不同而出现。永远无法证明我们的程序是绝对正确的。 为反馈信息做准备为开发者或软件项目经理提供反馈信息,以及为风险评估所准备的信息 软件测试的原则 所有的测试都应追溯到用户需求。因为软件的目的是使用户完成预定的任务,满足其 需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求。 应尽早地和不断地进行软件测试。由于软件的复杂性和抽象性,在软件生命周期各阶 段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把 它贯穿到软件开发的各个阶段去。在需求分析和设计阶段就应开始进行测试工作,编写相 应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽 早发现和预防错误,杜绝某些缺陷和错误,提高软件质量,测试工作进行得越早,越有利 于提高软件的质量,这是预防性测试的基本原则。 在有限的时间和资源下进行完全测试,找出软件所有的错误和缺陷是不可能的,软件 测试不能无限进行下去,应适时终止。因为,测试输入量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的。

测试只能证明软件存在错误而不能证明软件没有错误。测试是无法显示潜在的错误和缺陷,继续进一步错误可能还会找到其它错误和缺陷。 充分关注测试中的集群现象。在测试的程序段中,若发现的错误数目多,则残存在其中的错误也越多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。 程序员应避免检查自己的程序。考虑到人们的心理因素,自己揭露自己程序中的错误是件不愉快的事,自己不愿意否认自己的工作;另一方面,由于思维定势,自己难以发现自己的错误。因此,测试一般由独立的测试部门或第三方机构进行。 尽量避免测试的随意性。软件测试是有组织、有计划、有步骤的活动,要严格按照测试计划进行,要避免测试的随意性。 软件测试对象 程序开发过程中的各个文档、源程序、目标程序及数据 软件测试的模型 V模型 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。 V模型问题: "测试是开发之后的一个阶段,"测试的对象就是程序本身。 "实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。 "整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度 W模型相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。 W模型也有局限性。W模型和V

软件测试基础知识总结

一、什么是软件测试? 1979年,myer:软件测试就是为了发现错误而执行程序或系统的过程。 1983年,IEEE:软件测试即使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 二、现代软件测试活动的内容? 制定测试计划、设计测试用例、实施测试、提交缺陷报告、测试总结 三、软件测试的目的? GrenfordJ.Myers在《The Art of Software Testing》一书中的观点: 1、测试是程序的执行过程,目的在于发现错误 2、一个成功的测试用例在于发现至今未发现的错误 3、一个成功的测试是发现了至今未发现的错误的测试 简单的说,测试的根本目的就是确保最终交给用户的产品符合用户的需求,在产品交给用户之前尽可能多的发现并改正问题。 四、测试一般要达到的目标? 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明; 确保产品满足性能和效率的要求; 确保产品是健壮的和适应用户环境的。 五、软件测试分类? 1、按测试策略分类: a静态测试与动态测试 静态测试 定义:不运行被测程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。 Ps:通过分析或检查源程序的文法、结构、过程、接口等来检验程序的正确性,找出缺陷和可疑之处,例如不匹配的参数、不适当的分支嵌套和循环嵌套、未使用过的变量、空指针的引用等;可采用人工和软件工具进行;静态测试工具的代表:telelogic公司的logiscope 软件、PR公司的PRQA软件等。 静态测试特点: 不必动态地运行程序,也不必进行测试用例设计和结果判断等工作; 可由人工进行,充分发挥人得逻辑思维优势; 不需要特别的条件,容易展开。 静态测试要点: 代码审查(code inspection或code review)、代码走查(walkthrough)、桌面检查、技术评审(软件需求分析和设计评审)、静态分析(使用软件工具,包括控制流分析、数据流分析、接口分析和表达式分析) 动态测试 定义:实际运行被测程序,输入相应的测试实例,检查运行结果和预期结果的差异,判断执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。 组成:构造测试实例、根据测试实例运行程序、分析程序的输出结果。 主要方法:黑盒测试和白盒测试。 动态测试特点: 实际运行被测试程序,取得程序运行的真实情况、动态情况,并进行分析; 必须生成测试数据来运行程序,测试质量依赖于测试数据;

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

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

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

软件测试基础知识适合初学者

软件测试基本概念 1、软件=程序+文档,软件测试=程序测试+文档测试。 “程序”是指能够实现某种功能的指令的集合,“文档”是指软件在开发、使用和维护过程中产生的图文集合。; 2、软件的分类 按功能分:系统软件、应用软件 按技术架构分:单机版软件、C/S结构软件(C是指客户端,S指服务器端)、B/S结构软件(B是指浏览器) 按照用户划分:产品软件、项目软件 按开发规模划分:小型、中型、大型 3、BUG的定义:软件的BUG指的是软件中(包括程序和文档)不符合用户需求的问题。常见的软件BUG分三种类型:完全没有实现的功能;基本实现了用户需求的功能;实现了用户不需要的功能。 4、测试环境=软件+网络+硬件。搭建环境:真实、干净、无毒、独立 5、软件环境的分类:软件开发环境软件生产运行环境 6、测试用例:指在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和与其结果!测试用例=输入+输出+测试环境。测试用例有两个模板,word和excel,前者适合性能测试,后者适合功能测试。 软件测试分类 1、黑盒测试:指的是把被测的软件看作是一个黑盒子,我们不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果 白盒测试:指的是把盒子盖打开,去研究里面的源代码和程序结构。 2、静态测试:是指不实际运行被测软件,而只是静态的检查程序代码、界面或文档中可能存在的错误的过程。 动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以我们判断一个测试属于动态测试还是静态测试,唯一的标准就是看是否运行程序。

注:同一个测试,既有可能属于黑盒测试,也有可能属于动态测试;既有可能属于静态测试,也有可能属于白盒测试。他们之间也有可能交叉。 3、单元测试:编译运行程序——静态测试——动态测试 集成测试:是单元测试的下一个阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。 系统测试:指的是将整个软件系统看作1个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试。 验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序. 验收测试又分为α测试和β测试,其实α测试指的是由用户、测试人员、开发人员等共同参与的内部测试,而β测试指的是内侧后的公测,即完全交给最终用户测试。 4、功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求。功能测试又可以细分为很多种:逻辑功能测试、界面测试、易用性测试、安装测试、兼容性测试等。 性能测试:软件的性能包括很多方面,主要有时间性能和空间性能两种。时间性能:主要指软件的一个具体事务的响应时间。空间性能:主要指软件运行时所消耗的系统资源。 软件性能测试分为一般性能测试、稳定性测试、负载测试和压力测试。一般性能测试指的是让被测系统在正常的软硬件环境下运行,不向其十佳任何压力的性能测试。稳定性测试,也叫可靠性测试,是指连续运行内测系统,检查系统运行时的稳定程度。我们通常用MTBF (错误发生的平均时间间隔)来衡量系统的稳定性,越大稳定性越强。负载测试是性能测试的一种,通常是指让被测系统在其能忍受的眼里的极限范围之内连续运行,来测试系统的稳定性。压力测试是性能测试的一种,通常是指连续不断地给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力。 假设一个人很轻松的就能背一袋米,背两袋米很吃力,最多就能背三袋米,那么: 一般性能测试:我就让他背一袋米 稳定性测试:我让他背一袋米,但是让他去操场上跑圈,看多久累倒。 负载测试:我让他背两袋米去操场上跑圈,看多久累倒。 压力测试:我让他背两袋米,三袋米,四袋米......发现他最多就能背三袋米。 5、回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例 冒烟测试:是指在对一个新版本进行西戎大规模的测试之前,先验证一下软件的基本功

软件测试期末考试试卷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个变量的程序,采用健壮性边界值分析法测试程序会产生()个测

软件测试基础知识

软件测试基础知识(摘自《软件评测师教程》) 什么是软件测试? RE:“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。 什么是软件质量? RE:在1991年软件产品质量评价国际标准ISO 9126中定义的“软件质量”是:软件满足规定或潜在用户需求特性的综合。 到1999年,软件“产品评价”国际标准ISO 14598经典的“软件质量”定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。 软件测试的目的是什么? RE:测试的目的,是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。 同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择与接受软件提供有力的依据。 软件测试的原则是什么? RE:A 所有的软件测试都应追溯到用户需求。 B 应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭。 C 完全测试是不可能的,测试需要终止。 D 测试无法显示软件潜在的缺陷。 E 充分注意测试中的群集现象。 F 程序员应避免检查自己的程序。 G 尽量避免测试的随意性。 什么是黑盒测试? RE:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。 黑盒测试法注重于测试软件的功能需求,主要试图发现下列积累错误::. A 功能不正确或遗漏; B 界面错误; C 数据库访问错误; D 性能错误; E 初始化和终止错误。 什么是测试用例? RE:测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。测试用例是将测试行为具体量化的方法之一。 使用测试用例的好处是什么? RE:A 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 B 测试用例的使用令软件测试的实施重点突出、目的明确。 C 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度,缩短项目周 期。 D 功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易 于开展,并随着测试用例的不断精化其效率也不断攀升。

软件测试期末考试题

1.软件测试的目的 :(c ) A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错 误 C. 尽可能发现并排除软件中潜藏的错误, 提高软件的可靠性 D. 修改软件中出 现的错误 2、软件测试是采用( a )执行软件的活动。 A ?测试用例 B ?输入数据 C ?测试环境 D ?输入条件 3、 导致软件缺陷的最大原因是: (a ) A ?软件需求说明书 B ?设计方案 C ?编码 D ?维护 4、 在下列描述中,关于一个软件缺陷状态完整变化的错误描述是( d ) A 、打开——修复——关闭 B 、打开——关闭 C 、打开——保留 D 、激活——修复——重新打开 5、 在下列描述中,关于测试与调试的说法错误的是( d ) A 、 测试是显示错误的行为;而调试是推理的过程; B 、 测试显示开发人员的错误。调试是开发人员为自己辩护; C 、 测试能预期和可控。调试需要想象、经验和思考; D 、 测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试 不可能进行。 6某次程序调试没有出现预计的结果,下列(b )不可能是导致出错的原因。 A ?变量没有初始化 B .编写的语句书写格式不规范 C .循环控制出错 D .代码输入有误 7、 软件缺陷修复的代价最高的阶段为( a ) A 、发布阶段 B 、需求阶段 C 、设计阶段 D 、编码阶段 8、 不属于逻辑覆盖方法的是( d )。 A ?组合覆盖 B ?判定覆盖 C ?条件覆盖 D ?接口覆盖 9、 ( d )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语 句至少执行一次。 A 、条件覆盖 B 、组合覆盖 C 、判定覆盖 D 、语句覆盖 10、 ( a )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所 有情况(真 /假)至少出现一次,并且每个判定本身的判定结果(真 /假)也至少 出现一次。 A 、判定-条件覆盖 B 、组合覆盖 11.软件测试是软件质量保证的重要手段, 节?( b ) A ?功能测试 B ?单元测试 12、 单元测试的主要任务不包括( b )。 A ?出错处理 B ?全局数据结构 13、 如下图所示的 N-S 图,至少需要( A .12 B .48 C .27 14、 单元测试中用来模拟实现被测模块需调用的其他功能模块的是( b )。 A .驱动模块 B .桩模块 C .主控模块 D .真实的被调用模块 15、 集成测试计划应该在( b )阶段末提交。 A 、需求分析 B 、概要设计 C 、详细设计 D 、单元测试完成 C 、判定覆盖 D 、条件覆盖 下述哪种测试是软件测试的最基础环 C .结构测试 D .验收测试 C ?独立路径 D .模块接口 b )个测试用例完成逻辑覆盖。 D . 18

相关文档
最新文档