列表

详情


读以下有关信息系统开发方面的叙述,回答问题1至问题3,将答案填入答题纸的对应栏内。

【说明】

信息系统测试是信息系统开发过程中的一个非常重要的环节,主要包括软件测试、硬件测试和网络测试三个部分,它是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析、系统设计与实施的最后审查。

在软件测试中,逻辑覆盖法可分为语句覆盖、判定覆盖、路径覆盖等方法。其中:语句覆盖的含义是设计若干个测试用例,使得程序中的每条语句至少执行一次;判定定覆盖也称为分支覆盖,其含义是设计若干个测试用例,使得程序中的每个判断的取真分支和取假分支至少执行一次;路径覆盖的含义是设计足够多的测试用例,使被测程序中的 所有可能路径至少执行一次。

【问题1】(3分)

一个规范化的测试过程如图1-1所示。请将图1-1所示的测试过程中的(1)~(3)处的内容填入答题纸上对应位置。


【问题2】(6分)

信息系统测试应包括软件测试、硬件测试和网络测试三个部分,请简要描述这三个部分需要做的工作。

【问题3】(6分)

程序M流程如图1-2所示,假设设计的测试用例及覆盖路径如下:

①输入数据的数据A=3,B=0,X=3(覆盖路径acd)

②输入数据的数据A=2,B=0,X=6(覆盖路径ace)

③输入数据的数据A=2,B=l,X=6(覆盖路径abe)

④输入数据的数据A=l,B=l,X=1(覆盖路径abd)

(1)采用语句覆盖法应选用(a),判定覆盖法应选用(b)路,路径覆盖法应选用(c)测试用例。

(2)就图1-2所示的程序M流程简要说明语句覆盖和判定覆盖会存在什么问题。

参考答案:

1、编制测试大纲、设计和生成测试用例、实施测试。

2、硬件测试:配置检测,检测是否按合同提供了相应的配置;硬件设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤。硬件测试,首先进行加电检测,观看运行状态是否正常,有无报警、屏幕有无乱码提示和死机现象,是否能进入正常提示状态。然后进行操作检测,用一些常用的命令来检测机器是否能执行命令,结果是否正常。

网络测试:网络设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤;硬件测试,进行加电检测,观看交换机、路由器等工作状态是否正常,有无错误和报警;网络联通测试,检测网络是否联通。

软件测试:单元测试,对源程序中的每一个程序单元进行测试验证每个模块是否满足系统设计说明书的要求。组装测试是将已测试过的模块组合成子系统,重点测试各模块之间的接口和联系。确认测试时对这个软件进行验收,根据系统分析说明书来考察软件是否满足要求。系统测试是将软件、硬件、网络等系统的各个部分连接起来,对整个系统进行总的功能、性能等方面的测试。

3、a、② b、①③或②④ c、①②③④

语句覆盖问题:如果把第一个判断语句中的AND错写成OR,或者把第二个判断语句中的OR错写成AND,用上面的测试用例是不能发现问题的。这说明语句覆盖有可能发现不了判断条件中算法出现的错误。

判定覆盖问题:上述测试用例不能发现把第二个判断语句中的X>1错写成X<1的错误。所以,判断覆盖还不能保证一定能查出判断条件中的错误。因此,需要更强的逻辑覆盖来检测内部条件的错误。

详细解析:

【问题1】
测试是开发过程中一个独立且非常重要的阶段,也是保证开发质量的重要手段之一。测试过程基本上与开发过程平行进行。在测试过程中,需要对整个测试过程进行有效的管理,以保证测试质量和测试效率。一个规范的测试过程通常包括以下基本的测试活动:
●拟定测试计划:在拟定测试计划时,要充分考虑整个项目的开发时间和开发进度以及一些人为因素和客观条件等,使得测试计划是可行的。测试计划的内容主要有:测试的内容、进度安排、测试所需的环境和条件(包括设备、被测项目、人员等)、测试培训安排等
●编制测试大纲:测试大纲是测试的依据。它明确详尽地规定了在测试中针对系统的每一项功能和特性所必须完成的基本测试项目和测试完成的标准。无论是自动测试还是手动测试,都必须满足测试大纲的要求。
●设计和生成测试用例:根据测试大纲,设计和生成测试用例。在设计测试用例时,产生测试设计说明文档,其内容主要有:被测项目、输入数据、测试过程、预期输出结果,等等。
●实施测试:测试的实施阶段是由一系列的测试周期组成的。在每个测试周期中,测试人员和开发人员将依据预先编制好的测试大纲和准备好的测试用例,对被测软件或设备进行完整的测试。
●生成测试报告:测试完成后要形成相应的测试报告,主要对测试进行概要说明,列出测试的结论,指出缺陷和错误。另外,给出一些建议。
【问题2】
硬件测试:在进行信息系统开发中,通常需要根据项目的情况选购硬件设备。在设备到货后,应在各个相关厂商配合下进行初验测试,初验通过后将硬件与软件、网络等一起进行系统测试。初验测试所做的工作主要如下:
●配置检测:检测是否按合同提供了相应的配置,如系统软件、硬盘、内存、CPU等的配置情况。
●硬件设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤。这些包括计算机主机、工作站、磁带库、磁盘机柜和存储设备等。
●硬件测试,首先进行加电检测,观看运行状态是否正常,有无报警、屏幕有无乱码提示和死机想象,是否能进入正常提示状态。然后进行操作检测,用一些常用的命令来检测机器是否能执行命令,结果是否正常。例如,文件复制、显示文件内容、建立目录等。最后检查是否提供了相关的工具,如帮助系统、系统管理工具等。
网络测试:如果信息系统不是单机,需要在局域网或广域网运行,按合同会选购网络设备。在网络设备到货后,应在各个相关厂商配合下进行初验测试。初验通过后网络将与软件、硬件等一起进行系统测试。初验测试所做工作主要如下:
●网络设备的外观检查,所有设备及配件开箱后,外观有无明显划痕和损伤,这些包括交换机、路由器等。
●硬件测试,进行加电检测,观看交换机、路由器等工作状态是否正常,有无错误和报警。
●网络连通测试,检测网络是否连通,可以用Ping、telnet、ftp等命令来检查。
软件测试:软件测试实际上分成4步:单元测试、组装测试、确认测试和系统测试,它们将按顺序进行。首先是单元测试,对源程序中的每一个程序单元进行测试,验证每个模块是否满足系统设计说明书的要求。组装测试是将已测试过的模块组合成子系统,重点测试各模块之间的接口和联系。确认测试是对整个软件进行验收,根据系统分析说明书来考察软件是否满足要求。系统测试是将软件、硬件、网络等系统的各个部分连接起来,对整个系统进行总的功能、性能等方面的测试。
【问题3】
语句覆盖:就是设计若干个检测用例,使得程序中的每条语句至少被执行一次。在本题中只要选择通过路径ACE的测试用例即可。语句覆盖对程序的逻辑覆盖程度很低,如果把第一个判断语句中的AND错写成OR,或者把第二个判断语句中的OR错写成AND,用上面的测试用例是不能发现问题的。这说明语句覆盖有可能发现不了判断条件中算法出现的错误。
判定覆盖也被称为分支覆盖,就是设计若干个检测用例,使得程序中的每个判断的取真分支和取假分支至少被执行一次。对本题的被测程序来说,需要设计测试用例覆盖路径acd和abe(或abd和ace)。判断覆盖比语句覆盖的程度稍高,因为如果通过了每个分支的测试,则各语句也都被执行了。但仍有不足,如本题中可能不能发现x>1被错写成x<1的情况。所以,判断覆盖还不能保证一定能查出判断条件中的错误。
路径覆盖:就是设计足够多的测试示例,使被测程序中的所有可能路径至少被执行一次。对本题来说,本题中有四条路径:ace、abd、acd、abe,只要保证所有可能的路径至少被执行过一次即可。


上一题