软件测试期末总复习 - 图文

更新时间:2024-05-01 03:02:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

简答题 .............................................................................................................................................. 1

1、集成测试策略 ..................................................................................................................... 1 2、集成测试辅助模块 ............................................................................................................. 3 判断题 .............................................................................................................................................. 3 设计题 .............................................................................................................................................. 3

1、等价类划分法 ..................................................................................................................... 4 2、 决策表法 .......................................................................................................................... 7 3、场景法 ............................................................................................................................... 10 4、白盒测试方法 ................................................................................................................... 13 选择填空判断 ................................................................................................................................. 16

(一)软件测试概述概念、模型 ......................................................................................... 17

1、软件测试概念 ........................................................................................................... 17 2、软件测试过程: ....................................................................................................... 17 3、补充: ....................................................................................................................... 18 4、测试与软件开发的关系 ........................................................................................... 18 5、软件测试过程模型 ................................................................................................... 18 6、软件测试环境 ........................................................................................................... 19 7、软件测试工具 ........................................................................................................... 19 (二)运用黑盒测试方法设计测试用例 ............................................................................. 21

1、基本概念 ................................................................................................................... 21 2、黑盒测试的两个显著优点: ................................................................................... 21 3、常用的黑盒测试方法 ............................................................................................... 21 4、等价类划分测试用例设计 ....................................................................................... 21 5、边界值分析法 ........................................................................................................... 21 6、决策表法 ................................................................................................................... 22 7、因果图法 ................................................................................................................... 22 8、黑盒测试方法的选择 ............................................................................................... 24 (三)运用白盒测试方法设计测试用例 ............................................................................. 26

1、黑盒测试与白盒测试的区别 ................................................................................... 26 2、白盒测试的常用方法 ............................................................................................... 26 3、逻辑覆盖 ................................................................................................................... 26 4、基本路径测试 ........................................................................................................... 26 (四)软件集成测试相关概念及集成策略的实施过程 ..................................................... 30

1、集成测试相关概念 ................................................................................................... 30 2、 集成测试集成策略的实施过程(见简答题) ..................................................... 30 (五)软件系统测试相关概念及集成策略的实施过程 ..................................................... 31

1、系统测试相关概念 ................................................................................................... 31 系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。 ......................................................................... 31 2、 系统测试集成策略的实施过程 ............................................................................. 33 (六)软件测试管理:测试管理内容、原则 ..................................................................... 33

1、测试管理的基本内容 ............................................................................................... 33 2、测试管理的原则 ....................................................................................................... 34

复习题 ............................................................................................................................................ 35

1

软件测试:15个选择题(15分),10个判断题(10分),5个填空题(10分) 1个简答题(10分),3个设计题(40分)

简答题

软件集成测试相关概念及集成策略的实施过程(集成测试策略)139页

1、集成测试策略

(1)非渐增式集成:

首先对每个子模块进行测试(即单元测试),然后将所有模块全部集成起来一次性进行集成测试。 (2)渐增式集成:

把程序划分成小段来构造和测试,在这个过程中比较容易定位和改正错误,对接口可以进行更彻底的测试,可以使用系统化的测试方法。目前在进行集成测试时普遍采用渐增式集成方法。

自顶向下(从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来:深度优先、宽度优先)、自底向上(从“原子”(最底层)模块开始组装和测试,不需要桩模块(因为总能得到所需的下层模块处理功能)) (3)三明治集成:

是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点。 在这种方法中,桩模块和驱动模块的开发工作都比较小,代价是在一定程度上增加了定位缺陷的难度。 【例】作业题

对图5-9所示的程序进行自顶向下的集成测试,试给出测试过程。 解:自顶向下 1)宽度优先

1

2)深度优先

对图5-9所示的程序进行自底向上的集成测试,试给出测试过程。 解:自底向上

2

对图5-9所示的程序进行三明治集成测试,试给出测试过程。 解:三明治集成测试

2、集成测试辅助模块

--驱动模块:用以模拟待测模块的上级模块。在集成测试中接受测试数据,把相关的数据传送给待测模块,启动待测模块,并打印出相应的结果

--桩模块:存根程序,用以模拟待测模块工作过程中所调用的模块。由待测模块调用,它们一般只进行很少的数据处理,以便于检验待测模块与其下级模块的接口。

判断题

(1)负载测试是验证要检验的系统的能力最高能达到什么程度。(对)

