贵州师范大学
购买第三
方组件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。
3. 生产者复用(Product Reuse)和消费者复用(Consumer Reuse)有何区别?
答:生产者复用是指建立、获取或者重新设计可复用构件的活动。生产者复用中涉及的活动包
《软件工程——理论与实践》(第2 版)习题答案
括:复用的规划、领域分析、构件的开发、构件库的组织和管理。消费者复用是指使用可复用的构
件建立新的软件系统的活动。消费者复用中涉及的活动包括:应用系统的规划、构件的检索和选择、
应用系统中非复用部分的开发、应用系统的组装等。
4.什么是可复用组件?相对于普通软件产品,对可复用组件有何特殊要求?
答:可复用构件是指可以在多个软件系统的开发过程中被重复使用的软件产品。
相对于普通软件产品,对可复用构件的特殊要求包括:具有功能上的独立性与完整性、具有较
高的通用性、具有较高的灵活性、具有严格的质量保证和具有较高的标准化程度。
5.什么是软件复用?
答:软件复用是指重复使用已有的软件产品来开发新的软件系统,以达到提高软件系统的开发
质量与效率、降低开发成本的目的。在软件复用中重复使用的软件产品不仅仅局限于程序代码,而
是包含了在软件生产的各个阶段所得到的各种软件产品,这些软件产品包括:领域知识、体系结构、
需求分析、设计文档、程序代码、测试用例和测试数据等。将这些已有的软件产品在软件系统开发
的各个阶段重复使用,这就是软件复用的原理。
6. 软件复用的层次可以分为哪几个级别?
答:(1)代码的复用;(2)设计结果的复用;(3)分析结果的复用;(4)测试信息的复用。
7.简述三种应用最为广泛的组件技术规范:COM、CORBA 和EJB 的各自特点。 答:略。
习题八答案
一、 选择题
1. 软件测试的主要特点是(A C)。
A) 软件测试的开销大 B) 软件测试要依靠工具 C) 软件不能进行“穷举”测试 D) 软件测试要依靠人工
08级计算机科学与技术专业
贵州师范大学
2. 整体测试又称为组装测试,其主要内容包括(C D)。
A) 对整体的性能进行测试 B) 用白盒法设计测试用例进行测试 C) 确定组装策略和次序 D) 对组装过程进行测试 3. 渐增式是将模块一个一个地连入系统,每连入一个模块(C)。 A) 只需要对新连入的模块进行测试 B) 都不需要再进行测试 C) 要对新子系统进行测试 D) 都要进行回归测试
4. 静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测试方法有 (B C D)。
A) 运行程序并分析运行结果 B) 桌前检查与代码会审 C) 数据流分析图 D) 调用图 5. 集成过程的原则是(B C)。 A) 按照模块的大小集成
B) 尽早测试包含I/O 的模块
《软件工程——理论与实践》(第2 版)习题答案
C) 尽早测试关键模块
D) 按照“输入—处理—输出”的次序进行集成
6. 面向对象的测试与传统测试方法的主要区别是(A C)。
A) 面向对象的测试可在编码前进行,传统测试方法在编码后进行
B) 面向对象的测试以需求和设计阶段的测试为主,不需要进行代码测试 C) 测试对象不同
D) 面向对象的测试不需要设计测试用例,只需要进行会议评审 7. 软件测试的基本原则是(A C D)。 A) 关键是注重选择高效的测试用例 B) 选择尽可能多的测试用例
C) 尽量不由程序设计者进行测试 D) 充分注意测试中的群集现象 8. 等价分类法的关键是( C)。 A) 确定等价类的边界条件 B) 按照用例来确定等价类 C) 划分等价类
D )确定系统中相同和不同的部分
二、 判断题
1. 单元测试通常应该先进行人工走查,再以白盒法为主,辅以黑盒法进行动态测试。 (√)
08级计算机科学与技术专业
贵州师范大学
2. 功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明书相同。( √)
3. 白盒法是一种静态测试方法,主要用于模块测试。 ( ×)
4. 整体测试又称为逻辑覆盖测试,需要对系统模块的内部结构进行测试。(×)
5. 在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。( ×)
6. 发现错误多的模块,残留在模块中的错误也多。(√)
7. 面向对象的测试不能采用黑盒法,因为它是一种全新的开发模式。( ×)
8. 在发现错误后,则应按照一定的技术去纠正它,纠错的关键是定位错误。(√)
三、 简答题
1. 等价分类法的基本思想是什么?
答:根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中
选择出具有“代表性”的用例,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某
个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。
2. 自顶向下渐增与自底而上渐增各有何优、缺点? 答:① 自顶向下渐增
优点:能够尽早发现系统主控方面的问题,并尽早测试系统结构的问题。
缺点:需要编写桩模块,由于下属模块往往不止一个,也不止一层,加之模块接口的复杂性,
桩模块很难模拟各下层模块之间的调用关系,也无法验证桩模块是否完全模拟了下属模块的功能。
因此很难尽早查出底层容易出错的复杂模块中的错误,所以导致过多的回归测试。 ② 自底向上渐增
优点:需要编写驱动模块。驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上
《软件工程——理论与实践》(第2 版)习题答案
层,所以驱动模块只需模拟向被测模块传递数据,接收或打印从被测模块返回的数据等功能,比编
写桩模块容易。还能够尽早查出底层涉及较复杂的算法和实际的I/O 模块中的错误。
08级计算机科学与技术专业
贵州师范大学
缺点:只有当系统所有模块全部组装完成,才能看到系统完整的结构,才能测试系统的主控功 能。
3. 渐增式与非渐增式有何区别?为什么通常采用渐增式?
答:非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测试过程中难于查错,
发现错误也很难定位,测试效率低。
渐增式是将模块一个一个地连入系统,每连入一个模块,都要对新子系统进行测试。这种组装
测试方案虽然用机时多,但比较非渐增式容易查出错误及进行错误定位,有利于查出模块接口部分
的错误,测试效率高。因此通常采用渐增式。 4. 什么是 α测试和 β测试?
答:α 测试是在开发机构的监督下,在确认测试阶段后期由个别用户对软件进行测试,目的是
评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持性),注重界面和特色。 β测试是在进行了 α测试的基础上,由支持软件预发行的客户对 FLURPS 进行测试,主要目的
是测试系统的可支持性,是在软件产品正式发布前的测试。
5. 黑盒法与白盒法的区别是什么?各自运用在什么情况下?
答:白盒法测试又称结构测试或逻辑驱动测试。必须考虑程序内部结构和内部特性,针对特定
条件或与循环集设计测试用例,对软件的主要逻辑路径进行测试。一般主要用于模块测试。 黑盒法测试又称功能测试或基于规格说明的测试。这种方法是从用户观点出发,测试时把被测
程序当作一个黑盒,不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系
或程序的功能的情况下,依靠能够反映着这一关系和程序功能需求规格的说明书,来确定测试用例
和推断测试结果的正确性。一般用于集成测试、确认测试及功能测试、系统测试等。
6.软件测试与其他软件开发活动相比具有什么样的特点?
答:软件测试的目标在于,以最小的工作量和成本,尽可能多地发现软件系统中存在的各种错
误和缺陷,以确保软件系统的正确性和可靠性。其主要特点是: ⑴ 软件测试的开销大。按照Boehm 的统计,软件测试的开销大约占总成本的30%~50%。 ⑵ 不能进行“穷举”测试。只有将所有可能的情况都测试到,才有可能检查出所有的错误,但
这是不可能的。 ⑶ 软件测试难度大。既然不能进行 “穷举”测试,又要查出尽可能多的错误,随着软件的规
08级计算机科学与技术专业
相关推荐: