软件工程 第11章 软件测试


11.2 软件测试的分类
软件测试还包括配置测试、兼容性测试、安装测试、文档测试、软 件国际化测试、软件本地化测试、α测试和β测试等。
配置测试考察软件系统是否能在多种硬件平台上正常运行。 兼容性测试是为了检测各软件之间是否能正确地交互和共享信息,它主要关 注软件的运行平台和应用系统的版本、标准和规范、数据的共享性。 安装测试是为了发现软件在安装过程中存在的错误,验证其与安装手册的内 容是否一致。与安装测试相对应的还有卸载测试。 文档测试是指检验软件产品的文档是否清晰、准确、一致。 软件的国际化和本地化是相对应的。软件的国际化特性要求软件产品能够支 持Unicode,支持不同时区的设定、显示和切换,消除一些不容易改变的设置 等。 α测试和β测试都是属于验收测试的范畴,是在系统测试之后,产品发布之前 进行的测试过程的最后一个阶段。
11.1 软件测试的基本概念
• 11.1.1 软件测试的原则
软件测试是为了发现错误而执行程序的过程,它并不可能找出所有的 错误,但是却可以减少潜在的错误或缺陷。人们在长期进行软件测试实践 的过程中,不断地总结出一些软件测试的经验或原则,可供我们参考。 (1) 完全测试是不可能的。 (2) 测试中存在风险。 (3)软件测试只能表明缺陷的存在,而不能证明软件产品已经没有缺陷。 (4)软件产品中潜在的错误数与已发现的错误数成正比。 (5)让不同的测试人员参与到测试工作中。
11.2 软件测试的分类
下面介绍按照质量因素划分的软件测试分类。 功能测试关注于软件产品的功能实现,以软件产品的需求规格说明书 为依据,检验最终的软件产品是否实现了需求规格说明书中的所有功 能需求。 可靠性测试关注于程序输出结果的准确性,它以需求规格说明书中对 系统的可靠性要求为依据,评测最终的软件产品提供准确输出结果的 能力。 可用性测试用来衡量处理服务请求时,应用程序的可用频率。顾名思 义,它以需求规格说明书中对系统的可用性要求为依据。可用性和可 靠性的区别在于,可用性衡量的是一个应用程序处理服务请求并且在 最短时间内从故障中恢复的能力,而可靠性衡量的是应用程序能够在 多长时间内一直运行并且给出期望的结果值。
11.1 软件测试的基本概念
(6) 让开发小组和测试小组分立,开发工作和测试工作不能由同一部分人 来完成。 (7) 尽早并不断地进行测试,使测试工作贯穿于整个软件开发的过程中。 (8) 在设计测试用例时,应包括输入数据和预期的输出结果两个部分,并 且,输入数据不仅应该包括合法的情况,还应该包括非法的输入情况。 (9) 要集中测试容易出错或错误较多的模块。 (10) 应该长期保留所有的测试用例。
第11章 软件测试
11.1 软件测试的基本概念
软件测试是发现软件中错误和缺陷的主要手段。为了保证软件产品的质量, 软件开发人员通过软件测试发现产品中存在的问题,并对其进行及时的修改。可 以说,软件测试的过程就是发现并改正软件缺陷的过程。 软件缺陷是指软件产品中存在的问题,具体表现为用户所需的功能没有实现, 无法满足用户的需求。缺陷的产生是不可避免的,软件测试的工作是必需的。 在软件开发过程的任何阶段都可能引入缺陷。缺陷被引入的阶段越早,在软 件开发的后期修复这些缺陷带来的成本损失就越大。 软件测试是软件开发过程中的一个重要阶段。在软件产品正式投入使用之前, 软件开发人员需要保证软件产品正确地实现了用户的需求,并满足稳定性、安全 性、一致性、完全性等各个方面的要求,通过软件测试对产品的质量加以保证。 实际上,软件测试过程与整个软件开发过程是同步的,也就是说,软件测试工作 应该贯穿于整个开发过程。
11.1 软件测试的基本概念
H模型强调测试的独立性和 灵活性。在H模型中,软件测试 活动完全独立,它贯穿于整个软 件产品的ቤተ መጻሕፍቲ ባይዱ命周期,与其他流程 并行进行。当软件测试人员认为 测试准备完成,即某个测试点准 备就绪时,就可以从测试准备阶 段进入到测试执行阶段。
11.2 软件测试的分类
软件测试可以从不同的角度划分为多种类型,如图所示。
11.1 软件测试的基本概念
为了克服V模型开发和测试不能同 步的问题,Evolutif公司发明了W模型, 它在V模型的基础上,增加了软件开发 阶段中应同步进行的测试活动。 W模型的最大优势在于,测试活动 可以与开发活动并行进行,这样有利于 及早地发现错误,但是W模型也有一定 的局限性。在W模型中,需求、设计、 编码等活动依然是依次进行的,只有上 一阶段完全结束,才有可能开始下一阶 段的工作。与迭代的开发模型相比,这 种线性的开发模型在灵活性和对环境的 适应性上有很大差距。
11.2 软件测试的分类
软件系统的性能包括多方面的因素,比如输入/输出数据的精度、系统 的响应时间、更新频率、数据的转换和传送时间、操作方式或运行环 境变化时软件产品的适应能力、故障处理能力、资源利用率等。性能 测试主要针对软件产品各方面的性能因素,可以细分为负载测试、容 量测试、压力测试。 安全性测试主要验证系统的安全性、保密性等措施是否能有效地发挥 作用,包括用户管理和访问控制、数据备份与恢复、入侵检测等。
11.1 软件测试的基本概念
• 11.1.2 软件测试模型 软件测试模型是指软件测试全部过程、活动或任务的结 构框架。 一个好的软件测试模型可以简化测试的工作,加速软件 开发的进程。常用的软件测试过程模型有V模型、W模型和H 模型。
11.1 软件测试的基本概念
V模型是最具代表意义的测试模型,它是软 件开发中瀑布模型的变种。V模型的重要意义在 于它非常明确地表明了测试过程中存在的不同级 别,并且清楚地描述了这些测试阶段和开发过程 的各阶段的对应关系。 不难发现,在V模型中,测试工作在编码之 后才能进行,所以在软件开发早期各个阶段引入 的错误不能及时被发现。尤其是需求阶段的错误 只有等到最后的验收测试才能被识别。对分析、 设计阶段产生的错误不能及时发现并改正的缺点 会对后期的修复工作带来诸多不便,造成更多资 源的浪费和时间的延迟。
合集下载

软件测试教学大纲+完整版

软件测试教学大纲+完整版
10.2.4 Jenkins定制构建
10.2.5 构建触发器
10.2.6 job关联
10.2.7 添加HTML Publisher插件
10.2.8 添加 Reports
10.2.9 报告展示
10.2.10 Jenkins中的HTML展示
10.3本章小结
4
2学时
上机内容:
接口自动化测试练习
第11章WebUI自动化测试
7.5 本章小结
2
2学时
上机内容:
用Firefox浏览器抓取报文并进行分析
第8章 接口测试
8.1 为什么要做接口测试
8.2 接口测试的定义
8.3 接口测试实例分析
8.3.1 接口文档解析
8.3.2 测试用例设计
8.4 接口测试工具
8.4.1 安装Postman工具
8.4.2 使用Postman的基础功能
4.2.6 测试总结
4.3 系统上线与运维
4.4 本章小结
2
第5章 白盒测试用例设计及应用
5.1 逻辑覆盖法
5.1.1 语句覆盖
5.1.2 判定覆盖
5.1.3 条件覆盖
5.1.4 条件判定组合覆盖
5.1.5 多条件覆盖
5.1.6 修正条件判定覆盖
5.2 基本路径测试法
5.2.1 程序的控制流图
5.2.2 控制流图的环路复杂性
12.2.2 项目介绍
12.2.3 需求分析
12.2.4 脚本开发
12.2.5 使用LoadRunner完成H5网站的脚本开发
12.3 场景设计精要
12.4 性能测试分析思路
12.4.1 观察现象
12.4.2 层层递进
12.4.3 缩小范围

软件质量保证与测试选择题

软件质量保证与测试选择题

选择题1、关于软件测试的理解有误的是 BD; 02、关于软件测试的概述说法不正确的是AB ; 03、测试用例在软件测试中举足轻重,关于它的说法错误的是 D; 04、为了提高测试效率应该 D; 05、强调了测试计划等工作的先行和对系统需求和系统设计的测试C 01、描述黑盒测试的说法错误的是 B; 02、黑盒测试的方法有ABC ; 03、下列叙述不正确的是B ; 04、关于黑盒测试用例设计方法说法错误的是 D; 05、用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是 B; (1)1、下列不属于白盒测试方法的是 C; (1)2、关于白盒测试和黑盒测试的说法正确的是 BC; (1)3、白盒测试方法中阐述不正确的是 D; (1)4、白盒测试的特点是 ABCD; (1)5、有关白盒测试的阐述有误的是 A; (1)1、下列关于软件测试过程的描述错误的是 B; (1)2、单元测试的目的是 B; (2)3、单元测试的内容有 ABC; (2)4、对集成测试的说法有误的是 C; (2)5、软件测试过程包括哪些步骤 ABCD; (2)1、关于测试文档说法错误的是: C; (2)2、对测试用例描述不正确的是D ; (2)3、测试用例是非常重要的其原因是:BCD ; (2)4、下列关于测试报告的说法有误的是: B; (2)5、测试报告技术的要求是:ABC ; (3)1、不属于测试工具的优点是 C;-5- (3)2、关于测试工具和厂家搭配不正确的是D ; (3)3、对BUG的理解有误的是 B; (3)4、下列BUG不容易被查找的是ABCD ; (3)5、哪些操作会引起程序BUG ABD; (3)1、软件质量的含义是:ABCD ; (3)2、不属于软件产品的质量的特殊性是:D ; (3)3、一套完整的软件质量管理体系应当包括:ABCD ; (4)4、不属于ISO9001:2000的八大原则是: A; (4)5、质量管理主要涉及哪三方面的问题: ACD; (4)1、关于软件测试过程管理的描述中正确的是:ABCD ; (4)2、软件过程成熟度模型说法正确的是: ABC; (4)1、软件工程的包括哪几个阶段: ABCD; (5)2、软件需求的三个层次是:ACD ; (5)3、下列哪些会造成软件需求的不正确性: ABC; (5)4、软件需求分析要解决的问题是: AC; (5)5、需求规格说明书中设计阶段,用到的图形模型有: ABCD; (5)1、下列关于软件设计的说法不正确的是:D ; (5)2、软件设计的基本任务有:ABC ; (5)3、关于数据结构及数据库设计中描述有误的是:D ; (5)4、软件设计需要注意哪些问题:ACD ; (5)5、软件详细设计的说法中正确的是:ABCD ; (6)1、软件开发的内容是: ABCD; (6)2、对软件开发过程中不同阶段的叙述不正确的是:C ; (6)3、关于软件开发中命名规范说法正确的是:B ; (6)4、对软件开发与质量控制理解有误的是: C; (6)5、影响软件开发的因素有: ABCD; (6)1、对软件测试的说法中有误的是:D ; (6)2、软件测试的责任是: ABCD; (6)3、软件测试步骤理解有误的是: C; (7)下列对软件测试规范说法正确的是:ABCD ; (7)5、对提高软件测试质量的说法错误的是: ; (7)第1章测试题1、关于软件测试的理解有误的是 BD;A软件测试是为了寻找软件缺陷而执行程序的过程B软件测试目的是为了改正软件的错误C软件测试与软件开发是同步进行的D应用系统开发完毕,再对它进行软件测试2、关于软件测试的概述说法不正确的是AB ;A用更好的程序语言编写程序可以避免出错B软件测试在软件开发总工作量的比例应最低C软件测试需要人员的交流D软件测试与软件开发并行3、测试用例在软件测试中举足轻重,关于它的说法错误的是 D;A它是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略; B不同类别的软件,测试用例是不同的;C测试用例的选择要有代表性;D在软件开发后期进行设计测试用例;4、为了提高测试效率应该 D;A随机地选取测试数据B取一切可能的输入数据作为测试数据C在完成编码以后制定软件的测试计划D选择发现错误的可能性小的数据作为测试数据5、强调了测试计划等工作的先行和对系统需求和系统设计的测试CAV模型BH模型CW模型D前置测试模型第2章测试题1、描述黑盒测试的说法错误的是 B;A黑盒测试一般需要测试工具的帮助B因果图法不属于黑盒测试用例设计方法C黑盒测试中的边界值分析方法是对等价类划分方法的补充D黑盒测试测试全部使用场景的外部接口2、黑盒测试的方法有ABC ;A等价类划分法-2-B正交试验设计法C错误推测法D条件覆盖法3、下列叙述不正确的是B ;A黑盒测试法注重于测试软件的功能需求B判定表驱动法属于白盒测试方法C黑盒测试避免盲目测试提高测试效率D测试案例的使用使软件测试实施重点突出,目的明确4、关于黑盒测试用例设计方法说法错误的是 D;A边界值分析是通过选择等价类边界的测试用例;边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界;B因果图方法是从用自然语言书写的程序规格说明的描述中找出因输入条件和果输出或程序状态的改变,可以通过因果图转换为判定表;C正交试验设计法,就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率;D因果图法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例;5、用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是 B;AX=1,X=100BX=0,X=1,X=100,X=101CX=2,X=99DX=O,X=101第3章测试题1、下列不属于白盒测试方法的是 C;A逻辑覆盖B语句覆盖C等价覆盖D条件覆盖2、关于白盒测试和黑盒测试的说法正确的是 BC;A白盒测试也叫功能测试;B黑盒测试目的是发现软件需求或设计规格说明中的错误;C白盒测试可以用来对代码结构进行全面测试;D白盒测试可以替代黑盒测试;3、白盒测试方法中阐述不正确的是 D;A语句覆盖要求设计足够多的测试用例,使得程序中每条语句至少被执行一次;B条件覆盖比判定覆盖,增加了对符合判定情况的测试,增加了测试路径;C判定/条件覆盖准则的缺点是未考虑条件的组合情况D组合覆盖要求设计足够多的测试用例,使得每个判定中条件结果的所有可能组合最多出现一次;4、白盒测试的特点是 ABCD;A依据软件设计说明书进行测试B对程序内部细节的严密检验C针对特定条件设计测试用例D对软件的逻辑路径进行覆盖测试5、有关白盒测试的阐述有误的是 A;A软件的白盒测试是对软件产生的结果做细致的检查B白盒测试一般是以单元或者模块为基础的C白盒测试也称结构测试或逻辑驱动测试D从检查程序的逻辑着手,得出测试数据第4章测试题1、下列关于软件测试过程的描述错误的是 B;A单元测试集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现规定的功能;B系统测试是要检查已实现的软件是否满足了需求规约中确定了的各个要求,以及软件配置是否完全、正确;C软件测试过程中的单元测试是面向白盒测试的;D验收测试指向软件的购买者展示该软件系统满足其用户的需求;2、单元测试的目的是 B;A检查软件单位之间的接口是否正确B检验软件基本组成单位的正确性C检查软件能否按合同要求进行工作D检查软件是否满足购买者要求3、单元测试的内容有 ABC;A边界测试B路径测试C模块接口测试D等价类划分测试4、对集成测试的说法有误的是 C;A集成测试是在软件系统集成过程中所进行的测试B主要目的是检查软件单位之间的接口是否正确C软件测试过程可以没有集成测试D集成测试是在单元测试的基础上是单元测试的逻辑扩展-4-5、软件测试过程包括哪些步骤 ABCD;A单元测试B集成测试C验收测试D确认测试第5章测试题1、关于测试文档说法错误的是: C;A它是软件测试人员之间交流和沟通的平台B目的是保证软件测试的顺利进行C测试文档是非必要的D测试文档要通俗易懂2、对测试用例描述不正确的是D ;A为某个特殊目标而编制的一组测试输入B为某个特殊目标而编制执行条件以及预期结果C便于测试某个程序路径或核实是否满足某个特定需求D不同类别的软件,测试用例是相同的3、测试用例是非常重要的其原因是:BCD ;A测试的“深度”与测试用例的数量成反比例B测试设计和开发的类型以及所需的资源主要都受控于测试用例; C测试用例构成了设计和制定测试过程的基础;D测试工作量与测试用例的数量成比例;4、下列关于测试报告的说法有误的是: B;A它是把测试的过程和结果写成文档B测试报告应当越简越好C测试报告是测试阶段最后的文档产出物D测试报告基于测试中的数据采集以及对最终的测试结果分析;5、测试报告技术的要求是:ABC ;A测试报告基本要求是准确、简洁、完整、规范B明确指明错误类型C确认步骤完整,准确,简短D可不必检查拼写和语法错误第6章测试题1、不属于测试工具的优点是 C;-A增强了测试的能力,扩展了测试的深度和广度B重现软件缺陷的能力C通过工具我们可以达到100%的测试覆盖率D减轻了测试工作量并缩短了测试进度2、关于测试工具和厂家搭配不正确的是D ;ARadview公司的WebLoadBMercuryInteractive的LoadRunnerCCompuware公司的QACenterDCompureware公司的Test Manager3、对BUG的理解有误的是 B;A产品的复杂度是BUG的来源之一;B不满足用户需求或隐含需求不属于软件BUGCBUG一般由测试人员提出,一般以测试人员判定为准,存在较大争议时多方协商DBUG是不可避免的存在的4、下列BUG不容易被查找的是ABCD ;A两个以上的模块共同修改同一变量B程序没有正确地安装或卸载C输入变量不可预测D在程序初始化第一次安装或安装后第一次运行时只出现一次5、哪些操作会引起程序BUG ABD;A开发环境或开发工具本身不完善B编码人员的协同开发和修改中交流不清楚C编写代码量大D编码人员处理程序不当造成的结果第7章测试题1、软件质量的含义是:ABCD ;A能满足给定需要的特性之全体;B具有所希望的各种属性的组合的程度;C顾客或用户认为能满足其综合期望的程度;D软件的组合特性,它确定软件在使用中将满足顾客预期要求的程度;2、不属于软件产品的质量的特殊性是:D ;A很难制定具体的、数量化的产品质量标准,所以没有相应的国际标推、国家标准或行业标淮;B软件产品之间很难进行横向的质量对比,很难说这个产品比那个产品好多少;C满足了用户需求的软件质量,就是好的软件质量D软件的类型不同,但是软件质量的衡量标准的侧重点相同-6-3、一套完整的软件质量管理体系应当包括:ABCD ;A质量体系的策划与设计B质量体系文件的编制C质量体系的试运行D质量体系审核和评审4、不属于ISO9001:2000的八大原则是: A;A单元化管理B互利的供应商关系C以顾客为中心D全员参与5、质量管理主要涉及哪三方面的问题: ACD;A规范化B体系化C量化D固化第8章测试题1、关于软件测试过程管理的描述中正确的是:ABCD ;A它是为企业设计,研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动;B过程定义是对最佳实践加以总结,以形成一套稳定的可重复的软件过程;C过程改进是根据过程的使用情况,对过程中有偏差或不够切合实际的地方进行优化的活动;D过程正确及构成过程的解决方法正确,产品就会正确;2、软件过程成熟度模型说法正确的是: ABC;A它用来定义和评价软件公司开发过程的成熟度B一个成熟度等级是一个正确定义的向软件更高成熟度进步中的平台C它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述;D是由美国卡内基梅隆大学软件工程研究所1997年研制成功的3、cmm模型将软件过程的成熟度分为5个等级;在使用定量分析来不断地改进和管理软件过程;BA优化级 B管理级 C定义级 D可重复级4、阶段的一个重要工作是对有关软件过程和软件产品质量进行量化数据采集并根据所得数据建立对过程和产品进行监控的有效手段;BA可重复级B管理级C定义级D优化级5、下列哪一软件过程应是持续改进的过程,并且有一整套有效机制确保软件工程误差接近最小或零: D;A可重复级B管理级C定义级D优化级第9章测试题1、软件工程的包括哪几个阶段: ABCD;A需求 B设计 C编码 D测试2、软件需求的三个层次是:ACD ;A业务需求B资金需求C用户需求D功能需求3、下列哪些会造成软件需求的不正确性: ABC;A误解客户需求B需求的不确定性C无法完整的收集到客户的需求D客户需求过多4、软件需求分析要解决的问题是: AC;A目标系统到底做什么B使系统的结构优化C确定对系统的综合要求D指明系统的特性5、需求规格说明书中设计阶段,用到的图形模型有: ABCD;A数据字典B数据流图C状态转换图D对话图第10章测试题-8-1、下列关于软件设计的说法不正确的是:D ;A软件设计可以分为概要设计和详细设计两个阶段B详细设计的首要任务就是设计模块的程序流程、算法和数据结构C软件概要设计是指对整个软件系统进行结构设计,确定软件系统的结构D软件设计越复杂越好2、软件设计的基本任务有:ABC ;A设计软件系统结构B数据结构及数据库设计C编写概要设计文档D图形界面设计3、关于数据结构及数据库设计中描述有误的是:D ;A逐步细化的方法适用于数据结构的设计B逻辑设计是数据库设计的一方面C数据库的设计指数据存储文件的设计D数据库设计中概念模型在数据分析的基础上,采用自上向下的方法从用户角度进行视图设计,一般用ER模型来表示数据模型4、软件设计需要注意哪些问题:ACD ;A减少耦合B考虑范围要窄C代码重用D功能分解5、软件详细设计的说法中正确的是:ABCD ;A详细描述处理过程常用三种工具:图形、表格和语言B选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个CN-S图从表达形式上就排除了随意使用控制转移对程序流程的影响,限制了不良程序结构的产生;DPAD图是表现程序逻辑结构的图形工具第11章测试题1、软件开发的内容是: ABCD;A需求B设计C编程D测试2、对软件开发过程中不同阶段的叙述不正确的是:C ;A计划阶段是对所要解决的问题进行总体定义B设计阶段可以分为概要设计和详细设计两个阶段C不同的测试方法用相同的测试用例设计方法D编码阶段是指把软件设计转换成计算机可以接受的程序3、关于软件开发中命名规范说法正确的是:B ;A变量名或函数名中使用大写字符来区分各个部分B宏命名和typedef定义类型应详细,避免重复,一律为小写C局部变量应尽量易懂简洁,使用常见的变量D全局包括类中的变量用长名字,局部变量用短名字4、对软件开发与质量控制理解有误的是: C;A软件开发阶段划分的目的是为了便于形成基于里程碑的软件开发质量控制体系B开发中质量管理的方法包括了日常检查、阶段评审、方案检验和质量原因分析C详细设计尽可能模块化、规范D方案检验是对在软件的设计方案进行模拟测试,通过对存储数据量、并发用户数、网络环境等多方面的综合验证测试,以保证系统设计方案的正确性5、影响软件开发的因素有: ABCD;A软件开发管理不规范B缺乏合格的产品经理C缺乏高素质的研发管理人员和研发人员D软件产品孤立、零散,缺乏整合性第12章测试题1、对软件测试的说法中有误的是:D ;A软件生命周期的每个阶段都不可避免地会产生差错;B测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误C它的目标是发现软件中的错误D软件测试的工作量占软件开发总工作量最少部分2、软件测试的责任是: ABCD;A编写合理的测试计划,并与项目整体计划有机地整合在一起B针对测试需求进行相关测试技术的研究C进行缺陷跟踪与分析D编写覆盖率高的测试用例3、软件测试步骤理解有误的是: C;A模块测试通常又称为单元测试目的是保证每个模块作为一个单元能正确运行B系统测试是把经过测试的于系统装配成一个完整的系统来测试C白盒法考虑的是测试用例对程序外部逻辑的覆盖程度D验收测试把软件系统作为单一的实体进行测试,它是在用户积极参与下进行的下列对软件测试规范说法正确的是:ABCD ;A测试规划确定测试的目标和策略B测试设计过程输出的是各测试阶段的测试用例,其结果可以作为各阶段的测试计划的附件提交评审;C配置管理对象包括测试计划、测试方案用例、测试版本、测试工具、测试环境、测试结果等D本地化测试由本地化提供商的测试项目组成员完成,需要与软件供应商有效协作,获得最新的测试用例和测试软件,提交测试结果软件错误数据库和测试报告等;5、对提高软件测试质量的说法错误的是: ;A仅需要一个强大的软件测试工具B壮大软件测试队伍C完善测试机制D重视第三方的测试力量。

软件工程综合复习题连答案

软件工程综合复习题连答案

《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。

A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。

A、SAB、SDC、SCD、CASE3、以下判断正确的是()。

A、所谓软件开发就是编写程序。

B、利用软件工程的思想,已成功的解决了软件危机。

C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。

D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。

4、_____是以提高软件质量为目的的技术活动。

A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是()。

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是()。

A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是()A.主机,显示器,硬盘,软驱,打印机等。

B.CPU,存储器,控制器,I/O接口及设备。

C.计算机硬件系统和软件系统。

D.计算机及其应用系统。

8、产生软件危机的原因主要与两个方面的问题有关:A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。

C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D.软件很难理解,硬件也很复杂。

9、软件开发瀑布模型中的软件定义时期各个阶段依次是()A.可行性研究,问题定义,需求分析。

B.问题定义,可行性研究,需求分析。

C.可行性研究,需求分析,问题定义。

D.以上顺序都不对。

10、下列选项中()是软件开发中存在不正确的观念、方法。

A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括()、()和()。

2、一般软件应该有三部分组成:()、()和()。

3、按软件的功能可将软件分成()、()和()等三类。

(完整版)软件工程 判断题

(完整版)软件工程 判断题

判断题:第1章概述1。

由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。

(×)2。

由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。

(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵.(×)4。

大多数软件产品在其生命周期中不需要增强功能。

(×)5。

大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。

(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。

(×)第4章需求工程1. 在需求分析过程中,分析员要从用户那里解决的最重要的问题是明确软件做什么。

(√)2. 软件需求规格说明书在软件开发中具有重要的作用,它是软件可行性分析的依据。

(×)第5章面向对象基础1. 模型是对现实的简化,建模是为了更好地理解所开发的系统。

(√)2。

UML语言支持面向对象的主要概念,并与具体的开发过程相关。

(×)第6章面向对象分析1. 面向对象分析的核心在于建立一个描述软件系统的模型。

(×)第7章软件体系结构设计1. 系统体系结构的最佳表示形式是一个可执行的软件原型。

(×)2. 软件体系结构描述是不同项目相关人员之间进行沟通的使能器.(√)3. 良好的分层体系结构有利于系统的扩展与维护。

(√)4。

消除两个包之间出现的循环依赖在技术上是不可行的.(×)5. 设计模式是从大量成功实践中总结出来且被广泛公认的实践和知识。

(√)第8章面向对象设计1。

面向对象设计是在分析模型的基础上,运用面向对象技术生成软件实现环境下的设计模型.(√)2。

系统设计的主要任务是细化分析模型,最终形成系统的设计模型.(×)3。

关系数据库可以完全支持面向对象的概念,面向对象设计中的类可以直接对应到关系数据库中的表。

(×)4。

用户界面设计对于一个系统的成功是至关重要的,一个设计得很差的用户界面可能导致用户拒绝使用该系统。

《软件工程》教学课件 第11章 软件项目管理

《软件工程》教学课件 第11章 软件项目管理
式为组织型、半独立型或嵌入型。
下 表 是 根 据 63 个 项 目 的 数 据 统 计 结 果 , 按 照 基 本 的 COCOMO模型估算的工作量和进度。
总体类型 组织型
半独立型 嵌入型
工作量 MM=10.4(KLOG)1.05 MM=3.0(KLOG)1.12 MM=3.6(KLOG)1.20
进度 TDEV=10.5(MM)0.38 TDEV=10.5(MM)0.35 TDEV=10.5(MM)0.32
i1
其中:ai — 估计的最小行数 bi — 估计的最大行数 mi — 最可能的行数
将估算的源代码行数,乘以根据经验推算的每行源代 码所需成本,即为该软件的成本。
IBM 估算模型
1977年由Waiston 和 Felix 总结了IBM联合系统 分部(FSD)负责的60个项目的数据,利用最小二 乘法拟合,得到如下估算公式:
PERT(Program evaluation & review technique)计 划评审技术或CPM(Critical path method)关键路径法, 都是采用网络图来描述项目的进度安排。如图描述了开发 模块A、B、C的任务网络图。各边上所标注的数字为该任 务所持续的时间,数字结点为任务的起点和终点。
70
任务
月份 1 2 3 4 5 6 7 8 9 10 11 12
60
需求分析 ▲ ▲ ▲
50
总体设计
▲ ▲▲
40
详细设计
▲▲
30
编码 软件测试
▲ ▲▲
20
10
▲▲▲
0 一月
二月
三月
四月
五月
六月
进度表
2.甘特图(Gantt Chart)

软件工程智慧树知到答案章节测试2023年山东财经大学

软件工程智慧树知到答案章节测试2023年山东财经大学

第一章测试1.软件没有相应的文档,且最终不能满足用户要求是软件危机的一种表现。

()A:错B:对答案:B2.软件本身的不可见性和复杂性随规模的增加呈指数上升是产生软件危机的主要原因。

()A:错B:对答案:A3.开发软件就是写程序。

()A:错B:对答案:A4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称()。

A:软件危机B:软件工程C:软件产生D:软件周期答案:A5.以下对软件工程描述正确地是()。

A:结合最好的技术方法。

B:经济地开发出高质量的软件并有效地维护它。

C:一门工程学科。

D:采用经过时间考验而证明正确的管理技术。

答案:ABCD6.软件生命周期中所花费费用最多的阶段是()。

A:需求分析。

B:软件总体设计。

C:软件实现。

D:软件维护。

答案:D7.软件是()。

A:计算机系统。

B:处理对象和处理规则的描述。

C:程序。

D:程序、数据及其文档的集合。

答案:D8.同螺旋模型相比,原型模型主要缺少()。

A:客户评估B:制定计划C:风险分析D:实施工程答案:C9.在软件生存周期模型中,不适应变化需求的软件开发模型是()。

A:原型模型B:瀑布模型C:螺旋模型D:增量模型答案:B10.针对高质量软件的生产的软件过程模型()。

A:RUP模型B:基于构件的模型C:净室模型D:增量模型答案:C第二章测试1.可行性研究的技术可行性是指现有技术是否可行。

()A:对B:错答案:A2.可行性研究的成本效益分析是从经济方面讨论是否可行。

()A:对B:错答案:A3.可行性分析研究的目的是()。

A:功能内聚B:项目值得开发否C:开发项目D:争取项目答案:B4.描绘物理系统的传统工具是()。

A:程序流程图B:系统流程图C:数据流程图D:软件结构图答案:B5.数据字典的基本功能是()。

A:数据维护。

B:数据通信。

C:数据定义。

D:数据库设计。

答案:C6.使用数据流图对工资系统进行需求分析建模,外部实体是()。

A:工资单B:工资系统代码C:工资数据库维护D:接受工资单的银行答案:D7.数据流图的作用包括()。

软件工程习题课

1.如果要开发“图书馆管理信息系统”,你认为采用什么开发模型比较合适?请说明理由。

答:开发“图书馆管理信息系统”采用瀑布模型比较合适。

因为瀑布模型在开发过程中各阶段非常清晰,便于评审、跟踪、管理和控制,并且“图书馆管理信息系统”也基本符合瀑布模型的条件:(1)“图书馆管理信息系统”在开发过程中需求变化很少。

(2)分析和设计人员对“图书馆管理信息系统”比较熟悉。

(3)“图书馆管理信息系统”是低风险项目。

(4)“图书馆管理信息系统”的用户使用环境比较稳定。

(5)“图书馆管理信息系统”的用户除提出需求以外,很少参与开发工作。

2.简述结构化程序设计方法的基本要点。

(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。

3.下图中,模块G为判定,判断涉及到模块B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出1~2 个改进方案(不改变模块G 的判断关系),并说明是按照哪条基本原则进行改进的。

解:下图为一个改进方案,将模块G的位置提高,使其作用范围为控制范围的子集,减少模块之间的联系。

4.根据下列条件使用等价类划分法设计测试用例。

某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065。

用等价划分法:(1)划分等价类并编号,如表1(2)(3)5.为提高软件的可理解性,可采取哪些措施?可理解性是指理解软件的结构、接口、功能和内部过程的难易程度。

提高软件可理解性的措施有:采用模块化的程序结构;书写详细正确的文档;采用结构化程序设计;书写源程序的内部文档;使用良好的编程语言;具有良好的程序设计风格。

6.什么是软件生存周期?它有哪几个活动?软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等。

软件工程导论第11章

22
【还可以把适配接口再进一步细分为转换接口和扩充接口。转换接口, 是为了克服与表示方法、数据结构或硬件特点相关的操作给重用带来 的困难而设计的,这类接口是每个类构件在重用时都必须重新定义的 服务的集合。当使用C++语言编程时,应该在根类(或适当的基类)中, 把属于转换接口的服务定义为纯虚函数。如果某个服务有多种可能的 实现算法,则应该把它当作扩充接口。扩充接口与转换接口不同,并 不需要强迫用户在派生类中重新定义它们,相反,如果在派生类中没 有给出扩充接口的新算法,则将继承父类中的算法。当用C++语言实现 时,在基类中把这类服务定义为普通的虚函数。】
4. 弱耦合 耦合:指一个软件结构内不同模块之间互连的紧 密程度。 在面向对象方法中,对象是最基本的模块,因此, 耦合主要指不同对象之间相互关联的紧密程度。 弱耦合是优秀设计的一个重要标准。
5
对象之间的耦合分为两大类: (1) 交互耦合: 对象之间的耦合通过消息连接来实现。 使交互耦合尽可能松散,应遵守下述准则: 尽量降低消息连接的复杂程度。 应该尽量减少消息中包含的参数个数,降低参数的复 杂程度。 减少对象发送(或接收)的消息数。 (2) 继承耦合 与交互耦合相反,应该提高继承耦合程度。 通过继承关系结合起来的基类和派生类,构成系统中 粒度更大的模块。设计时应该使特殊类尽量多继承并 使用其一般化类的属性和服务,从而更紧密地耦合到 其一般化类。
13
2. 软件成分的重用级别 (1) 代码重用 源代码剪贴:最原始的重用形式。 复制或修改原有代码时可能出错,存在严重的配臵 管理问题,人们几乎无法跟踪原始代码块多次修改 重用的过程。 源代码包含:许多程序设计语言都提供包含库中 源代码的机制。配臵管理问题有所缓解,修改了库 中源代码之后,所有包含它的程序自然都必须重新 编译。 继承:利用继承机制重用类库中的类时,无须修 改已有的代码,就可以扩充或具体化在库中找出的 类,基本上不存在配臵管理问题。

软件工程-软件测试

31
等价类划分法
• 等价类划分是把程序的输入域划分为若干子集,然后从每个子集中选取少 数具有代表性的数据用作测试用例,所选取的输入数据对于揭露程序中的 错误都是等效的。对于测试来说,某个等价类的代表值与该等价类的其他 值是等价的,因此可以把所有的输入数据划分为若干等价类,在每一个等 价类中取少部分数据进行测试。等价类分为有效等价类和无效等价类。
8
12.1.1 软件测试的原则
• 软件测试是为了发现错误而执行程序的过程,它并不可能找出所有的错 误,但是却可以减少潜在的错误或缺陷。人们在长期进行软件测试实践的 过程中,不断地总结出一些软件测试的经验或原则,可供我们参考。
• 完全测试是不可能的。 • 测试中存在风险。 • 软件测试只能表明缺陷的存在,而不能证明软件产品已经没有缺陷。 • 软件产品中潜在的错误数与已发现的错误数成正比。 • 让不同的测试人员参与到测试工作中。
27
软件测试方法
• 与静态测试不同的是,动态测试需要通过实际运行被测程序来发 现问题。测试人员可以输入一系列的测试用例,通过观察测试用例 的输出结果是否与预期相符来检验系统内潜在的问题或缺陷。 • 动态测试中有两种非常流行的测试技术,即黑盒测试和白盒测试。
28
12.5
被测试的软件系统看成是一个黑盒子,并不需要关心盒子的内部结构 和内部特性,而只关注软件产品的输入数据和输出结果,从而检查软件产品是否符合它的功能说明。 与黑盒测试不同,白盒测试关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的 盒子。
10
12.1.2 软件测试模型
软件测试模型是指软件测试全部过程、活动或任务的结构框架。通常情况下,一个软 件测试模型应该阐明的问题包括:测试时间、测试步骤、如何对测试进行计划、不同阶段 测试中应关注的测试对象、测试中应考虑的问题、测试目标等。

软件工程系统测试


判定-条件覆盖 条件组合覆盖 路径覆盖
软件测试技术示例
a 示例 b F
(A>1) and (B=0)
Tc
X = TX1 /A
d F (A=2) or (X>1) T e
需求分析阶段产生的软件需求规格说明书,准确地描 述了用户对软件的合理期望,因此是软件有效性的标 准,也是进行确认测试的基础。
确认测试( Alpha测试与Beta测试)
Alpha测试由用户在开发者的场所进行,并 且在开发者对用户的“指导”下进行测试。 Alpha测试是在受控的环境中进行的。
Beta测试由软件的最终用户们在一个或多个 客户场所进行。Beta测试是软件在开发者不能 控制的环境中的“真实”应用。
软件测试
软件测试基本概念 软件测试技术 实例
软件测试基本概念
什么是软件测试?目标是什么? 测试步骤 测试阶段信息流
软件测试的概念
1.软件测试是按照特定的规则,发现软件错误的 过程;
2.软件测试是对软件规格说明、设计和编码的最 后复审;
3.软件测试在软件生存周期中横跨两个阶段:模 块和单元测试在编码阶段,综合测试在独立的 测试阶段;
了程序的正确性.
软件测试与软件调试的区别
内容
软件测试
目的 从一个侧面证明程序员的失败;
方法 从已知条件开始,使用预先定义的程序, 且有预知的结果,不可预见的仅是程序是 否通过测试;
约束 有计划并且要进行测试设计; 过程 发现错误、改正错误、重新测试的过程;
方式 执行是有规程的;
测试 由独立的测试组在不了解软件设计的 人员 条件下完成;
2.设计非法输入用例。当有非法输入时,测试程序 是否能够拒绝接受那些非法输入并给出提示信息。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档