(2)软件测试管理原则之一是全面测试,它的含义:一是对软件的所有产品进行全面的测试;二是测试人员应对测试的全过程进行全程的跟踪。

(3)所有测试的标准都是建立在用户需求之上。

(4)系统测试的目标是要找出软件在与系统其他部分协调工作时出现的所有故障。

(5)安全性测试最终证明应用程序是安全的。

(6)软件开发是一个渐进的过程,测试计划需要根据需求变更及时调整。

设计题:黒盒测试(等价类,决策表)(20页),白盒测试(88页)

3

1、等价类划分法

【例1】课本22页 【例2】课本23页 【例3】电话号码

城市的电话号码由两部分组成。这两部分的名称和内容分别是: 地区码:以0开头的三位或者四位数字(包括0); 电话号码:以非0、非1开头的七位或者八位数字。 假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,就可用等价分类法来设计它的调试用例。 等价类划分:

输入数据 有效等价类 无效等价类 地区码 以0开头的3位数串 以0开头的4位数串 以0开头的含有非数字字符的串 以0开头的小于3位的数串 以0开头的大于4位的数串 以非0开头的数串 以0开头的数串 以1开头的数串 以非0、非1开头的含有非法字符7或者8位数串 以非0、非1开头的小于7位数串 以非0、非1开头的大于8位数串 电话号码 以非0、非1开头的7位数串 以非0、非1开头的8位数串

测试用例设计:

测试数据 010 23145678 023 2234567 0851 3456789 0851 23145678 测试数据 0a34 23456789 05 23456789 01234 23456789

期望结果 显示有效输入 显示有效输入 显示有效输入 显示有效输入 期望结果 显示无效输入 显示无效输入 显示无效输入 覆盖范围 1、8 1、7 2、7 2、8 覆盖范围 3 4 5 4

2341 23456789 028 01234567 028 12345678 028 qw123456 028 623456 028 886234569 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 6 9 10 11 12 13

【例4】学籍管理系统

一条学生信息包括学生的学号、姓名。

学号是学生信息的关键字,不能重复。每个班级的学号范围和学号的数据要求见数据字典。增加重复学号和非数据字典要求的学号时,系统应给出提示。增加信息时,学号是必须输入的,否则,系统应给出提示。下表是数据字典中关于学号的要求。

等价类划分:

测试用例设计:

5

【例5】作业题

在某一C语言版本中规定: “在同一说明语句中,标识符至少必须有一个。” “标识符是由字母开头,后跟字母或数字的任意组合构成。有效字符数为8个,最大字符数为80个。”并且规定:“标识符必须先说明,再使用。” “标识符不能为系统保留字。”请为C编译器设计测试用例。 等价类划分:

输入条件 标识符个数 标识符字符数 有效等价类 1个(1), 多个(2) 1~8个(4) 无效等价类 0个(3) 0个(5), >8个(6), >80个(7) 非字母数字字符(10), 保留字(11) 非字母(13) 未说明就使用(15) 标识符组成 字母(8), 数字(9) 第一个字符 标识符使用 字母(12) 先说明后使用(14) 下面选取 9 个测试用例,覆盖所有的等价类。 ① int x, T1234567 ; x = 3 ;

T1234567 = 2 ; ...?

(1),(2),(4),(8),(9),(12),(14)

6

② int ; (3) ③ int x, ; (5) ④ int T12345678; (6) ⑤ int T12345......80 ; (7)

多于 80 个字符 ⑥ char T$ ; (10) ⑦ int GOTO ; (11) ⑧ int 2T ; (13) ⑨ int PAR ; (15) PAP = 2.5 + (3.14*0.8)/6 ; 【例6】登陆系统

登录系统需求规格说明如下,请按等价类划分方法设计测试用例: 在登录系统界面中,用户输入用户名和密码登录系统。正确的用户名是不低于4位的字符,密码是mercury(大小写均可)。如果用户名为空,系统给出提示:“用户名不能为空”。如果用户名小于4位字符,系统给出提示:“用户名不能小于4位”。如果密码为空,系统给出提示:“密码不能为空”。如果密码小于4位字符,系统给出提示:“密码不能小于4位”。如果密码大于4位字符但不正确时,系统给出提示:“密码错误”。

2、决策表法

【例1】课本33页 【例2】作业题

有一个处理单价为 5 角钱的饮料自动售货机,软件测试用例的设计规格说明如下:

若投入 5 角钱或 1 元钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示“零钱找完”的红灯亮,这时在投入 1 元硬币并按下按钮后,饮料不送出来而且 1 元硬币也退出来;若有零钱找,则显示“零钱找完”的红灯灭,

7

在送出饮料的同时退还 5 角硬币。如果用户在投入硬币后的60秒内没有按下“橙汁”或“啤酒”按钮,系统退还硬币。

分析这一段说明,列出条件桩: D1: 投入5角硬币 D2: 投入1元钱硬币 M1:用户在投入硬币后的60秒内按下“橙汁”按钮 M2:用户在投入硬币后的60秒内按下“啤酒”按钮 M3:用户在投入硬币后的60秒内没有按下按钮 S1:有零钱找 S2:没有零钱找 动作桩为:

不送饮料 送出橙汁 送出啤酒 退出1元硬币 退出5角硬币 零钱找完红灯亮

8

【例3】某商场促销活动期间,对持商场会员卡的顾客,实行8.5折优惠,满1000元实行7折优惠;对其他顾客消费满1000元的,实行9折优惠,并免费办理会员卡。请给出相应的决策表和测试用例。

规则 选项 条件: 持会员卡 消费满1000元 1 2 3 4 1 0 1 1 0 0 0 1 动作: 0折扣 7折扣 8.5折扣 √ √ √ 9

路径:

Path1:0—1-1—1-2—3-1—3-2—4—5 Path2:0—1-1—3-1—3-2—4—5

Path3:0—1-1—1-2—2—3-1—3-2—4—5 Path4:0—1-1—1-2—3-1—4—5 Path5:0—1-1—1-2—3-1—3-2—5

【例2】 1.如图显示某程序的逻辑结构。试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。

覆盖种类 需满足的条件 A>0, B=0 判定覆盖 A>0, B0或 A0, B=0或 A0, B0 以下四种情况各出现一次 条件覆盖 A>0 A0 B=0 B0 A=2,B=0 A=-1,B=1 测试数据 A=2, B=0 A=2, B=1或 A=0, B=0或 A=-1, B=1 执行S1 执行S2 期望结果 执行S1 执行S2 15

A>0, B=0 条件组合 覆盖 A>0 BAA0 A=2, B=0 A=2, B=1 A=-1, B=0 A=0 B=1 执行S1 执行S2 执行S2 执行S2 0, B=0 0, B0 【例3】在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(路径覆盖 )是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例组。若x, y是两个变量,可供选择的测试用例组共有Ⅰ、Ⅱ、Ⅲ、Ⅳ四组,如表中给出,则实现判定覆盖至少应采取的测试用例组是( 5 )或( 8 );实现条件覆盖至少应采取的测试用例组是(4 );实现路径覆盖至少应采取的测试用例组是(5)或( 8 )。

A:① 语句覆盖 ② 条件覆盖 ③ 判定覆盖④ 路径覆盖

B~F:① Ⅰ和Ⅱ组 ② Ⅱ和Ⅲ组 ③ Ⅲ和Ⅳ组 ④ Ⅰ和Ⅳ组

⑤ Ⅰ、Ⅱ、Ⅲ组 ⑥ Ⅱ、Ⅲ、Ⅳ组 ⑦ ⑧ Ⅰ、Ⅱ、Ⅳ组 解答:A. ④

B. ⑤ C. ⑧ D. ④ E. ⑤ F. ⑧

选择填空判断:

知识点:一、软件测试概念、模型(10分)

二、运用黑盒测试方法设计测试用例(30分) 三、运用白盒测试方法设计测试用例(20分)

四、软件集成测试相关概念及集成策略的实施过程(15分) 五、软件系统测试相关概念及集成策略的实施过程(15分) 六、软件测试管理:测试管理内容、原则(10分)

16

(一)软件测试概述概念、模型 1、软件测试概念

软件测试是在一个可控的环境中分析或执行程序的过程,其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷,提高软件的质量。测试目的决定了测试方案的设计。

【例】1.下列关于软件测试的叙述错误的是( )。 A.软件测试可以作为度量软件与用户需求间差距的手段 B.没有发现错误的测试也是有价值的

C.软件测试的根本目的是尽可能多地发现软件中存在的问题,最终把一个高质量的软件系统交给用户使用

D.软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题

2、软件测试过程:

A、单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。

软件单元测试的目的是检测程序模块对《详细设计说明书》的符合程度;软件单元测试依据是《单元测试计划》。

B、软件集成测试又称组装测试,即对程序模块采用自顶向下或自底向上组装起来,对系统的接口进行正确性检验的测试工作。

