《软件工程及软件测试技术.doc》由会员分享,可在线阅读,更多相关《软件工程及软件测试技术.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程与软件测试技术课程复习资料课程名称软件工程与软件测试技术教材信息名称软件测试理论与实践教程出版社人民邮电出版社作者张向宏主编版次2009.06注:如学员使用其他版本教材,请参考相关知识点及教师PPTPPT相关章节标记示例“(1.1),(1.4)”一、客观部分:(单项选择、多项选择、不定项选择、判断)(一)单项选择题1. 关于原型化开发方法的叙述中,不正确的是()。 A. 原型化方法适应于需求不明确的软件开发 B. 在开发过程中,可以废弃不用早期构造的软件原型 C. 原型化方法利于确认各项系统服务的可用性D. 原型化方法可以直接开发出最终产品考核知识点: 原型开发模型的特点。相关知识参考
2、教材中P8及课件相关内容。(1.1)2. 以下属于软件维护阶段文档的是()。A测试分析报告 B操作手册 C软件问题报告 D软件需求说明 考核知识点:软件生命周期各阶段的任务,在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。(1.1)3. 在软件生命周期的不同阶段,需要实施不同类型的测试工作,单元测试是对程序设计进行验证,其中()不是单元测试的主要内容。 A. 模块接口测试 B. 有效性测试 C. 路径测试 D. 边界测试 考核知识点:单元测试的主要内容,有效性测试即确认测试,不属于单元测试。(1.1)4. 软件测试的目的是()。
3、A发现程序中的错误 B. 证明程序中没有错误 C. 测量程序的动态特性 D. 检查程序中的语法错误 考核知识点:软件测试的目的。(2.1)5. 对于软件的测试,下列描述正确的是()。 A测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试 B测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试 C测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试 D测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试 考核知识点: 测试的概念,又称用户测试。 (2.1)6. V模型指出,()对程序设计进行验证 .A. 验收测试和确认测试 B. 系统测试 C.
4、单元和集成测试 D. 验证测试 考核知识点:V模型的概念,单元和集成测试对程序设计进行验证。(2.3)7. 下面哪个不属于静态测试?()A 编码规则检查 B内存泄漏 C 程序复杂度分析 D 程序结构分析考核知识点:静态测试的内容,编码规则检查、程序复杂度分析和程序结构分析都属于静态测试,内存泄露属于性能测试检查的范畴,不属于静态测试。 (3.2)8. 使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。 A程序的内部逻辑 B程序的复杂结构 C使用说明书 D程序的功能考核知识点:白盒测试的概念,白盒测试主要根据程序的内部逻辑来设计测试用例。(3.1)9. 下列测试工具中哪个不能作为性能测
5、试压力工具()AQuick Test Professional B Borland SilkPerformer C Compware QA Center Performance Edition D Mercury LoadRunner考核知识点:性能测试工具(5.4)10. 在McCall软件质量度量模型中,属于面向软件产品适应的是().A可用性 B适应性C可维护性 D可互操作性考核知识点:McCall质量模型(7.1) 11. 下列关于软件测试的叙述中,正确的是()A用黑盒法测试时,测试用例是根据程序内部逻辑设计的B测试是为了验证该软件已正确地实现了用户的要求C发现错误多的程序模块,残留在模
6、块中的错误也多D黑盒测试方法中最有效的是因果图法考核知识点:软件测试的基本概念,参考教材13页软件测试的原则的第5条。(1.2)12. 关于白盒测试与黑盒测试的最主要区别,正确的是()。 A黑盒测试比白盒测试应用更广泛B白盒测试可以使用测试工具,黑盒测试不能使用工具 C白盒测试需要程序员参与,黑盒测试不需要 D白盒测试侧重于程序结构,黑盒测试侧重于功能考核知识点:黑盒测试和白盒测试的区别。参考教材中16页黑盒测试盒白盒测试的定义。(2.2)13. 针对下列程序段,对于(A,B)的取值,以下() 测试用例组合能够满足条件覆盖的要求。 IF( A - 10 )= 20 AND ( B + 20 )
7、 10 )THEN C = 0 IF( A - 30 ) 10 AND ( B - 30 ) 0 )THEN B = 30 A=50 B=-10 A=40 B=40 A=30 B=-10 A=30 B=30 ABC D考核知识点:条件覆盖。(3.3)14. 用边界值分析法,假定1Xpayload)i;switch (c) case SLIP_END: sio_send(SLIP_ESC, netif-state); sio_send(SLIP_ESC_END, netif-state); break; case SLIP_ESC: sio_send(SLIP_ESC, netif-state)
8、; sio_send(SLIP_ESC_ESC, netif-state); break; defult: sio_send(c, netif-state); break; A1 B2 C3 D 4考核知识点:逻辑覆盖,可以使用基本路径测试法,程序中有两个判定条件,应该选择2+1个测试用例才能够达到语句覆盖.(3.3)22. 软件内部/外部质量模型中,以下()不是功能性包括的子特性。 A适合性 B准确性C 互操作性D稳定性考核知识点:软件质量模型,适合性、准确性、互操作性、依从性和安全性是功能特性包括的子特性,稳定性是可维护性的子特性(7.1)23. 针对逻辑覆盖有下列叙述,()是不正确的。
9、A达到100DC要求就一定能够满足100SC的要求 B达到100MCDC要求就一定能够满足100SC的要求C达到100CDC要求就一定能够满足100SC的要求 D达到100CC要求就一定能够满足100SC的要求考核知识点:逻辑覆盖,参考教材90-92页的逻辑覆盖部分。达到100%条件覆盖未必能够100%满足语句覆盖要求。(3.3)24. 24-26.对于业务流清晰的系统可以利用 24. _ 贯穿整个测试用例设计过程,在用例中综合使用各种测试方法,对于参数配置类的软件,要用_25. _ 选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图和_26.
10、 _。24.A等价类划分 B因果图法 C场景法D. 正交试验法25.A边界值分析 B正交试验法C因果图法 D场景法26.A判定表法B因果图法 C等价类划分 D场景法考核知识点:黑盒测试技术的使用策略,参考教材119页。24题中,场景法适合业务清晰的系统;25题中正交实验法适合参数配置类的软件;因果图和判定表法适合程序功能说明中含有输入条件的组合情况.(4.2)25. 关于第三方测试的描述,正确的观点是() 。A. 由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试 B. 既不是开发人员,也不是用户所进行的测试就是第三方测试C. 第三方测试是在开发方与用户方的测试基础上所进行的验证测
11、试 D. 第三方测试又称为测试 考核知识点:第三方测试,即由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试.(2.2)26. 以下()不是敏捷方法应具备的基本特征。A简单的B.增量的C.协作的D.适应性强的考核知识点:敏捷测试的基本特征。增量、协作、直接的、适应性强的是敏捷测试的4个基本特征(8.1)27. 软件测试的对象包括()。 A. 目标程序和相关文档 B. 源程序、目标程序、数据及相关文档 C. 目标程序、操作系统和平台软件 D. 源程序和目标程序 考核知识点:软件测试的对象。参考教材中第9页软件测试的定义。软件是由文档数据和程序组成,软件测试的对象也就包括数据、文档和程
12、序,程序包括源程序和目标程序(1.1)28. 以下方法中()属于白盒技术设计测试用例的方法。 A逻辑覆盖 B等价类划分 C边界值分析 D因果图考核知识点:白盒测试,4个选项中只有逻辑覆盖是白盒测试技术,其他都是黑盒测试方法(3.3)29. V模型指出,()对系统设计进行验证。 A. 单元测试 B. 集成测试 C. 功能测试 D. 系统测试 考核知识点:在V模型中,系统测试对系统设计进行验证(2.3)30. 以下软件测试的说法,()是错误的。 A需求规格说明、设计规格说明都是软件测试的对象B软件测试贯穿于软件定义和开发的整个期间 C软件测试就是程序测试D程序是软件测试的对象考核知识点:软件测试的
13、概念,软件测试不仅仅是对程序的测试,还包括对文档和数据的测试,程序只是软件测试的对象之一。(1.2)31. 以下哪种测试与其余三种测试在分类上不同?() A. 负载测试 B. 强度测试 C. 数据库容量测试 D. 静态代码走查 考核知识点:性能测试,负载测试、强度测试盒数据库容量测试都属于性能测试,静态代码走查属于白盒测试(5.2)32. 用边界值分析法,假定1X80,那么X在测试中应该取的边界值是()。 AX=1,X=80 BX=0,X=1,X=80,X=81 CX=2,X=79 DX=O,X=81 考核知识点:边界值分析法(4.2)33. 关于原型化开发方法的叙述中,不正确的是()。 A.
14、 原型化方法可以直接开发出最终产品B. 原型化方法适应于需求不明确的软件开发C. 原型化方法利于确认各项系统服务的可用性D. 在开发过程中,可以废弃不用早期构造的软件原型考核知识点: 原型开发模型的特点。原型是用于明确用户需求的,并非是提交用户的最终产品, 相关知识参考教材中P8及课件相关内容。(1.1)34. 通过疲劳强度测试,最容易发现()问题。 A 并发用户数 B内存泄漏 C系统安全性 D功能错误B 考核知识点:考查疲劳强度测试,参考教材146-147页有关疲劳强度测试的内容。疲劳强度测试最容易发现内存泄露的问题。(5.2)35. 广义的软件测试包括()。 A开发方测试、用户测试和第三方
15、测试B确认、验证和测试 D单元测试、集成测试、确认测试和系统测试考核知识点:软件测试的定义,广义的测试包括确认和验证,参考教材10页上广义的软件测试的定义(1.1)36. 软件调试的目的是()。A. 找出错误所在并改正之 B. 排除存在错误的可能性 C. 对错误性质进行分类 D. 统计出错的次数考核知识点:软件调试的目的是找出错误并改正。(1.1)(二)多项选择题1. 以下测试方法是白盒测试方法的是()。 A. 判定覆盖和边界值分析法 B. 等价划分和错误推测法 C. 路径覆盖和判定/条件覆盖法 D. 条件组合覆盖和语句覆盖法 E. 条件覆盖和错误推测法 考核知识点:白盒测试方法, 边界值方法
16、属于黑盒测试方法,但也可以用于白盒测试,但错误推测法不能用于白盒测试。(3.1)2. 以下属于黑盒测试方法的有()。 A等价类划分 B. 边界值分析 C. 判定覆盖法 D. 因果图 E. 正交实验法考核知识点:黑盒测试方法(4.1) 3. 以下哪些过程能够提高软件质量?()A. 可行性分析B. 需求评审 C. 测试 D. 代码走查E. 概要设计考核知识点:静态测试(3.2)4. 下列属于软件缺陷问题的是 ()A 点击某链接返回HTTP错误 B 新增某条信息记录后没有提示保存成功 C 登录系统时输入错误密码,提示用户名不正确 D 上传文件时提示服务器空间已满,无法上传考核知识点:软件缺陷(2.1
17、)5. 可行性研究的方面包括()。 A. 经济可行性 B.技术可行性 C.法律可行性 D. 抉择 E. 软件的规模 考核知识点:可行性研究,包括从技术、经济和法律上的可行性研究,参考第8页软件生命周期(1.1)6. 下列属于测试执行阶段的输入的是()。 A 软件测试计划 B 测试用例C 测试数据 D 测试环境描述考核知识点:测试阶段的输入,测试阶段的输入应该包括软件测试计划和测试用例(2.1)7. 下列软件测试工具中哪些适用于自动化功能测试()AMercury QuickTest Professional B. Mercury WinRunner C. Compuware Applicatio
18、n Vantage D. Borland SilkTest E. Compuware Test Partner 考核知识点:自动化测试工具(4.4)8. 下列关于alpha 测试的描述中正确的是()。Aalpha 测试需要用户代表参加 Balpha 测试不需要用户代表参加Calpha 测试是系统测试的一种 Dalpha 测试是验收测试的一种考核知识点:alpha测试;Alpha测试是在开发环境下进行,但通常有用户代表参加,属于验收测试的一种。(2.2)9. 软件开发模型有 ()。 A 瀑布模型 B增量模型 C W模型 D 螺旋模型 E. 原型模型考核知识点:软件开发模型。(1.1)10. 下列
19、哪些属于软件测试阶段的交付成果物 ( )A 测试计划 B 测试用例 C 测试报告 D 用户手册 E 安装部署手册考核知识点:测试阶段的交付成果,用户手册和安装部署手册不属于测试阶段的交付物.二、主观部分:(一) 名词解释1 软件工程: 2 黑盒测试:(参考教材第16页)(1.2)3 静态测试:(参考教材第63页)(3.1)4 系统吞吐量:(参考教材第144页)(5.1)5 软件质量:(2.1) 6 白盒测试:(参考教材第16页)(1.2)7 动态测试:(参考教材第63页)(3.1)8 响应时间:(参考教材第143页)(5.1)9 软件度量:(参考教材第34页)(2.1)10 软件生命周期:(参
20、考教材第8页)(1.1)11 单元测试:(参考教材第14页)(1.2)12 逻辑覆盖:(参考教材第88页)(3.3)13 负载测试:(参考教材第146页)(5.2)14 测试驱动开发(TDD):(参考教材第205页)(8.2)15 软件测试:(参考教材第10页)(1.1)16 多条件覆盖:(参考教材第92页)(3.3)17 集成测试:(参考教材第14页)(1.2)18 错误推测法:(参考教材第119页)(4.2)19 敏捷测试:(参考教材第201页)(8.1)20 软件:21 系统测试:(参考教材第15页)(1.2)22 桌面检查:(参考教材第69页)(3.2)23 因果图法:(参考教材第11
21、0页)(4.2)24 压力测试:(参考教材第146页)(5.2)25 软件过程模型:(1.1)26 用户测试:(参考教材第16页)(1.2)27 走查:(参考教材第70页)(3.2)28 场景法:(参考教材第108页)(4.2)29 大数据量测试:(参考教材第146页)(5.2)30 软件危机:(1.1)31 验收测试:(参考教材第15页)(1.2)32 代码审查:(参考教材第69页)(3.2)33 等价类划分法:(参考教材第105页)(4.2)34 并发用户数:(参考教材第144页)(5.1)35 开发方测试:(参考教材第15页)(1.2)36 W模型:(参考教材第23页)(1.3)37 静
22、态结构分析:(参考教材第81页)(3.2)38 随机测试:(参考教材第118页)(4.2)39 疲劳强度测试:(参考教材第146页)(5.2)40 灰盒测试:(参考教材第17页)(1.2)41 前置测试模型:(参考教材第26页)(1.3)42 正交实验法:(参考教材第112页)(4.2)43 软件性能测试:(参考教材第141页)(5.1)44 基本路径测试法:(参考教材第93页)(3.3)(二) 问答题1软件生命周期都包括哪些阶段,简述每个阶段的任务。考核知识点:软件生命周期(2.1)参考答案:软件生命周期包括问题的定义,可行性分析,需求分析,概要设计,详细设计,编码,测试,维护8个阶段。问题
23、定义阶段必须回答的关键问题是:“要解决的问题是什么?”可行性研究阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”需求分析阶段的任务是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。概要设计阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”详细设计阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。编码阶段关键任务是写出正确的容易理解、容易维护的程序模块。测试阶段的关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求。维护阶段的关键任务是,通过各种必要的维护活动使系统持久地满足用户的需要。2
24、简述快速原型模型的特点、优点、缺点、适用场合。考核知识点:快速原型模型,参考课程课件(1.1)参考答案:所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速原型模型主要优点:(1) 原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。(2) 开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。缺点:1)用户有时误解了原型的角色,例如他们可
25、能误解原型应该和真实系统一样可靠。2)缺少项目标准,进化原型方法有点像编码修正。3)缺少控制,由于用户可能不断提出新要求,因而原型迭代的周期很难控制。4)额外的花费:研究结果表明构造一个原型可能需要10%额外花费。5)原型法要求开发者与用户密切接触,有时这是不可能的。例如外包软件。适用场合:1)适用于用户驱动的系统,即需求模糊或随时间变化的系统;2)已有产品或产品的原型,只需客户化的工程项目;3)简单而熟悉的行业或领域;4)有快速原型开发工具;5)进行产品移植或升级3什么是V模型?简述V模型在软件测试过程中的作用,以及在V模型中各个测试阶段和开发过程的对应关系。考核知识点:V模型(2.3)参考
26、答案: V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。 从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。 左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。 V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则4. 请说明软件工程方法学都包含哪些要素?简要说明目前使用最广泛的两种软件工程方法学。考核知识点:软件工程方法学(1.1)参考答案:软件工程方法学包含3个要素:方法、工具和过程。其中方法是完成
27、软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。这种方法学把软件生命周期的全过程依次划分为若干个阶段,然后顺序地完成每个阶段的任务。与传统方法相反,面向对象方法把数据和行为看成同等重要,它是一种以数据
28、为主线,把数据和对数据的操作紧密地结合起来的方法。5. NextDate函数包含三个变量:month、day和year,函数的输出为输入日期后一天的日期。 例如,输入为2008年8月7日,则函数的输出为 2008年8月8日。请用边界值分析法设计测试用例。考核知识点:边界值分析方法的应用(4.2)参考答案:在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1mouth12和1day31,并设定变量year的取值范围为1912year2050 。则测试用例选择如下:6什么是W模型?请详细论述其特点。考核知识点:软件测试模型(2.3)参考答案:W模型由Evolutif公司提出
29、,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,
30、测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。 7.什么是逻辑覆盖测试?逻辑覆盖都有哪些类型?考核知识点:逻辑覆盖测试, (3.3) 参考答案:逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖。它是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括:l 语句覆盖l 判定覆盖l 条件覆盖l 条件判定组合覆盖l 多条件覆盖l 修正条件判定覆盖8. 加法器程序计算两个1100之间整数的和。请用边界值分
31、析法设计测试用例考核知识点:边界值分析的应用(4.2)参考答案:1.等价类划分 9. 请说明测试的目的、原则与对象考核知识点:软件测试的目的、原则和对象(2.1)参考答案:软件测试的目的:1)是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。2)是确认软件的质量,软件做了所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)3)是为开发过程提供反馈信息,协助开发过程的改进:软件测试不仅是在测试软件产品本身,还包括软件
32、开发的过程。软件测试的第三个目的是保证整个软件开发过程的高质量。4)软件质量评估:软件测试是以评价一个程序或系统属性为目标的一种活动,是对软件质量的度量与评估,以验证软件的质量满足用户的需求,为用户选择与接收软件提供有力的依据。软件测试的原则1) 所有的软件测试都应追溯到用户需求2) 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。3) 完全测试是不可能的,测试需要终止4) 软件测试无法显示软件潜在的缺陷5) 充分注意软件测试中的群集现象6) 程序员应避免检查自己的程序7) 尽量避免测试的随意性8) 妥善保存一切测试过程文档。软件测试的对象:需求规格说明、概要设计规格说明、详细设计规格说明、源程序 。16 / 16