软件工程模拟题

合集下载

软件工程模拟题

软件工程模拟题

软件工程模拟题模拟11.由于计算机软件开发的成本高、质量低、难控制、可靠性差、生产率低而引发了。

A)软件革命B)软件工程C)软件危机D)软件技术2.对一个采用二分法的检索程序,可以列出以下这些需要的情况:1)被检测的表格只有一行2)表格的行数恰好是2的幂次3)表格的行数比2的幂次多1或少1则此测试方法称为。

A)等价分类法B)边缘值分析法C)错误推测法D)因果图法3.详细设计的结果基本决定了最终程序的。

A)代码的规模B)运行速度C)质量D)可维护性4.一个模块直接控制(调用)的下层模块的数目称为模块的。

A)扇入数B)扇出数C)宽度D)作用域5.数据流图(DFD)是软件开发哪一阶段经常使用的工具? 。

A)需求分析B)详细设计C)软件测试D)软件维护6.系统开发过程中的第一个正式文档是。

A)系统说明书B)评审报告C)开发合同D)可行性报告7.可行性研究从经济可行性,技术可行性,法律可行性、和开发方案可行性等方面进行。

A)资源可行性B)效益可行性C)运行可行性D)政策可行性8.用由底向上渐增式对软件进行测试时,需要为每个模块准备一个,它的作用是调用被测试的模块。

A)主模块B)桩模块C)驱动模块D)输入模块9.软件体系结构包含了计算机程序的两个重要特征,即。

A)模块的层次结构与数据结构B)代码与数据结构C)模块的层次结构与功能结构D)代码结构和数据结构10.原型法是由用户与人员合作,在短期内定义用户的基本需求,开发出一个功能不十分完善、实验性的、简易的应用软件基本框架(称为原型),然后不断修改达到要求的开发方法。

A)编程B)系统维护C)系统设计D)系统分析设计11.方案的可行性分析包括可行性和技术的可行性。

A)环境的B)条件的C)项目的D)经济的12.模块间的称为模块的耦合,它是衡量模块间结构性能的重要指标。

A)调用关系B)信息联系方式C)层次关系D)界面模拟21.软件工程的结构化分析方法强调的是分析开发对象的。

软件工程模拟习题及答案

软件工程模拟习题及答案

软件工程模拟习题及答案一、单选题(共40题,每题1分,共40分)1、下列哪项是无监督算法A、PCAB、决策树C、贝叶斯算法D、线性回归正确答案:A2、关于机器学习中预处理步骤,下列哪一项是正确的A、不同数据得到的预处理结果相同B、各种任务处理方式都是一样C、不必可缺的一部分D、简单任务可以不做正确答案:C3、下列哪一项不是卷积神经网络的典型代表A、RCNNB、LSTMC、ALEXNETD、VGG正确答案:B4、计算机中的执行过程是_________。

①取指令②执行指令③修改指令计数器④指令译码A、①④②③B、①②③④C、①③②④D、④③②①正确答案:A5、逻辑回归算法通常使用下列哪种方法求解A、统计分析B、梯度下降迭代优化C、相识度计算D、直接求解正确答案:B6、下列哪一项不是数据预处理的步骤A、数据标准化B、模型调参C、离散点过滤D、缺失值填充正确答案:B7、无论是哪一种Web服务器,都会受到HTTP协议本身安全问题的困扰,这样的信息系统安全漏洞属于:()A、以上都不是B、运行型漏洞C、开发型漏洞D、设计型漏洞正确答案:B8、在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行()次比较A、11B、9C、8D、10正确答案:B9、下列哪种算法更适合做图像建模A、CNNB、贝叶斯算法C、LSTMD、决策树正确答案:A10、大数据的起源是A、互联网B、金融C、电信D、公共管理正确答案:A11、A、B、C、D、E、F依次入栈,其出栈顺序为B、D、C、F、E、A,则该栈最小容量为A、3B、6C、5D、4正确答案:A12、下列关于树模型的解释错误的是A、只适用于分类模型B、适合进行可视化展示C、集成算法中的基础模型D、擅长对特征进行优劣判断正确答案:A13、系统死锁的可能的原因是A、进程释放资源B、进程死循环C、程序内存访问越界D、资源循环等待正确答案:D14、进程由执行状态到阻塞状态的原因可能是()。

