1. 白盒测试的条件覆盖标准强于判定覆盖。 ( × ) 2. 验收测试是以最终用户为主的测试。 ( √ ) 3. 测试程序仅仅按预期方式运行就行了。 ( × ) 4. 自底向上集成需要测试员编写驱动程序。 ( √ ) 5. 好的测试员不懈追求完美。 ( × ) 6. 软件测试工具可以代替软件测试员。 ( × )
7. 最重要的用户界面要素是软件符合现行标准和规范。 ( √ ) 8. 自动化测试可能延误项目进度。 ( √ ) 9. 软件测试员可以对产品说明书进行白盒测试。 ( √ ) 10. 静态白盒测试可以找出遗漏之处和问题。 ( √ ) 四、名词解释;共5小题,每小题3分,满分15分
1.软件缺陷:(符合下列规则的叫软件缺陷): 1).软件未达到产品说明书的功能
2).软件出现了产品说明书指明不会出现的错误 3).软件功能超出产品说明书指明范围
4).软件未达到产品说明书虽未指出但应达到的目标
5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好
2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。 3.白盒测试
白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。 4.回归测试
指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
五、简答题:共3小题,每小题5分,满分15分。 1. 什么是测试用例?为什么要设计测试用例?
答:所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。 使用测试用例的好处主要体现在以下几个方面:
? 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 ? 测试用例的使用令软件测试的实施重点突出、目的明确。
? 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
-6-
? 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则
会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升
2. 简述增量式集成测试的自顶向下和自底向上两种测试方法。
答:自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。
自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。
3.分析单元测试和代码调试的区别。
答:表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。
六、:综合题:共1小题,每小题20分,满分20分。
1.按要求给出下列程序的测试用例(要求写出必要的说明): (1) 语句覆盖 (2) 判定覆盖 (3) 条件覆盖 (4) 判定-条件覆盖 (5) 条件组合覆盖
入口 a A>1 AND B=0 b F T e x=x+1 T c x=x/A A=2 OR x>1 d F 返回 图中共有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
-7-
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)
不定项选择题(每题2 分,共20分)请将答案填入题后括号中。 1.软件验收测试的合格通过准则是:( ABCD )
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。 D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?( ABCD ) A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:( AD ) A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:( BC )
A.制定测试计划B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.下面哪些属于动态分析( CD )
A. 代码覆盖率B. 模块功能检查C. 系统压力测试D. 程序数据流分析 6.下面哪些属于静态分析( ABC )
A、 代码规则检查B、 程序结构分析C、 程序复杂度分析D、 内存泄漏 7.软件实施活动的进入准则是( ABC )
A、 需求工件已经被基线化B、 详细设计工件已经被基线化 C、 构架工件已经被基线化D、 项目阶段成果已经被基线化
8.不属于单元测试内容的是 ( D )
(A)模块接口测试 (B)局部数据结构测试(C) 路径测试 (D)用户界面测试 9.软件测试设计活动主要有( ABCD )
-8-
A、 工作量分析B、 确定并说明测试用例C、 确立并结构化测试过程D、 复审并评估测试覆盖 10.不属于集成测试步骤的是( D )
A、 制定集成计划B、 执行集成测试C、 记录集成测试结果 D、 回归测试
二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。
1. 通过画因果图来写测试用例的步骤为 分析程序规格说明的描述中,哪些是原因,哪些是结果 、分析
程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图、在因果图上使用若干个特殊的符号标明特定的约束条件、把因果图转换为状态图和_________把判定表中每一列表示的情况写成测试用例__________及共五个步骤。 20.
21. 软件测试主要分为__单元测试、集成测试、系统测试、验收测试____四类测试。 22. 软件缺陷产生的原因包括___需求___、设计、___编码__以及其他原因。
三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。 1.软件测试的目的是尽可能多的找出软件的缺陷。( √ ) 2.Beta 测试是验收测试的一种。( √ ) 3.验收测试是由最终用户来实施的。( × ) 4.项目立项前测试人员不需要提交任何工件。( √ ) 5.单元测试能发现约80%的软件缺陷。( √ )
6.代码评审是检查源代码是否达到模块设计的要求。( × ) 7.自底向上集成需要测试员编写驱动程序。( √ )
8.负载测试是验证要检验的系统的能力最高能达到什么程度。( × ) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。( × ) 10.代码评审员一般由测试员担任。( × ) 四、名词解释;共5小题,每小题3分,满分15分 1.α测试2. β测试3.驱动模块4. 桩模块5. 静态测试 1.α测试
有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。 2. β测试
是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。 3.驱动模块
驱动模块就是用来代替主模块,用它来调用子模块 4. 桩模块
集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。 5. 静态测试
-9-
就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。
五、简答题:共3小题,每小题5分,满分15分。 1. 阶段评审与同行评审的区别。 答:区别阶段评审的与同行评审
同行评审目的:发现小规模工作产品的错误,只要是找错误; 阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性 同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导 阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格 同行评审内容:内容小 一般文档 < 40页, 代码 < 500行 阶段评审内容: 内容多,主要看重点 同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上。 2 . 什么是软件测试。
最简单的说:为了发现程序中的错误而执行程序的过程 3 . 简述集成测试的过程。 系统集成测试主要包括以下过程: 1. 构建的确认过程。 2. 补丁的确认过程。
3. 系统集成测试测试组提交过程。 4. 测试用例设计过程。 5. 测试代码编写过程。 6. Bug的报告过程。 7. 每周/每两周的构建过程。 8. 点对点的测试过程。 9. 组内培训过程。
六、综合题:共1小题,每小题20分,满分20分。
在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。 1. Program triangle2 2. Dim a,b,c As Integer 3. Dim IsATriangle As Boolean
4. Output(“Enter 3 integers which are sides of a triangle”)
9
-10-
4101211