路径:
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