4、答:本题能举三个以上例子就得满分。(1)系统软件,操作系统、网络软件各种语言的编译程序等。(2)
实时软件,实时监控功能领域。(3)嵌入式软件,航空航天系统,指挥控制系统等(4)科学和工程计算软件,弹道计算,地震数据处理,数据值天气预报等(5)人工智能软件等。 5
6、答:(1)软件的可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。它上随着运行时间的增加,运行时遇到的程序故障的概率也是增加的,所以可靠性是减少的。
(2)测试可以暴露程序中的错误,因此是保证软件可靠性的重要手段;但是,测试只能证明程序中有错误,并不能证明程序中没有错误。因此,对于保证软件可靠性来说,测试是一种不完善的技术。
(3)一旦研究出实用的正确性证明程序,软件可靠性将更有保证,测试工作量将大大减少,但是,即使有了正确性证明程序,软件测试也仍然是需要的,因为程序正确性只能证明程序功能是正确的,并不能证明程序的动态特征是符合要求的。所以测试不是软件质量的安全网。
8、答:(1)测试的任务是尽可能多地暴露程序中的错误。但是,发现错误的最终目的还是为了改正错误。软件工程的根本目标是以较低成本开发出高质量的完全符合用户要求的软件,因此,在成功的测试之后,还必须进一步诊断和改正程序中的错误,这就是调试的任务。
(2)调试过程由两个步骤组在,首先,确定错误的准确位置,也就是找出是哪个模块或哪些接口引起的错
16
误;然后,仔细研究这段代码以确定问题原因,并设计改正错误。其中第一步所需的工作量大约占调试总工作量的95%。
(3)调试是软件开发过程中最艰巨的脑力劳动。调试开始时,软件工程师仅仅面对着错误的征兆,然而在问题的外部现象和内在原因之间往往并没有明显的联系,在组成程序的数据以万计的元素中,每一个都有可能是错误的根源。所以调试的工作量是十分艰巨的。
9、答:N—S图
10、答:影响维护的因素有(1)可理解性,软件可理解性表现为外来读者理解软件的结构、接口、功能和内部过程的难易程度。模块化、详细的设计文档、结构化设计、源代码内部的文档和良好的高级程序设计语言等,都对改进软悠扬的可理解性有重要贡献。 (2)可测试性,诊断和测试的难易程度主要取决于软件容易理解的程度。良好的文档对诊断和测试是至关重要的。此外,软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的。
(3)可修改性,软件的设计原理、规则、模块的耦合、内聚、局部化、控制域与作用域等都影响软件的可修改性。
1.为什么要进行软件测试? 软件测试的主要手段有哪几种?
解:? 对一个软件系统,尤其是规模大、复杂性高的大型软件系统,虽经过了分析、设计和编程阶段但仍会存在错误。为了保证软件系统的质量,就要对软件系统进行检验和测试。
17
? 软件测试的手段有两类:动态测试和静态检查。
2.为什么要进行软件评审? 怎样有效地进行软件评审?
解:? 进行软件评审主要是人工阅读文档或程序,从而发现其中的错误 ,这对软件的成功是绝对必要的。
? 评审组长在评审会举行前1至2周将评审材料(文档或程序)发给评审员,要求各人仔细阅读,评审员阅毕应给评审组长一个书面通知证实已读过所有材料。
3. 软件测试的基本原则是什么? 解:测试阶段应注意的一些基本原则: 1) 测试用例应该由以下两部分组成: ·输入数据。 ·预期的输出结果。
2) 不仅要选用合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。 3) 除了检查程序是否做了它应做的工作之外,还应检查程序是否还做了它不应做的事情。 4) 应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。
4.采用白盒法进行测试时,测试用例覆盖路径的种类有哪几种?它们相互之间是什么关系? 解:? 采用白盒法进行测试时,测试用例覆盖路径的种类有: ? 语句覆盖。 ? 判定覆盖。 ? 条件覆盖。 ? 判定/条件覆盖。 ? 条件组合覆盖。
? 它们相互之间的关系:
?“语句覆盖”是很不充分的一种标准。
?“判定覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。
?“条件覆盖”比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则
不保证这一点。
? 满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。
5.采用黑盒法进行测试时,怎样设计测试用例?
解:采用黑盒法进行测试时,它不关心程序内部的逻辑,而只是根据程序的功能说明来设计测试用例。
18
6.某城市电话号码组成规则是:地区码 + 前缀 + 后缀。 地区码:空白 | 3位数字; 前缀:非0或者1开头的3 位数字; 后缀:4位数字。
被测试程序模块接受符合以上条件的电话号码,拒绝所有不符合规定的号码。用等价分类法设计测试方案。 解:第1步:划分等价类: 输入条件 地区码 前缀 合理等价类 不合理等价类 ? 空白,? 3位数字 ? 有非数字字符,? 少于3位数字, ? 多于3位数字 ? 有非数字字符,? 起始位为0, ? 起始位为1, ? 200到999之间 11 少于3位数字, 12 多于3位数字 13 有非数字字符, 14 少于4位数字, 15 多于4位数字 后缀 ? 4位数字 第2步:设计测试用例: 测试数据 ?()123 - 4567 ?(123)805 - 9876 ?(20A)123-4567 ? (33)234-5678 ? (1234)234-4567 ?(123)2B3-1234 ?(123)013-1234 ?(123)123-1234 ?(123)23-1234 ?(123)2345-1234 11 (123)234-1B34 12 (123)234-34 13 (123)234-23345 测试范围 等价类?,?,? 等价类?,?,? 等价类? 等价类? 等价类? 等价类? 等价类? 等价类? 等价类 11 等价类 12 等价类 13 等价类 14 等价类 15 期望结果 有效 有效 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效 无效 7.联合测试的模块集成方式有哪几种?系统测试包括哪些方面? 解:? 联合测试的模块集成方式有两种:渐增式和非渐增式。
? 系统测试包括功能测试、容量测试、紧张度测试、使用性测试、安全性测试、性能测试、可靠性测试、恢复测试、文档测试、工序测试。
8.测试计划的内容包括哪些? 解:测试计划一般包括以下内容:
19
? 每个测试阶段的目的; ? 时间进度表; ? 测试用例库; ? 测试所需的工具; ??等。
? 每个测试阶段完成的标准; ? 每个测试阶段的负责人员; ? 测试所需的工具; ? 每个测试阶段所需机时数;
20