《软件工程》模拟题1
发布时间:2024-05-09 16:05:27浏览次数:98《软件工程》模拟题 1一、单选题(每题 3 分,共 30 分)1.PDL 是下列语言中的____。A.高级程序设计语言         B.伪代码  C.中级程序设计语言         D.低级程序设计语言答案:B2. 软件工程的基本要素包括方法、工具和____。A.过程      B.软件系统      C.硬件环境      D.人员答案:A 3. 软件质量必须在____加以保证。A.开发之前      B.开发之后    C.可行性研究过程中      D.分析、设计与实现过程中答案:D4. 需求分析的结果是产生定义下面____问题域的分析模型。A.信息       B.功能      C.性能           D.以上所有选项答案:D5. 结构化分析方法中,用以表达系统内部数据的运行情况的工具有______。A.数据流图             B.数据字典C.结构化语言             D.判定表与判定树答案:A6. 结构化设计方法在软件开发中,用于______。A.测试用例设计B.软件概要设计C.程序设计D.软件详细设计答案:B7.PAD 的控制执行流程为______。A.自下而上、从左到右        B.自上而下、循环执行       C.自上而下、从左到右         D.都不对答案:C1
8. 从软件工程的角度看,可以把程序设计语言划分为基础语言、______和面向对象语言三大类。A.结构化语言       B.面向机器语言       C.伪码语言       D.汇编语言答案:A9.测试的关键问题是______。A.如何组织软件评审           B.如何选择测试用命C.如何验证程序的正确性       D.如何采用综合策略答案:B10.在软件的内容中,占维护流动工作量比例最高的是____。A.校正性维护        B.适应性维护     C.完善性维护       D.预防性维护答案:B二、填空题  (每题 4 分,共 20 分)1.在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的____进行设计。          答案:数据结构                                                                              2. 分析系统的数据需求通常采用建立____的方法。                              答案:概念模型3. 将与同一张报表有关的所有程序段组成一个模块,该模块的内聚性为____。    答案:通信内聚                                                                        4. ____是指软件被理解、改正、调整和改进的容易程度。                     答案:软件可维护性                                                                          5. 面向对象方法不仅支持过程抽象,而且支持____。                                答案:数据抽象三、简答题 (每小题 10 分,共 20 分)1. 什么是黑盒测试与白盒测试?它们都适应哪些测试?答案:黑盒测试是指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能需求,又称为功能测试或数据驱动测试。白盒测试是指把测试对象看成一个透明的白盒子,测试人员需求了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。2
黑盒测试适应的测试有确认测试、等价类划分、边界值分析、错误推测和因果图。白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程序不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖)、循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试。2.模块的耦合性有哪几种?各表示什么含义?                                            答案:模块的耦合性有 7 种。(1) 内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块。(2) 公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用。(3) 外部耦合:两个模块都访问一个全局简单变量。(4) 控制耦合:模块之间通过传递公共指针或地址相互作用的耦合。(5) 数据耦合:模块之间通过传递数据交换信息。(6) 标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合。(7) 非直接耦合:模块间无任何关系,独立工作四、综合题(每小题 15 分, 共 30 分)1. 某程序的功能是输入代表三角形的三条边长的三个整数,判断它们能否组成三角形,若能则输出等边、等腰或任意三角形的类型标记。请用黑盒法对该程序设计测试用例。                答案: 黑盒测试法,首先建立等价类表输入条件 有效等价类 无效等价类a,b,c 能否构成三角形    a=b=c(1)b=c 且 b+c>a(2)a=b 且 a+b>c(3)a=c 且 a+c>b(4)a≠b≠c 且 a+b>c(5)a≠b≠c 且 a+c>b(6)a≠b≠c 且 b+c>a(7)a+b≤c(8)a+c≤b(9)b+c≤a(10)三个正数 三个正整数(11)含有 0(12)含有负整数(13)含有实数(14)含有字符(15)两个整数(16)测试用例表测试数据 测试范围 期望结果(1) 3   3   3 (1) 等边三角形3
(2) 4   3   3   (2) 等腰三角形(3) 3   3   4 (3) 等腰三角形(4) 3   4   3 (4) 等腰三角形(5) 3   4   5 (5),(6),(7) 一般三角形(6) 3   4   9 (8) 不构成三角形(7) 3   12   5 (9) 不构成三角形(8) 10   3   6 (10) 不构成三角形(9) 7   8    9 (11) 三个正整数构成一般三角形(10) 0   4   5 (12) 含有零不构成三角形(11) -1   4   5 (13) 含有负整数不构成三角形(12) 4   6   7.8(14) 含有实数不构成三角形(13) x   6   7 (15) 含有字符不构成三角形(14) 6   7 (16) 两个整数遗漏数据2. 下面是一段求最大值的程序,其中 datalist 是数据表,n 是 datalist 的长度。int GetMax(int n,int datalist[]){ int k=0;         for(int j=1;j<n;j++)            if(datalist[j]>datalist[k]) k=j;         return k;}(1) 画出该程序的控制流图。(2) 用基本路径覆盖法给出测试路径。(3) 为各测试路径设计测试用例。答案:(1)4
(2)测试路径:Path1: ①→③ Path2: ①→②→④→⑥→… Path3: ①→②→⑤→⑥→…(3)测试用例: Path1: 取 n=1,datalist[0] = 1, 预期结果:k=0               Path2: 取 n=2,datalist[0] = 1,datalist[1] = 0, 预期结果:k=0               Path3: 取 n=2,datalist[0] = 0,datalist[1] = 1, 预期结果:k=15