软件工程模拟习题

软件工程模拟习题

1、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以___维护所占的维护量最小。

CA、纠错性维护B、代码维护C、预防性维护D、文档维护2.使用软件时提出增加新功能就必须进行_______维护。

CA.改正性B.适应性C.完善性D.预防性3.维护软件时为了保证修改不会影响原来可以正常使用的功能,应安排_______测试。

DA.单元B.集成C.验收D.回归4. 关于数据流图不正确的描述是_________。

DA. 数据流图是结构化系统分析的主要工具。

B. 在数据流图中,*号标识相邻的数据流只取其一。

C.数据流图中父图与子图两者的输入和输出数据流必需一致。

D. 画DFD图的任意层次图必须都要画数据存储项(即数据表单)5 获取需求的困难和项目复杂带来的潜在风险属于______.AA.技术风险B.商业风险C.项目风险D.经济风险6.软件测试不包括_________方面的差错和纠错。

DA. 软件计划B. 软件设计C.软件编码 D .软件价格7、软件维护过程产生的副作用,是指______。

BA、开发过程中发现的错B、因修改软件而造成的错误C、隐含的错误D、运行时误操作8.下列关于瀑布模型的描述正确的是_______。

AA. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题修改的代价很低。

9. 划分模块如果必须存在耦合,选择适当的耦合类型的错误原则是___。

DA.尽量使用数据耦合 B. 少用控制耦合C.限制公共耦合的围 D. 允许使用容耦合10. 类是具有相同属性和相同操作的对象抽象,对象是类的_________。

CA.例证B.用例C.实例D.例外11. 对于分层的DFD,父图与子图的平衡是指____。

AA.父图与子图的输人输出数据流必须相同B.子图必须继承父图的输人与输出流C.父图与子图相应的输人输出数据流名字保持一致D.子图可以有自己的输入输出数据流.12. 为了定量分析项目进度,需要在制定项目进度计划时,估算每个___ AA.应该完成的工作任务的预算工作量的成本B.工作任务的预算成本C.工作任务的实际工作量的成本D.实际工作任务的预算成本.13. 需求分析中开发人员要从用户那里了解_____ AA.用户要求软件做什么B.用户使用界面C.输入的信息D.软件的规模14. 软件开发时,一个错误发现得越晚,为改正它付出的代价就_____ BA.越小B.越大C.接近平均D.不可捉摸15. 软件过程模型是根据不同项目定义的、贯穿于软件生命周期的 ___。

软件工程模拟试题

软件工程模拟试题

软件工程模拟试题一.选择题(每题1.5分,共30分)( B )1. 软件质量因素不包括。

A.正确性B.高性能C.可测试性D.可明白得性( A )2. 软件可行性研究实质上是要进行一次需求分析、设计过程。

A.简化、压缩的B.详细的C.完全的D.深入的( C )3. 以下哪个软件生存周期模型是一种风险驱动的模型A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型( A )4. 可行性分析中,系统流程图用于描述。

A.当前运行系统B.当前逻辑模型C.目标系统D.新系统( A )5. 结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言( A )6. 检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试( C )7. 在整个软件爱护时期所花费的全部工作中,所占比例最大的是A.校正性爱护B.适应性爱护C.完善性爱护D.预防性爱护( B )8. 通信内聚是指。

A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可( B )9. 一个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5( B )10. 下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已治理级( B )11. 结构化程序设计,要紧强调的是A.程序的执行效率B.模块大小C.程序的可明白得性D.模块关系( B )12. 软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试( A )13. 需求分析中开发人员要从用户那儿了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模( A )14. 数据字典是对数据定义信息的集合,它所定义的对象都包含于。

A.数据流图B.程序框图C.软件结构D.方框图( A )15. 面向对象的要紧特点除唯独性、继承性、多态性外,还具有。

全国自考(软件工程)模拟试卷1(题后含答案及解析)

全国自考(软件工程)模拟试卷1(题后含答案及解析)

全国自考(软件工程)模拟试卷1(题后含答案及解析) 题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合应用题单项选择题1.在结构化方法中,软件功能分解应属于软件开发中的哪一阶段( )A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C解析:总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中,这里的分配是指功能的分解。

2.不属于软件项目计划中所包含的内容的是( )A.培训计划B.人员安排C.进度安排D.软件开发标准的选择和制定正确答案:D解析:软件项目计划包含培训计划、进度安排和人员安排等。

3.一个模块的哪项能直接控制该模块的模块数( )A.扇出数B.扇人数C.宽度D.深度正确答案:B解析:一个模块的扇人数是指能直接控制该模块的模块数。

4.软件组装成系统的一种测试技术是( )A.系统测试B.单元测试C.集成测试D.集合测试正确答案:C解析:题目中的选项最具混淆的是集成测试与系统测试。

系统测试是指将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试;而集成测试集中于模块组合的功能和软件结构检验。

5.下列关于关联的说法错误的是( )A.一个关联连接n个类目叫做n元关联B.关联是类目中的一种结构关系C.关联用一条连接两个类目的线段表示D.关联不具有方向性正确答案:D解析:关联是有方向的,可以用一个实心三角形来指示关联的方向。

6.当模块中包含复杂的条件组合,下列能够清晰地表达出各种动作之间的对应关系的只有( )A.判定表和判定树B.盒图C.流程图D.关系图正确答案:A解析:如果一个加工的输人数据和输出数据之间的逻辑关系比较复杂,应该用判定表或判定树来描述。

7.在软件总体设计阶段的主要任务不包括( )A.设计软件的模块结构B.定义接口并建立数据结构C.生成概要设计规格说明和组装测试计划D.模块设计正确答案:D解析:选项D属于详细设计的任务。

软件工程模拟试卷一

软件工程模拟试卷一

果 S2
模拟试卷一 5.已知模块C中的一个判定影响到模块B, 如图所示,它违反了SD的设计原则. 试问: 可以采用哪些手段对结构图作改进, 请说明改进办法并画出改进的结构图。
解:
模拟试卷一 7. 对下列子程序进行调试:
procedure example(y,z:real;var x:real) begin
模拟试卷一
6.提高程序效率的根本途径在于 设计阶段__选__择__良_ 好的数据结构和__算。法
7.黑盒法和白盒法都是用于设计_测__试__用__例__ 的方法。
模拟试卷一
8.在软件维护工作过程中, 对任何一次维护请求,首先进行的 步骤是__明_确__维_护__的_类型 。
9. 数据库设计过程引入一个中间步骤, 即先建立一个_概__念_数__据_模型(_E_R。图)
6.数据库设计的核心问题是什么?
参考答案: 数据库设计的核心问题是如何建立一个
合理的数据模式。
模拟试卷一
3.假设对顾客的订货单按如下原则处理: 将顾客的信用度分三个档次: 欠款时间不超过30天; 欠款时间超过30天但不超过100天; 欠款时间超过100天。
对于上述三种情况,分别根据库存情况来决定 对顾客订货的态度。
开发方法比较
采用结构化设计方法设计系统体系结构, 采用的技术是面向数据流的技术,即通 过描述用户需求的数据流图,将用户需求映射 到软件体系结构。根据数据流的类型,映射的 方式有两种:变换映射、事务映射。
开发方法比较
变换映射:适用于具有明确的输入 和输出流边界的数据流图。DFD被 映射成这样一种结构,该结构将控制分配到 输入、加工、输出的三类分离的模块。
模拟试卷二
三、简答题 1.简要说明概要设计与详细设计 的任务有何区别? 2.简述提高程序可读性的技巧和方法? 3.何谓“软件开发环境”?环境的基础是什么?

