2017年中国矿业大学717软件工程复试仿真模拟三套题

 

目录

2017年中国矿业大学717软件工程复试仿真模拟三套题(一) ............................................ 2

2017年中国矿业大学717软件工程复试仿真模拟三套题(二) ............................................ 9

2017年中国矿业大学717软件工程复试仿真模拟三套题(三) .......................................... 14

第 1 页,共 19 页

2017年中国矿业大学717软件工程复试仿真模拟三套题(一)

说明:本资料为2017复试学员内部使用,严格按照2017复试常考题型及难度全真模拟预测。 ————————————————————————————————————————

一、名词解释

1. 问题分析图PAD

【答案】问题分析图(PAD)是由程序流程图演化而来,用二维树形结构的图来表示程序的控制流,将其翻译成 程序代码比较容易。它既可以用来表示程序逻辑,也可以用来描述数据结构,支持结构化程序设计(SP)方法, 仅具有顺序、选择、循环三类基本成分。

二、简答题

2. 调试的目的是什么?调试有哪些技术手段?

【答案】(1)调试的目的

调试是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为纠错。

(2)调试技术

简单的调试方法

a.在程序中插入打印语句

该方法的优点是能显示程序的动态过程,较易检查源程序中的有关信息。缺点是低效率,可能输出大量的无关的数据,发现错误带有偶然性,同时因插入打印语句要修改程序,这种修改可能会掩盖错误,改变关键的时间 关系或把新的错误引入程序。

b.运行部分程序

有时为了测试某些被怀疑有错的程序段,整个程序反复执行多次,使很多时间浪费在执行已经是正确的程序段上。在此情况下,应设法使被测程序只执行需要检查的程序段,以提高效率。可通过注释程序或开发语言所带的调试工具来查找错误。

②归纳法调试

归纳法调试从调试结果发现的线索(错误迹象、征兆)入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。归纳法调试的具体步骤如下:

a.收集有关数据

列出程序做对了什么,做错了什么的全部信息。

b.组织数据

整理数据以便发现规律,使用分类法构造一张线索表。

c.提出假设

分析线索之间的关系,导出一个或多个错误原因的假设。如果不能推测一个假设,再选用测试用例去测试,以便得到更多的数据。如果有多个假设,首先选择可能性最大的一个。

d.证明假设

第 2 页,共 19 页

假设不是事实,需证明假设是否合理。不经证明就根据假设改错,只能纠正错误的一种表现

(即消除错误 的征兆)或只纠正一部分错误。如果不能证明这个假设成立,需提出下一个假设。

③演绎法调试

演绎法调试是列出所有可能错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因。演绎法调试的具体步骤如下:

a.列出所有可能错误原因的假设。

b.排除不适当的假设。

c.精化余下的假设。

d.证明余下的假设。

④回溯法调试

该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。该方法是对小型程序寻找错误位置的有效方法。

3. 使用边界值分析方法设计测试用例的设计原则有哪些?

【答案】(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,还要选择刚好越过边界值的数据作为不合理的测试用例。

(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。

(3)对每个输出条件分别按照以上一组(1)和(2)确定输出值的边界情况。由于输出值的边界不与输入值的边界值相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。

(4)如果程序的规格说明书给出的输入或输出域是个有序集合(如顺序文件、线性表、链表等),则应该选 取集合的第一个元素和最后一个元素作为测试用例。

4. 一个正文文件由若干记录组成,每个记录是一个字符串,要求统计每个记录中空格字符的个数及文件中空格字符的总个数。要求输出数据格式是每复制一行字符串之后,另起一行打印出这个字符串中的空格数,最后打印出文件空格的总个数,请用Jackson方法设计该程序结构。

【答案】(1)输入数据的Jackson图如图1所示:

图1输入数据的Jackson图

第 3 页,共 19 页

(2)输出数据的图如图2所示:

图2 输出数据的Jackson图

(3) 程序结构的图如图3所示:

图3程序结构的Jackson图

5. 非渐増式测试与渐増式测试有什么区别?

【答案】(1)渐增式测试和非渐增式测试的定义

集成测试的方法主要有两种:非渐増式测试和渐増式测试。

①非渐增式测试

首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。 ②渐增式测试

逐个把未经过测试的模块组装成到已经测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。

(2)渐增式测试和非渐増式测试的区别

①非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试把单元测试与集成测试合在一起,同时完成。

②非渐增式测试需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。

③渐增式可以较早地发现进口之间的错误,非渐增式最后组装时才发现。

④渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐増式发现进口错误推迟到最后,很难判断是哪一部分接口出错。

第 4 页,共 19 页

www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。


TOP最近更新内容

    长城小学关爱留守儿童工作制度
    园林史名词解释
  • 上一篇:2017年中北大学软件工程科学综合之软件工程复试实战预测五套卷
  • 下一篇:2017年中北大学软件工程科学综合之软件工程考研复试核心题库