软件集成测试由项目经理组织软件测试工程师依据《概要设计说明书》和《集成测试计划》进行。

C、确认测试又称有效性测试。

任务是验证软件的功能和性能及其他特性是否与用户的要求一致。 对软件的功能和性能要求在软件需求规格说明中已经明确规定。

D、系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试。

在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。

系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。

E、项目经理负责组织验收组进行最终验收测试。验收组应由项目组成员、用户代表、监理代表等组成。验收测试原则上在顾客所在地进行,但如经顾客同意也可以在公司内模拟用户环境进行。

【例】12.全局数据结构的错误通常在( )中检查。 A.单元测试 B.有效性测试 C.集成测试

17

D.确认测试

3、补充:

回归测试(重新从单元测试开始再次进行测试,一般发生在软件功能变化时)、α&β测试(α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持。

β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与α测试不同的是,开发者通常不在测试现场 )

[例题]软件开发公司组织内部人员,模拟各类用户行为对即将面市的软件产品进行的测试我们称之为( B )。 A.系统测试 B. α测试 C. β测试 D.综合测试

4、测试与软件开发的关系

5、软件测试过程模型

V模型:非常明确地表明了测试的不同级别,清晰地展示了软件测试与开发之间的关系。 需求、功能、设计和编码的开发活动随时间而进行,而相应的测试活动(即针对需求、功能、设计和编码的测试)开展的次序正好相反。 成功应用软件开发V模型的关键因素是设计测试案例的时机。

18

W模型:形象地说明了测试与开发的并行关系,体现了测试贯穿于整个开

发过程的思想。

测试的对象不仅是程序,也包括需求和设计阶段形成的文档。 测试伴随整个开发周期。

测试的对象不仅仅是程序,还包括需求和设计。

W模型应用:相应开发活动完成,即可执行测试(例如:需求分析完成,即可对需求进行测试) 。

H模型:测试不仅仅是测试执行,还包括其他活动。

测试是一个独立流程,贯穿产品整个周期,于其他流程并发进行。 测试要尽早准备,尽早执行。

测试根据被测物的不同是分层次的。

【例题】 ( A )说明了软件测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。 A.W模型 B.V模型 C.H模型 D.X模型

6、软件测试环境

软件测试环境=硬件+软件+网络+数据准备+测试工具

7、软件测试工具

(1)白盒测试工具

根据测试工具的原理不同,又可分为静态测试工具和动态测试工具。 1)静态测试是指不运行被测试程序而通过检查、阅读进行分析。 静态测试工具是在不执行程序的情况下分析软件的特性。

职能:主要集中在需求文档、设计文档以及程序结构上,可以进行类型分析、接口分析、输入输出规格说明分析等。

2)动态测试是指通常意义上的测试,需要运行和使用软件。 动态测试工具直接执行被测程序以提供测试支持。

职能:功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

【例1】2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( C )。

A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。 B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。 C.动态测试包括黑盒测试和白盒测试。

D.白盒测试是静态测试,黑盒测试是动态测试。(都是白盒测试工具)

19

A.等价类划分 B.边界值分析 C.错误推测 D.因果图

【例3】3.( C )方法根据输出对输入的依赖关系设计测试用例。 A.路径测试 B.等价类 C.因果图

D.边界值分析

【例4】4.在功能测试中,假设求实数x的平方根,我们第1次输入“最小的负实数”进行测试,第2次输入“稍小于0”进行测试,第3次输入0进行测试,第4次输入“稍大于0”进行测试,第5次输入“最大的正实数”进行测试,那么这种测试属于( A )。 A.边界值分析法 B.绝对值分析法 C.相对值分析法 D.等价类划分法

【例5】6.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是( D )。 A.条件覆盖法 B.等价类划分法 C.边界值分析法 D.错误推测法

【例6】5.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价类划分法确定等价类是( D )。 A.1<=项目数<=3 B.项目数<1 C.项目数>3 D.以上都是

【例7】4.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边界值分析法设计测试用例,应选( D )。 A.a=3,b=4,c=5 B.a=1,b=2,c=4

C.上述A、B项目都应选上 D.a=1,b=2,c=3

【例8】6.如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边界值测试方法至少需要( A )个测试用例。 A.2(m+n) B.2m+n C.2n+m D.m+n

25

(三)运用白盒测试方法设计测试用例 1、黑盒测试与白盒测试的区别