软件工程试题答案

软件工程试题答案

《软件工程模拟试题及参考答案》(一)一、单向选择题(四选一、每小题3分,共18分)1、面向对象(Object Oriented)方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。

对应映射反映反射2、盒图也称为(D)或Chapin图。

这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。

流程图框图判定表N-S图3、面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。

程序数据逻辑物理4、人机界面的风格大致经过了(B)代的演变。

三四五六5、以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。

纠错性维护适应性维护改善性维护预防性维护二、填空题(每空2分,共18分)1.文档—一种数据媒体和其上所记录的(数据)。

2.机器语言、汇编语言:依赖于机器,面向(机器)3.软件有效性,指软件系统的时间和(空间)效率。

4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。

5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。

6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。

7.一个软件的深度是指其控制的(层数)。

8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。

9.软件维护是软件生命周期的(最后)一个阶段。

三、判断题(每小题2分,共24分,错误打X、正确打√)1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。

(√)2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。

(X)3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。

(√)4.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。

软件工程基础模拟试卷1(题后含答案及解析)

软件工程基础模拟试卷1(题后含答案及解析)

软件工程基础模拟试卷1(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

下列图符名标识的图符不属于数据流图合法图符的是A.控制流B.加工C.数据存储D.源和潭正确答案:A 涉及知识点:软件工程基础2.下面不属于软件设计原则的是A.抽象B.模块化C.自底向上D.信息隐蔽正确答案:C 涉及知识点:软件工程基础3.程序流程图(PFD)A.数据流B.控制流C.调用关系D.组成关系正确答案:B 涉及知识点:软件工程基础4.下列工具中为需求分析常用工具的是A.PADB.PFDC.N—sD.DFD正确答案:D 涉及知识点:软件工程基础5.在结构化方法中,软件功能分解属于下列软件开发中的阶段是A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C 涉及知识点:软件工程基础6.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能正确答案:B 涉及知识点:软件工程基础7.软件需求分析阶段的工作。

可以分为四个方面:需求获取。

需求分析编写需求规格说明书以及A.阶段性报告B.需求评审C.总结D.都不正确正确答案:B 涉及知识点:软件工程基础填空题请将每一个空的正确答案写在答题卡上。

注意:以命令关键字填空的必须拼写完整。

8.软件是程序、数据和____________的集合。

正确答案:文档涉及知识点:软件工程基础9.Jacks方法是一种面向____________的结构化方法。

正确答案:数据流涉及知识点:软件工程基础10.软件工程研究的内容主要包括:___________技术和软件工程管理。

正确答案:软件开发涉及知识点:软件工程基础11.数据流图的类型有____________和事务型。

正确答案:变换型涉及知识点:软件工程基础12.软件开发环境是全面支持软件开发全过程的____________集合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[模拟] 软件工程选择题第1题:软件工程方法学的三要素是______。

①方法②项目管理③过程④开发语言⑤工具A.①②③B.①②⑤C.②③④D.①③⑤参考答案:D软件工程方法学包含三个要素:方法、工具和过程。

方法是指完成软件开发的各项任务的技术方法;工具是指为运用方法而提供的软件工程支撑环境;过程是指为获得高质量的软件所需要完成的一系列任务的框架。

第2题:螺旋模型的开发实施和______基本相吻合。

A.智能模型B.快速原型模型C.喷泉模型D.V模型参考答案:B第3题:软件设计一般分为外部设计和内部设计,它们之间的关系是______。

A.全局和局部B.抽象和具体C.总体和层次D.没有关系参考答案:A这里所说的外部设计实际上是指概要设计,内部设计就是详细设计。

概要设计的工作是:·采用某种设计方法,将一个复杂的系统按功能划分成模块;·确定每个模块的功能;·确定模块之间的调用关系;·确定模块之间的接口,即模块之间传递的信息;·评价模块结构的质量。

而详细设计的工作是:·为每个模块进行详细的算法设计。

用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

·为模块内的数据结构进行设计。

对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。

·对数据结构进行物理设计,即确定数据库的物理结构。

物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。

可见,这是一个全局和局部的关系,概要设计划分好模块,而详细设计定义每个模块如何工作。

第4题:瀑布模型把软件生命周期划分为三个阶段,它们分别是:计划阶段、开发阶段和______。

A.可行性分析阶段B.运行阶段C.详细计划阶段D.测试与排错阶段参考答案:B瀑布模型的软件生命周期分为计划阶段、开发阶段和运行阶段(即维护阶段)三个大的阶段,这三个阶段又可细分为:可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试、运行维护几个小的阶段。

第5题:瀑布模型(Waterfall Model)突出的缺点是不能适应______的变动。

A.算法B.开发或应用平台C.程序语言D.用户需求参考答案:D瀑布模型有许多优点:可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审。

但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求,有时可能直到软件开发完成之后才发现与用户需求有很大距离,此时必须付出高额的代价才能纠正这一偏差。

第6题:如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为______模块。

A.功能内聚B.顺序内聚C.通信内聚D.过程内聚参考答案:C第7题:项目管理工具中,将网络方法用于工作计划安排的评审和检查的是______。

A.Gantt图B.PERT网图C.因果分析图D.流程图参考答案:BGantt图:以水平线段表示任务的工作阶段。

线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。

从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。

甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。

缺点是难以反映多个任务之间存在的复杂的逻辑关系。

PERT网图:也叫做计划评审技术。

它采用网络图来描述一个项目的任务网络,不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务的完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。

因果分析图:又叫特性要素图、树枝图和鱼刺图等,是质量管理常用工具之一。

流程图:流程图是以图解方式来说明实现一个解决方案所需完成的一系列操作。

第8题:下述任务中,不属于软件工程需求分析阶段的是______。

A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台参考答案:D需求分析的任务主要有: (1)确定软件的综合要求:系统界面,系统功能,系统性能,安全性、保密性和可靠性方面的要求,系统的运行要求,异常处理,将来的扩充和修改等。

(2)分析软件系统的数据要求:基本数据元素,数据元素之间的逻辑关系,数据量,峰值等。

(3)导出系统的逻辑模型。

(4)修正项目开发计划。

第9题:进行软件测试的目的是______。

A.尽可能多地找出软件中的缺陷B.缩短软件的开发时间C.减少软件的维护成本D.证明程序没有缺陷参考答案:A进行软件测试的目的是想以最少的时间和人力找出软件中潜在的各种错误和缺陷,而不是证明程序没有缺陷。

第10题:软件的测试通常分单元测试、组装测试、确认测试、系统测试四个阶段进行。

______属于确认测试阶段的活动。

A.设计评审B.代码审查C.结构测试D.可靠性测试参考答案:D第11题:一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行______。

A.程序走查B.退化测试C.软件评审D.接收测试参考答案:B在维护过程中,当修正一个故障以后要进行回归测试,但此处没有这个选项,所以我们要考查哪个选项是回归测试的意思。

这里可以直接把A和C排除,而D选项的接收测试就是确认测试,所以我们选B。

其实退化测试就是回归测试,只是翻译不同而已。

第12题:代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法,这两种方法的主要区别是______。

A.在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动B.在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性C.在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩D.代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的参考答案:D静态分析中进行人工测试的主要方法有桌前检查、代码审查(会审)和走查。

经验表明,使用这种方法能够有效地发现30%到70%的逻辑设计和编码错误。

①桌前检查(Desk Checking):由程序员自己检查自己编写的程序。

程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。

检查项目有:·检查变量的交叉引用表:重点是检查未说明的变量和违反了类型规定的变量;还要对照源程序,逐个检查变量的引用、变量的使用序列;临时变量在某条路径上的重写情况;局部变量、全局变量与特权变量的使用;·检查标号的交叉引用表:验证所有标号的正确性:检查所有标号的命名是否正确;检查转向指定位置的标号是否正确。

·检查子程序、宏、函数:验证每次调用与被调用位置是否正确;确认每次被调用的子程序、宏、函数是否存在;检验调用序列中调用方式与参数顺序、个数、类型上的一致性。

·等值性检查:检查全部等价变量的类型的一致性,解释所包含的类型差异。

·常量检查:确认每个常量的取值和数制、数据类型;检查常量每次引用同它的取值、数制和类型的一致性;·标准检查:用标准检查程序或手工检查程序中违反标准的问题。

·风格检查:检查在程序设计风格方面发现的问题。

·比较控制流:比较由程序员设计的控制流图和由实际程序生成的控制流图,寻找和解释每个差异,修改文档和校正错误。

·选择、激活路径:在程序员设计的控制流图上选择路径,再到实际的控制流图上激活这条路径。

如果选择的路径在实际控制流图上不能激活,则源程序可能有错。

用这种方法激活的路径集合应保证源程序模块的每行代码都被检查,即桌前检查应至少是语句覆盖。

·对照程序的规格说明,详细阅读源代码:程序员对照程序的规格说明书、规定的算法和程序设计语言的语法规则,仔细地阅读源代码,逐字逐句进行分析和思考,比较实际的代码和期望的代码,从它们的差异中发现程序的问题和错误。

·补充文档:桌前检查的文档是一种过渡性的文档,不是公开的正式文档,通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员发现和抓住更多的错误。

这种桌前检查,由于程序员熟悉自己的程序和自身的程序设计风格,可以节省很多的检查时间,但应避免主观片面性。

②代码会审(Code Reading Review):是由若干高级管理人员、程序员和测试员组成一个会审小组,通过阅读、讨论和争议,对程序进行静态分析的过程。

高级管理人员领导整个会审小组。

代码会审分两步。

第一步,小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为评审的依据。

小组成员在充分阅读这些材料之后,进入审查的第二步:召开程序审查会。

在会上,首先由程序员逐句讲解程序的逻辑。

在此过程中,程序员或其他小组成员可以提出问题,展开讨论,审查错误是否存在。

实践表明,程序员在讲解过程中能发现许多原来自己没有发现的错误,而讨论和争议则促进了问题的暴露。

在会前,应当给会审小组每个成员准备一份常见错误的清单,把以往所有可能发生的常见错误罗列出来,供与会者对照检查,以提高会审的实效。

这个常见错误清单也叫做检查表,它把程序中可能发生的各种错误进行分类,对每一类列举出尽可能多的典型错误,然后把它们制成表格,供会审时使用。

这种检查表类似于本章单元测试中给出的检查表。

③走查(Walkthroughs):与代码会审基本相同,一般由编写代码的程序员来组织讨论,其过程分为两步。

第一步也把材料先发给走查小组每个成员,让他们认真研究程序,然后再开会。

开会的程序与代码会审不同,不是简单地读程序和对照错误检查表进行检查,而是让与会者“充当”计算机。

即首先由测试组成员为被测程序准备一批有代表性的测试用例,提交给走查小组。

走查小组开会,集体扮演计算机角色,让测试用例沿程序的逻辑运行一遍,随时记录程序的踪迹,供分析和讨论用。

代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。

人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开展热烈的讨论和争议,能够发现更多的问题。

第13题:参考答案:C首先要搞清楚什么是条件,什么是判定,以“A OR B”为例,单个的A或者B是一个条件,而“A OR B”才是判定。

所谓判定覆盖,就是指设计的测试用例能使得程序中的每个判定的真值分支和假值分支至少经过一次,因此,判定覆盖亦称分支覆盖。

A、B、D选项中测试用例显然只覆盖了“A OR B”真值分支。

相关文档
最新文档