《软件工程》模拟题1
发布时间:2024-01-08 21:01:12浏览次数:26《软件工程》模拟题 1一、单选题(每题 3 分,共 30 分)1.PDL 是下列语言中的____。A.高级程序设计语言 B.伪代码 C.中级程序设计语言 D.低级程序设计语言答案:B2. 软件工程的基本要素包括方法、工具和____。A.过程 B.软件系统 C.硬件环境 D.人员答案:A 3. 软件质量必须在____加以保证。A.开发之前 B.开发之后 C.可行性研究过程中 D.分析、设计与实现过程中答案:D4. 需求分析的结果是产生定义下面____问题域的分析模型。A.信息 1
B.功能 C.性能 D.以上所有选项答案:D5. 结构化分析方法中,用以表达系统内部数据的运行情况的工具有____。A.数据流图 B.数据字典C.结构化语言 D.判定表与判定树答案:A6. 结构化设计方法在软件开发中,用于____。A.测试用例设计B.软件概要设计C.程序设计D.软件详细设计答案:B7.PAD 的控制执行流程为____。A.自下而上、从左到右 B.自上而下、循环执行 C.自上而下、从左到右 D.都不对答案:C2
8. 从软件工程的角度看,可以把程序设计语言划分为基础语言、____和面向对象语言三大类。A.结构化语言 B.面向机器语言 C.伪码语言 D.汇编语言答案:A9.测试的关键问题是____。A.如何组织软件评审 B.如何选择测试用命C.如何验证程序的正确性 D.如何采用综合策略答案:B10.在软件的内容中,占维护流动工作量比例最高的是____。A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护答案:B二、填空题 (每题 4 分,共 20 分)1 . 在 详 细 设 计 阶 段 , 除 了 对 模 块 内 的 算 法 进 行 设 计 , 还 应 对 模 块 内 的 ____ 进 行 设 计 。答案:数据结构3
2. 分析系统的数据需求通常采用建立____的方法。 答案:概念模型3. 将与同一张报表有关的所有程序段组成一个模块,该模块的内聚性为____。 答案:通信内聚 4. ____是指软件被理解、改正、调整和改进的容易程度。 答案:软件可维护性 5. 面向对象方法不仅支持过程抽象,而且支持____。 答案:数据抽象三、简答题 (每小题 10 分,共 20 分)1. 什么是黑盒测试与白盒测试?它们都适应哪些测试?答案:黑盒测试是指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能需求,又称为功能测试或数据驱动测试。白盒测试是指把测试对象看成一个透明的白盒子,测试人员需求了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。黑盒测试适应的测试有确认测试、等价类划分、边界值分析、错误推测和因果图。4
白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程序不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖)、循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试。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(8)a+c≤b(9)b+c≤a(10)5
a≠b≠c 且 a+c>b(6)a≠b≠c 且 b+c>a(7)三个正数 三个正整数(11)含有 0(12)含有负整数(13)含有实数(14)含有字符(15)两个整数(16)测试用例表测试数据 测试范围 期望结果(1) 3 3 3 (1)等边三角形(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)画出该程序的控制流图。6
(2)用基本路径覆盖法给出测试路径。(3)为各测试路径设计测试用例。答案:(1)(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=17