文档库 最新最全的文档下载
当前位置:文档库 › 《软件测试基础》期末B卷及参考答案

《软件测试基础》期末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)

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

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) A.assertEquals B.assertTrue C.assertNull D.fail 4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。(A)

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

软件评测基础知识 软件测试基本概念 软件质量与软件测试:软件测试是软件质量保证工作的一个重要环节。软件测试和软件质量保证是软件质量工程的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。质量保证(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等

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

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

《软件测试基础》期末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、是否有不正确或遗漏的功能? 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

软件测试基础要点总结

软件测试基础要点总结 软件测试基础要点总结 从宏观的角度讲,软件测试过程一般可划分为单元测试、集成测试、验收测试和系统测试等几个主要测试阶段。 1.测试计划注意事项 1.测试计划不一定要尽善尽美,但一定要切合实际,要根据项目特点、公司实际情况来编制,不能脱离实际情况; 2.测试计划一旦制定下来,并不就是一成不变的,随着软件需求、软件开发、人员流动等发生变化,测试计划也要根据实际情况的变化而不断进行调整,以满足实际测试要求.3.测试计划要能从宏观上反映项目的测试任务、测试阶段、资源需求等,不一定要太过详细.测试原则 ①应尽早和不断地进行软件“测试”。 ②测试用例中,不仅要选择合理的输入数据,还要选择不合理的输入数据。③在开发各阶段应事先分别制定出相应的测试计划,在测试开始后应严格执行,防止随意性。④对发现错误较多的程序模块,应进行重点测试。⑤避免程序员测试自己的程序。 ⑥用穷举测试是不现实的,一般通过设计测试用例,充分覆盖所有条件或所有语句即可。⑦长期妥善保存测试计划、测试用例、出错统计和有关的分析报告。 2.测试用例文档 测试用例文档通常是由简介和测试用例两部分组成:

简介部分编制了测试目的、测试范围、定义术语、参考文档等,这个与测试计划是一致的。 测试用例部分逐一列出各个测试用例。 测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 测试用例部分 测试用例通常包含的信息:用例标识和用例名称内容描述前提条件执行步骤预期结果评价准则 用例设计人员和设计时间用例执行人员和执行时间其它内容3.软件缺陷 缺陷的表现形式不仅体现在功能的失效方面,还体现在其他方面。主要类型有:①软件没有实现产品规格说明所要求的功能模块软件中;②出现了产品规格说明指明不应该出现的错误; ③软件实现了产品规格说明没有提到的功能模块; ④软件没有实现虽然产品规格说明没有明确提及但应该实现的目标; ⑤软件难以理解,不容易使用,运行缓慢,或从测试员的角度看,最终用户会认为不好。测试用例:以计算器为例 ①计算器的产品规格说明定应能准确无误地进行加、减、乘、除运算。如果按下加法键,没什么反应,就是第一种类型的缺陷;若计算结果出错,也是第一种类型的缺陷。②产品规格说明书还可能规定计算器不会死机,或者停止反应。如果随意敲键盘导致计算器停止接受输入,这就是第二种类型的缺陷。 ③如果使用计算器进行测试,发现除了加、减、乘、除之外还可以求平方根,但是产品规格说明没有提及这一功能模块。这是第三种类型的缺陷④在测试计算

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

软件测试基本概念 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、回归测试:是指对软件的新的版本测试时,重复执行上一个版本测试时的用例 冒烟测试:是指在对一个新版本进行西戎大规模的测试之前,先验证一下软件的基本功

软件测试基本流程及要求

软件测试基本流程与要求(提纲) 1目标 制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。 最终目标是实现软件测试规范化,标准化。 2测试流程说明

3测试需求分析 测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个可观察、可评测的结果。无法核实的需求不是测试需求。所以我现在的理解是测试需求是一个比较大的概念,它是在整个测试计划文档中体现出来的,不是类似的一个用例或者其他. ·测试需求是制订测试计划的基本依据,确定了测试需求能够为测试计划提供客观依据; ·测试需求是设计测试用例的指导,确定了要测什么、测哪些方面后才能有针对性的设计测试用例; ·测试需求是计算测试覆盖的分母,没有测试需求就无法有效地进行测试覆盖; 3.1测试方法与规范 3.1.1测试方法 随着软件技术发展,项目类型越来越多样化。根据项目类型应选用针对性强的测试方法,合适的测试方法可以让我们事半功倍。以下是针对目前项目工程可以参考的测试方法: ?β测试(beta测试)--非程序员、测试人员 β测试,英文是Beta testing。又称Beta测试,用户验收测试(UAT)。

β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员完成,不能由程序员或测试员完成。?α测试(Alpha测试)--非程序员、测试人员 α测试,英文是Alpha testing。又称Alpha测试. Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由该系统的程序员或测试员完成。 在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员来完成,不能由程序员或测试员完成。?兼容性测试--测试人员 兼容性测试是指测试软件是否可以成功移植到指定的硬件或者软件环境中,例如在B/S项目中各个不同浏览器之间的测试。 ?用户界面测试-UI测试--测试人员 用户界面测试,英文是User interface testing。又称UI测试。 用户界面,英文是User interface。是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其它控件)。 用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

软件测试基础知识

软件测试基础知识(摘自《软件评测师教程》) 什么是软件测试? 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.软件生命周期(SDLC)的六个阶段 1、问题的定义及规划 此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。 2、需求分析 在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 3、软件设计 此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。 4、程序编码 此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。 5、软件测试 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。 6、运行维护 软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。 2、软件生命周期模型 从概念提出的那一刻开始,软件产品就进入了软件生命周期。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。 典型的几种生命周期模型包括瀑布模型、快速原型模型、迭代模型。

(完整版)软件测试基础习题及答案

1、软件测试的定义? 软件测试是一个过程或者一系列过程,用来确认计算和代码完成了其应该完成的功能,并且不执行其不应该有的操作。 2、软件测试的目标是什么? 是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,降低软件发布后由于潜在的软件错误和缺陷造成的隐患所带来的商业风险。 3、简单描述一下软件测试的原则? 所有的软件测试都应追溯到用户需求 应当把“尽早地和不断地进行软件测试”作为测试者的座右铭 Good Enough原则 质量第一 充分注意测试中的群集现象 程序员应避免检查自己的程序 有据可依 尽量避免软件测试的随意性,要有预期结果 重视回归测试 妥善保存一切测试过程文档 4、软件测试中验证和确认的区别? Verfication 验证: 是保证软件正确实现特定功能的一系列活动和过程。 目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段设定的目标。 Validation 确认: 是保证软件满足用户需求的一系列的活动和过程。 目的是在软件开发后保证与用户需求符合 5、软件测试按照测试的基本策略可分为哪两种并加以详细说明? 白盒测试: 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。

黑盒测试: 黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 6、整个软件生命周期中,需要进行哪几项测试? 单元测试、集成测试、系统测试、验收测试 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。 一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 系统测试 系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

相关文档
相关文档 最新文档