软件测试检查技术基础教学教程(第2版)~习题内容答案.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件测试检查技术基础教学教程(第2版)~习题内容答案.doc》由会员分享,可在线阅读,更多相关《软件测试检查技术基础教学教程(第2版)~习题内容答案.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.第一章 软件测试理论 一、选择题 1、C 2、A 3、D 4、B 5、D 6、D 7、B 8、B 二、简答题 1 参考答案: 软件测试是伴随着软件的产生而产生的。在软件行业发展初期,没有系统意义上的软 件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经 验随机进行的,大多数测试的目的是为了证明系统可以正常运行。 到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整 的体系。在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了 QA或者SQA部门。后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)
2、 则从QA中分离出来成为独立的组织职能。 到了 20 世纪 80 年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试 作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。软件测试已有了行业 标准(IEEE/ANSI ) 。 在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。 但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索 阶段。 总之,国内软件测试行业与一些发达国家相比还存在一定的差距。 2. 参考答案: 软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。 3 参考答案: 软件测试的复杂性体现在: 不可能对程序实现完全测
3、试。 杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测 试程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序 具有免疫力而使软件缺陷不被发现。 软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上 升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点, 掌握好测试工作量是至关重要的。 在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来.决定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要 被修复。 4 参考答案: 软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外
4、,还 包括其他的相关费用。影响测试费用的主要因素有: (1) 软件的功能,软件产品需要达到的标准决定了测试的数量。对于那些至关重要 的系统必须进行更多的测试。 (2) 目标用户的数量,一个系统的目标用户数量的多少也在很大程度上影响了测试 必要性的程度。 (3) 潜在缺陷造成的影响 在考虑测试的必要性时,还需要将系统中所包含的信息价值考虑在内。因此我们应该 从经济方面考虑,投入与经济价值相对应的时间和金钱去进行测试。 (4) 开发机构的业务能力 一个没有标准和缺少经验的开发机构很可能会开发出充满错误的软件系统。而一个建 立了标准和有很多经验的开发机构开发出来的软件系统中的错误将会少很多。 (5)
5、 测试的时机 测试量会随时间的推移发生改变,在一个竞争很激烈的市场里,争取时间可能是制胜 的关键。测试量应该针对合适的目标进行调整。 5 参考答案: 软件测试是贯穿于整个软件开发的过程。在软件开发的各个阶段,测试人员必须制订 本阶段的测试方案,把软件开发和测试活动集成到一起,如下图所示。 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 6 参考答案: 软件测
6、试从测试计划编写到测试实施,需要经过一系列的过程。这些测试按软件从编 写到交付的各个阶段的先后顺序可分为:单元测试、集成测试、确认(有效性)测试、系 统测试和验收(用户)测试 5个阶段,如下图所示。.交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 交 7 参考答案: 通常软件人员应具备如下素质: (
7、1) 良好的沟通能力 (2) 掌握比较全面的技术 (3) 充分的自信心 (4) 足够的耐心和责任感 (5) 要具备怀疑精神和学习能力 (6) 超强的记忆力和良好的洞察力 第 2章 白盒测试技术 一、选择题 1、B 2、C 3、A 4、D 5、B 6、B 7、C 8、C 9、A 10、A 三、简答题 1 参考答案: 白盒测试方法可以分为两大类:静态测试方法和动态测试方法,动态测试方法是设计 一系列的测试用例,通过输入预先设定好的数据来动态地运行程序,从而达到发现程序错 误的目的。静态测试方法则不在计算机上实际执行程序,而是以一些人工的模拟技术或使 用测试软件对软件进行分析和测试。动态测试方法主要
8、有逻辑覆盖、独立路径测试等。静 态测试方法主要有静态结构分析、静态质量度量、代码检查方法等。 2 参考答案: 根据不同的测试要求,覆盖测试可以分为语句覆盖、判定覆盖、条件覆盖、判定条.件覆盖、条件组合覆盖和路径覆盖。 语句覆盖就是设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执 行一次。 判定覆盖又称分支覆盖,就是设计足够多的测试用例,使得被测试程序中的每个判断 的“真” 、 “假”分支至少被执行一次。 条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻 辑条件的可能值至少被满足一次。或者说设计足够多的测试用例,使得被测试程序中的每 个逻辑条件的可能值至少
9、被满足一次。 判定/条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断本身的判定 结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。即同时满 足100%判定覆盖和100%条件覆盖的标准。在保证完成要求的情况下,测试用例的数目越少 越好。 条件组合覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断的所有可能 条件取值的组合至少被满足一次。 路径覆盖就是设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。 3 参考答案: 独立路径测试的基本步骤是: 步骤 1:根据源程序导出程序控制流图。 步骤 2:根据程序环形复杂度的计算公式,求出程序环形复杂度。
10、步骤3:根据上面环形复杂度的计算结果,设计测试用例。 4 参考答案: (1)请画出以上代码的控制流图。 注意:需要将复合条件分开单独画成节点。 例如:month = 1 测试 计划和用例。 要求:模块集成 功能的正确性、适用性 缺陷报告、代码完成状态报 告、功能验证测试报告 系统测试 System Testing 修改后的软件包、测试环境、系统测试用例和测试 计划。 要求:系统能正常地、有效的运行,包括性能、可 靠性、安全性、兼容性等。 缺陷报告、系统性能分析报 告、缺陷状态报告、阶段性 测试报告 验收测试 Acceptance Testing 产品规格设计说明、预发布的软件包、确认测试用 例
11、 要求:向用户表明系统能够按照预定要求那样工作, 使系统最终可以正式发布或向用户提供服务。用户 要参与验收测试,包括 测试(内部用户测试) 、 测试(外部用户测试) 。 用户验收报告、缺陷报告审 查、版本审查。 最终测试报告 版本发布 软件发布包、软件发布检查表(清单) 当前版本已知问题的清单、.Release 版本发布报告 维护 Maintance 变更的需求、修改的软件包、测试用例和计划。 要求:新的或增强的功能正常、原有的功能正常, 不能出现回归缺陷 缺陷报告、更改跟踪报告、 测试报告 5 参考答案: 测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚 本等,并形
12、成文档。测试用例通常根据其所关联的测试类型或测试需求来分类,而且将随 类型和需求进行相应地改变。最佳方案是为每个测试需求至少编制两个测试用例:一个测 试用例用于证明该需求已经满足,通常称作正面测试用例;另一个测试用例反映某个无法 接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求,这个测 试用例称作负面测试用例。 6举例说明测试用例的设计方法。 参考答案:略 7请以某个实际工作为例,详细的描述一次测试用例设计的完整的过程。 参考答案:略 8选择一个小型应用系统,为其做出系统测试的计划书、设计测试用例并写出测试总 结报告。 参考答案:略 第 5章 软件自动化测试 1. 简述软
13、件测试自动化的意义和作用。 软件自动化测试的意义是减轻手工测试的工作量,从而达到提高软件质量的目的。 软件自动化测试的作用包括:它能完成许多手工测试无法实现的或者难以实现的测试, 甚至可以提供要比手工测试更好、更快的测试执行方式,可以省去许多繁杂的工作,节省 大量的测试时间。实施正确、合理的自动化测试,能够快速、完整地对软件进行测试,从 而提高软件的质量,进而提高对整个软件开发工作的质量并节约软件开发经费,缩短软件 产品发布的周期,带来显著的生产效果和经济效益。2.简述自动化测试和手工测试有什么主要区别。 自动化测试并不能完全取代手工测试,二者各有优缺点。通常手工测试的目的着重于 发现新的软件
14、故障,而自动化测试则着重于发现旧的软件故障。 手工测试具有创造性,可以举一反三,从一个测试用例想到另外一些测试用例,特别 是可以考虑到测试用例不能覆盖的一些特殊的或边界的情况。同时,对于那些复杂的逻辑 判断、界面是否友好,手工测试具有明显的优势。 自动化测试可以对程序的新版本运行回归测试,可以运行更多更频繁的测试,可以进 行一些手工测试难以完成或不可能完成的测试,充分地利用资源,测试具有一致性、可重 复性和复用性,能缩短软件发布的时间,并增强软件的可靠性。 3.自动化测试工具大致可以分为几类?举例说明几种与之相对应的测试工具。.根据测试方法的不同,自动化测试工具可以分为白盒测试工具、黑盒测试工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 检查 技术 基础 教学 教程 习题 内容 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内