(1)软件的白盒测试是对软件的过程性细节做细致的检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例因此白盒测试又称为结构测试或逻辑驱动测试。

(2)软件的黑盒测试意味着测试要在软件的接口处进行,只依据程序的需求规格说明书和用户手册,检查程序的功能是否符合它的功能说明,以及性能是否满足用户的要求。因此黑盒测试又叫功能测试或数据驱动测试。

2、白盒测试的常用方法

逻辑覆盖、路径分析测试、循环/条件分支

3、逻辑覆盖

4、基本路径测试

(1)基本路径测试思想:根据程序的控制流图找出一个模块所需测试的基本路径,根据这些基本路径设计构造相应的测试用例 (2)基本路径测试设计步骤

根据模块逻辑构造控制流图(Flow Graph)

计算控制流图的环复杂度 (Cyclomatic Complexity)

26

列出包含起始节点和终止节点的基本路径 设计覆盖这些基本路径的测试用例 其中第1、3、4步是重难点。

27

【例1】3.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是( )方法。 A.边界值分析 B.条件覆盖 C.错误推测 D.逻辑覆盖

【例2】6.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是( )。 A.条件覆盖法 B.等价类划分法 C.边界值分析法 D.错误推测法

【例3】7.实际的逻辑覆盖测试中,一般以( )为主设计测试用例。 A.条件覆盖 B.判定覆盖

C.条件组合覆盖 D.路径覆盖

【例4】5.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为( )。 A.(C1<100)AND NOT(C2=0) B.(C1<100)AND NOT(C2>0) C.NOT(C1>100)AND(C2=0) D.NOT(C1<100)AND(C2>0) 【例5】8.{

void SelectSort ( datalist & list ) \\{

28

//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

for ( int i = 0; i < list.n-1; i++ ) \\{

int k = i; //在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象 for ( int j = i+1; j < list.n; j++)

if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j;

//当前具最小关键码的对象

if ( k != i ) Swap ( list.V[i], list.V[k] );//交换

\\} \\}

上面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):请问该程序段的McCabe环路复杂性为多少?( ) } A.2 B.3 C.4 D.5

【例6】8.{

PROCEDURE averagy i = 1;

total.input = total.valid = 0; sum = 0;

DO WHILE value[i] <> -999 AND total.input < 100

increment total.valid by 1;

IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid[i]; ELSE skip; ENDIF

Increment i by 1; ENDDO

IF total.valid > 0

THEN averagy = sum / total.valid; ELSE averagy = -999; ENDIF END averagy

上面是一个求平均值的程序,请问该程序段的McCabe环路复杂性为多少?( ) } A.4 B.5 C.6 D.7

29

(四)软件集成测试相关概念及集成策略的实施过程 1、集成测试相关概念

(1)集成测试主要检查各个软件单元之间的相互接口是否正确。 (2)集成测试与系统测试的区别:

测试对象(系统测试还包括硬件等)、测试时间(集成测试先于系统测试)、测试方法(系统测试采用黑盒测试,集成测试黑白结合)、测试内容、测试目的、测试角度(集成测试站在开发人员的角度,系统测试更多站在用户角度)。 (3)集成测试的层次与原则

1)层次:(传统软件)模块间集成测试、子系统内集成测试、子系统间集成测试;(面向对象的应用系统)类内集成测试、类间集成测试。 2)原则:所有公共接口必须被测试到; 关键模块必须进行充分测试; 集成测试应当按一定层次进行;

集成测试应当尽早开始,并以概要设计为基础;

在模块和接口的划分上,测试人员应该和开发人员进行充分沟通; 当测试计划中的结束标准满足时,集成测试才能结束;

当接口发生修改时,涉及到的相关接口都必须进行回归测试; 集成测试应根据集成测试计划和方案进行,不能随意测试; 项目管理者应保证测试用例经过审核; 测试执行结果应当如实的记录;

集成测试策略选择应当综合考虑质量、成本和进度三者之间的关系。 (4)集成测试策略: 非渐增式集成方法

渐增式集成方法——自顶向下、自底向上、三明治 要从多个角度进行集成测试用例设计

集成测试过程——计划、设计、实施、执行、评估

2、集成测试集成策略的实施过程(见简答题)

【例1】10.集成测试的策略一般分为:一次性集成和渐增式集成。下面哪一条真实地反映了前者与后者的不同?( A )。

A.后者比前者更适合大规模应用系统的集成测试

B.在集成测试中发现问题时,前者比后者更容易进行问题定位

C.前者需要开发驱动模块和桩模块,而后者不需要开发驱动模块和桩模块 D.前者不需要所有模块就绪,而后者需要所有模块就绪

【例2】11.集成测试又称为组装测试,其主要内容包括( C )。 A.对整体的性能进行测试

B.用白盒法设计测试用例进行测试 C.确定组装策略和次序

30

D.对运行过程进行测试(是对接口进行测试)

【例3】9.对于传统软件来说,按集成粒度不同可以把集成测试分为( C )。 ①模块间集成测试 ②类内集成测试 ③类间集成测试 ④子系统内集成测试 ⑤ 子系统间集成测试 A.①②③ B.②③④ C.①④⑤ D.②③⑤

【例4】10.在有关集成测试的叙述中,( A )是正确的。 A.测试底层模块时不需要桩模块 B.驱动模块的作用是模拟被调模块 C.自顶向下测试方法易于设计测试结果

D.自底向上测试方法有有利于提前预计测试结果

【例5】12.不断执行同样的操作,如不停地启动或关闭程序、反复读写数据或者选择同一个操作。这种测试我们称之为( B )测试。 A.强度 B.重复 C.压迫 D.重负

【例6】11.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。 A.自顶向下渐增式测试 B.自底向上渐增式测试 C.非渐增式测试 D.系统测试

【例7】13.同时启动上百个模拟连接去请求服务器的服务,这种测试我们称之为( D )测试。 A.安全 B.重复 C.容量 D.压力

(五)软件系统测试相关概念及集成策略的实施过程 1、系统测试相关概念

系统测试一般由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。

(1)性能测试——通过测试确定系统运行时的性能表现,如得到运行速度、响

31

应时间、占有系统资源等方面的系统数据。

(2)压力测试——通过逐步增加系统负载来测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统性能提供的最大服务级别的测试。

压力测试和负载测试的联系与区别:负载测试是通过逐步增加系统工作量,测试系统能力的变化,并最终确定在满足功能指标的情况下,系统所能承受的最大工作量的测试。压力测试实质上就是一种特定类型的负载测试。

(3)容量测试——通过测试,预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),确定系统在其极限值状态下是否还能保持主要功能正常运行。还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。 联系 压力测试 容量测试 二者都是检测系统在特定情况下,能够承担的极限值。 主要是使系统承受速度方面关注的是数据方面的承受能的超额负载,例如一个短时力,并且它的目的是显示系统间之内的吞吐量。 可以处理的数据容量。 区别 (4)健壮性(高可靠性、从错误中恢复的能力)测试——用于测试系统抵御错误(由于设计缺陷而带来的系统错误)的能力。重点为当出现故障时,是否能够自动恢复或忽略故障继续运行。

(5)安全性测试——是检查系统对非法侵入的防范能力,其目的是为了发现软件系统中是否存在安全漏洞。

(6)可靠性测试——是以计算软件可靠性为目的的。 可以得出可靠性是否达到规定指标要求 可以给出软件测试应该何时结束

通常使用平均无故障时间MTBF(Mean Time Between Failure)来衡量系统的可靠性。MTBF越大,系统的可靠性越强。 (7)

32

2、系统测试集成策略的实施过程

(1)性能测试分为3个阶段:计划阶段、测试阶段、分析阶段 性能测试的基准:响应时间、并发用户数、吞吐量、性能计数器

(2)压力测试方法的特点:1)检查系统处于压力情况下的能力表现、2)一般通过模拟方法进行、3)一般用于测试系统的稳定性;

有效的压力测试可以采用以下的测试手段:1)重复测试2)并发测试3)量级增加4)随机变化。

【例1】12.系统测试一般从客户角度考察和评价软件产品的质量,不考虑开发方关注的质量特性。那么,下面那一个质量特性一般不是系统测试的重点?( D )

A.是否符合有关的国家和行业标准 B.产品版本升级是否容易

C.软件产品是否易于理解和使用 D.可复用的软件部件所占的比例

【例2】14. 对一个网站的连接速度测试属于( C )? A.功能测试

B. 客户端兼容性测试 C. 性能测试 D. 安全测试

(六)软件测试管理:测试管理内容、原则 1、测试管理的基本内容

软件测试管理是软件工程的保护性活动。它先于任何测试活动之前开始,且持续贯穿于软件开发整个生命周期之中。

测试管理通过一定的管理方法和工具对整个软件测试过程进行计划、组织和监控,主要内容包括:

33

测试组织管理:组织和管理测试小组、安排测试任务、估计测试工作量、确定应交付的测试文档等。

测试过程管理:主要包括测试准备、测试计划、测试设计、测试执行、缺陷跟踪与管理、测试评估。

资源和配置管理:人力和环境资源管理;以及标识、控制和管理软件变更。 测试文档管理:分类、格式和模板、一致性、存储管理。

2、测试管理的原则

没有哪种模型完全适用于某项实际的测试工作,应从不同的模型中抽象出符合实际现状的测试过程管理理念来策划测试过程,以不变应万变。 (1)尽早测试:

测试人员尽早参与软件项目;尽早开展测试执行工作。 (2)全面测试:

对软件的所有产品进行全面的测试;软件开发及测试人员应全面参与到测试工作中。

(3)全过程测试:

测试人员应充分关注软件开发过程;对测试的全过程进行全程的跟踪。

(4)迭代的测试:为适应不同的需要, 人们更多地使用螺旋、迭代等模型,这些模型中需求、设计、编码工作可能重叠并反复进行的,这时的测试工作也将是迭代和反复的。要将测试从开发中抽象出来进行独立的管理。

【例1】15.软件测试管理是软件工程的保护性活动,其基本内容不包括( )。 A.测试组织管理 B.测试过程管理 C.效益管理

D.资源和配置管理

【例2】13.以下关于测试管理原则的描述中不正确的是( )。 A.实施全过程测试,有助于及时应对项目变化,降低测试风险。

B.软件应全面测试,不仅对所有产品进行测试,还要求开发人员和测试人员全面参与。

C.不能将测试过程从开发过程中抽象出来,作为一个独立的过程进行管理。 D.尽早开展测试准备工作,能使测试人员较早了解测试难度、预测风险、提高效率。

【例3】14.下面叙述中,哪一项不是测试项目管理者的职责?( )。 A.合理分配任务 B.负责建立测试环境 C.制订测试策略

D.将已有经验灵活应用到新项目中

【例4】15.下列所述的测试原则中,错误的是( )。 A.应设计非法输入的测试用例 B.测试用例要给出测试的预期结果 C.因维护修改程序后需回归测试 D.开发小组与测试小组合并

34

复习题

1.下列关于软件测试的叙述错误的是( )。

A.软件测试可以作为度量软件与用户需求间差距的手段 B.没有发现错误的测试也是有价值的

C.软件测试的根本目的是尽可能多地发现软件中存在的问题,最终把一个高质量的软件系统交给用户使用

D.软件测试的主要工作内容包括发现软件中存在的错误并解决存在的问题

2.软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( )。 A.静态测试是指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。 B.动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。 C.动态测试包括黑盒测试和白盒测试。

D.白盒测试是静态测试,黑盒测试是动态测试。

3.月收入<=800元者免税,现用输入数800元和801元测试程序,则采用的是( )方法。 A.边界值分析 B.条件覆盖 C.错误推测 D.逻辑覆盖

5.某教学设备销售部门制定一项销售优惠政策,一次购买100台或100台以上者按八五折优惠,购买者是教师、学生按九折优惠。设C1表示购买的台数,C2为1、2、0分别表示教师、学生和其他人员,则符合九折优惠判定条件为( )。 A.(C1<100)AND NOT(C2=0) B.(C1<100)AND NOT(C2>0) C.NOT(C1>100)AND(C2=0) D.NOT(C1<100)AND(C2>0)

6.( )能够有效地检测输入条件的各种组合可能会引起的错误。 A.等价类划分 B.边界值分析 C.错误推测 D.因果图

7.软件测试用例主要由输入数据和( )两部分组成。 A.测试计划 B.测试规则 C.预期输出结果

D.以往测试记录分析

10.集成测试的策略一般分为:一次性集成和渐增式集成。下面哪一条真实地反映了前者与后者的不同?( )。

35

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.资源和配置管理

1.( )说明了软件测试与开发的并行关系,体现了测试贯穿于整个开发过程的思想。 A.W模型 B.V模型 C.H模型 D.X模型

2.在下面几句中,判断哪一个是正确的。( ) A.测试工作应在编码阶段结束后开始。

B.测试设计工作与软件开发活动是相互独立、相互无关的。

C.测试脚本是指一个测试包,它由一组逻辑相关的测试用例组成。

36

D.过度测试会影响进度和增加成本。

