阅读以下说明,回答问题1至问题4,将解答填入对应栏内。 [说明] 某公司需开发一套通用信息管理系统。为保证开发进度和开发质量,对开发的全过程进行测试,重点对模块和系统性能进行测试。 软件工程师通过以下几种方法对系统进行调试,其中(14)通过分析错误

admin2011-04-22  27

问题  阅读以下说明,回答问题1至问题4,将解答填入对应栏内。
[说明]
   某公司需开发一套通用信息管理系统。为保证开发进度和开发质量,对开发的全过程进行测试,重点对模块和系统性能进行测试。
软件工程师通过以下几种方法对系统进行调试,其中(14)通过分析错误的症状,猜测问题的所在位置;(15)从测试所暴露的错误出发,通过分析错误征兆之间的关系而找出故障。
(14)~(15)备选答案:
A.试探法
B.回溯法
C.归纳法
D.演绎法
E.对分查找法

选项

答案(14)A (15)C

解析 本问题考查对软件调试方法的掌握情况。
   调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,并进行改正。调试过程主要由确定错误位置及改正错误这两个步骤组成。与测试不同,调试工作主要由程序开发人员来进行,也就是说,谁开发的程序由谁来进行调试。
   常用的调试方法有如下几种。
   (1)试探法
   调试人员分析错误的症状,猜测问题的所在位置,利用在程序中设置输出语句,分析寄存器、存储器的内容等手段来获得错误的线索,一步步地试探和分析找到错误所在。这种方法效率很低,且比较缓慢,适合于结构比较简单的程序。
   (2)回溯法
   调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪程序代码,直到找出错误根源或确定故障范围为止。这种方法适合于小型程序,往往能把故障范围缩小为程序中的一小段代码,仔细分析这段代码不难确定故障的准确位置。但对于大规模程序,由于其需要回溯的路径太多而使这种方法变得不可操作。
   (3)对分查找法
   这种方法主要用来缩小错误的范围。如果已经知道程序中的变量在若干位置的预期正确取值,可以在这些位置上用赋值语句给这些变量以正确值。运行程序,观察输出结果,如果没有发现问题,则说明从给出变量的正确值开始到输出结果之间的程序没有出错,问题可能在除此之外的程序中,否则错误就在所考查的这部分程序中。对含有错误的程序段再使用这种方法,直到把故障范围缩小到比较容易诊断为止。
   (4)归纳法
   归纳法就是从测试所暴露的错误出发,通过分析错误征兆之间的关系而找出故障。归纳法从个别推出一般,是一种系统化的思考方法,其步骤如下。
   ①收集相关数据。列出程序做得对或不对的所有数据,不产生错误的数据往往也能提供重要的线索;
   ②整理数据,找出规律。对收集到的数据进行组织与整理,由特殊推出一般,主要发现在什么条件下出现错误,什么条件下不出错;
   ③导出假设。提出一个或多个可能的错误原因,并选择可能性最大的那个。如果提不出来,则说明收集的数据不够,需要设计和执行追加的测试用例来得到。
   ④证明假设。用上一步的假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出错误;否则,要么是假设不完备或不成立,要么有多个故障同时存在,需要重新分析,提出新的假设,直到发现错误为止。
   (5)演绎法
   演绎法从一般原理出发,首先根据测试结果列出所有可能产生错误的原因,再仔细分析已有的数据,排除不可能和彼此矛盾的原因,利用已知线索进一步精化余下的假设,以便精确确定故障的位置,最后运用归纳法的第④步来证明剩下的原因即为错误的根源。
   以上这方法均可辅以调试工具。随着测试技术和软件开发环境的发展,会出现功能越来越强的自动测试和调试工具,支持断点设置、单步运行和各种跟踪技术,为软件的调试提供很大的方便。但无论哪种工具都代替不了开发人员对整个文档和程序代码的仔细研究和认真审查所起的作用。
转载请注明原文地址:https://kaotiyun.com/show/b0XZ777K
0

相关试题推荐
最新回复(0)