4.程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边界值分析法设计测试用例,应选( )。 A.a=3,b=4,c=5 B.a=1,b=2,c=4

C.上述A、B项目都应选上 D.a=1,b=2,c=3

5.某程序功能说明中列出“规定每个运动员参赛项目为1——3项”,应用黑盒法中的等价类划分法确定等价类是( )。 A.1<=项目数<=3 B.项目数<1 C.项目数>3 D.以上都是

6.如果某个程序的输入数据的可能值划分为n个合理等价类,m个不合理等价类,这些等价类均为数轴上的一个有限区间范围,则采用边界值测试方法至少需要( )个测试用例。 A.2(m+n) B.2m+n C.2n+m D.m+n 8.{

void SelectSort ( datalist & list ) \\{

//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

for ( int i = 0; i < list.n-1; i++ ) \\{

int k = i; //在list.V[i].key到list.V[n-1].key中找具有最小关键码的对象 for ( int j = i+1; j < list.n; j++)

if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j;

//当前具最小关键码的对象

if ( k != i ) Swap ( list.V[i], list.V[k] );//交换

\\} \\}

上面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):请问该程序段的McCabe环路复杂性为多少?( ) } A.2 B.3 C.4 D.5

9.对于传统软件来说,按集成粒度不同可以把集成测试分为( )。

①模块间集成测试 ②类内集成测试 ③类间集成测试 ④子系统内集成测试 ⑤ 子系统间集成测试

37

A.①②③ B.②③④ C.①④⑤ D.②③⑤

10.在有关集成测试的叙述中,( )是正确的。 A.测试底层模块时不需要桩模块 B.驱动模块的作用是模拟被调模块 C.自顶向下测试方法易于设计测试结果

D.自底向上测试方法有有利于提前预计测试结果

12.不断执行同样的操作,如不停地启动或关闭程序、反复读写数据或者选择同一个操作。这种测试我们称之为( )测试。 A.强度 B.重复 C.压迫 D.重负

13.以下关于测试管理原则的描述中不正确的是( )。 A.实施全过程测试,有助于及时应对项目变化,降低测试风险。

B.软件应全面测试,不仅对所有产品进行测试,还要求开发人员和测试人员全面参与。 C.不能将测试过程从开发过程中抽象出来,作为一个独立的过程进行管理。

D.尽早开展测试准备工作,能使测试人员较早了解测试难度、预测风险、提高效率。

14.下面叙述中,哪一项不是测试项目管理者的职责?( )。 A.合理分配任务 B.负责建立测试环境 C.制订测试策略

D.将已有经验灵活应用到新项目中

15.下列所述的测试原则中,错误的是( )。 A.应设计非法输入的测试用例 B.测试用例要给出测试的预期结果 C.因维护修改程序后需回归测试 D.开发小组与测试小组合并

3.( )方法根据输出对输入的依赖关系设计测试用例。 A.路径测试 B.等价类 C.因果图

D.边界值分析

4.在功能测试中,假设求实数x的平方根,我们第1次输入“最小的负实数”进行测试,第2次输入“稍小于0”进行测试,第3次输入0进行测试,第4次输入“稍大于0”进行测试,第5次输入“最大的正实数”进行测试,那么这种测试属于( )。 A.边界值分析法

38

B.绝对值分析法 C.相对值分析法 D.等价类划分法

5.为了提高测试的效率,应该( )。 A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

6.现有一个计算类型的程序,它的输入只有一个Y,其范围是—50≤Y≤50。现从输入的角度考虑设计了一组测试用例:—100,100,0。设计这组测试用例的方法是( )。 A.条件覆盖法 B.等价类划分法 C.边界值分析法 D.错误推测法

7.实际的逻辑覆盖测试中,一般以( )为主设计测试用例。 A.条件覆盖 B.判定覆盖 C.条件组合覆盖 D.路径覆盖 8.{

PROCEDURE averagy i = 1;

total.input = total.valid = 0; sum = 0;

DO WHILE value[i] <> -999 AND total.input < 100

increment total.valid by 1;

IF value[i] >= minimum AND value[i] <= maximum THEN increment total.valid[i]; ELSE skip; ENDIF

Increment i by 1; ENDDO

IF total.valid > 0

THEN averagy = sum / total.valid; ELSE averagy = -999; ENDIF END averagy

上面是一个求平均值的程序,请问该程序段的McCabe环路复杂性为多少?( ) } A.4

39

本文来源:https://www.bwwdw.com/article/ecqg.html

Top