(完整版)软件测试工程师面试笔试题_第1页
(完整版)软件测试工程师面试笔试题_第2页
(完整版)软件测试工程师面试笔试题_第3页
(完整版)软件测试工程师面试笔试题_第4页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、判断题:1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性。( )2、 白盒测试侧重于程序结构,黑盒测试侧重于功能,其中白盒测试需要程序员参与,黑盒测试不需要 ( ×)3、单元测试通常应该先进行 “人工走查” ,再以白盒法为主, 辅以黑盒法进行动态测试。( )4、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试( ×)5、系统测试应尽可能在实际运行使用环境下进行( )6、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。( )7、测试人员在测试过程中发现一处问题,如

2、果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(× )8、程序、需求规格说明、设计规格说明都是软件测试的对象( )9、第三方测试是在开发方与用户方的测试基础上进行的验证测试(× )10、数据流图和数据字典共同构成系统的逻辑模型。( )1软件测试的目的是尽可能多的找出软件的缺陷。( Y)2 Beta 测试是验收测试的一种。( Y)3验收测试是由最终用户来实施的。( N)4项目立项前测试人员不需要提交任何工件。( Y)5单元测试能发现约80%的软件缺陷。 ( Y)6代码评审是检查源代码是否达到模块设计的要求。( N)7自底向上集成需要测试员编

3、写驱动程序。( Y)8负载测试是验证要检验的系统的能力最高能达到什么程度。( N)9测试人员要坚持原则,缺陷未修复完坚决不予通过。( N)10代码评审员一般由测试员担任。 ( N)11我们可以人为的使得软件不存在配置问题。( N)12集成测试计划在需求分析阶段末提交。( N)1. 为了提高测试效率,应该取一切可能的输入数据作为测试数据。( × )2. 发现错误多的程序模块,残留在模块中的错误也多。(× )4. 等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。( )5. 系统测试的目标是要找出软件在与系统其他部分协调工作时

4、出现的所有故障(×)1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(初级)( × )2、发现错误多的模块,残留在模块中的错误也多。( )(初级)3、测 试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。( × )(初级)4、单元测试通常应该先进行 “人工走查” ,再以白盒法为主,辅以黑盒法进行动态测试。 ( )5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( )6、软件质量管理即QM由 QA和 Q

5、C构成,软件测试属于QC的核心工作内容。 ()(高级)7、软件测试只能发现错误,但不能保证测试后的软件没有错误。( )8、软件就是程序。 (X)9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X)10、I18N 测试是指对产品做出具有国际性的规划,而L10N 测试则是指对软件做出符合本地需求更改工作。()【高级】选择题:1、软件测试的目的正确的是( D )测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试测试并不仅仅是为了找出错误. 通过分析错误产生的原因和错误的发生趋势, 可以

6、帮助项目管理者发现当前软件开发过程中的缺陷, 以便及时改进;A、B、C、D、2、软件测试的对象包括(B)A目标程序和相关文档BC 目标程序、操作系统和平台软件源程序、目标程序、数据及相关文档D源程序和目标程序3、从是否关心软件内部结构和具体实现的角度划分。(B)A、静态测试、动态测试B、黑盒测试、白盒测试、灰盒测试C、单元测试、集成测试、确认测试、系统测试、验收测试D、以上都不对4、关于软件测试模型,描述正确的是(C)A、 V 模型测试的对象就是程序本身,测试与开发可以同一阶段进行B、 W模型测试的对象是程序,需求、设计等,可以支持迭代的开发模型C、 H 模型软件测试过程活动完全独立,贯穿产品

7、整个生命周期, 与其他流程并发地进行。D、 X 模型是事先计划再进行测试。5、软件测试按实施组织分,测试应该包括以下的(A ) 开发方测试用户方测试第三方测试 验收测试确认测试ABC D 6、制定测试计划的步骤:(D)A、确定项目管理机制预计测试工作量测试计划评审B、确定测试范围确定测试策略确定测试标准、预计测试工作量C、确定测试构架确定项目管理机制预计测试工作量测试计划评审D、确定测试范围确定测试策略确定测试标准确定测试构架确定项目管理机制预计测试工作量测试计划评审7、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括(A)A配置项

8、标识、配置项控制、配置状态报告、配置审计B 配置基线确立、配置项控制、配置报告、配置审计C 配置项标识、配置项变更、配置审计、配置跟踪D 配置项标识、配置项控制、配置状态报告、配置跟踪8、某次程序调试没有出现预计的结果,下列(B )不可能是导致出错的原因。A、变量没有初始化B、编写的语句书写格式不规范C、循环控制出错D、代码输入有误9、下列关于程序效率的描述错误的是(B)。A、提高程序的执行速度可以提高程序的效率B、降低程序占用的存储空间可以提高程序的效率C、源程序的效率与详细设计阶段确定的算法的效率无关D、好的程序设计可以提高效率10、逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖

9、法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项或者 False) ,正确的选择是( A )。(True语句段:if (A && (B|C) x=l;else x=O;用例表:用例1用例2ATRUEFALSEBFALSECTRUEA &&(B|C)FALSEA TRUE FALSE TRUEB TRUE FALSE FALSEC FALSE FALSE TRUE11、程序设计语言中(DD TRUE TRUE FALSE)。A. while循环语句的执行效率比do-while循环语句的执行效率高B. while循

10、环语句的循环体执行次数比循环条件的判断次数多1 ,而do-while语句的循环体执行次数比循环条件的判断次数少1C. while语句的循环体执行次数比循环条件的判断次数少1 ,而do-while语句的循环体执行次数比循环条件的判断次数多1D. while语句的循环体执行次数比循环条件的判断次数少1 ,而do-while语句的循环体执行次数等于循环条件的判断次数12、 DB, DBMS 和 DBS 三者间的关系是(B)A DB 包括 DBMS 和 DBSB DBS 包括 DB 和 DBMSC DBMS 包括 DBS 和 DBD DBS 与 DB 、 DBMS 无关13在 TCP/IP 模型中,应

11、用层包含了所有的高层协议,在下列的一些应用协议中,B 是能够实现本地与远程主机之间的文件传输工作。A telnetB FTPC SNMPD NFS14、一个局域网中某台主机的IP地址为 2,使用22 位作为网络地址,那么该局域网的子网掩码和,最多可以连接的主机数分别为( B)A、 255 255 251 0 1021B、 255 255 252 0 1022C、 255 255 253 0 1023D、 255 255 254 0 102415、Linux 文件系统的文件都按其作用分门别类地放在相关的目录中,对于外部设备文件, 一般应将其放在(C )目录中。A /bin

12、B /etcC /devD /lib16、某公司采用的软件开发过程通过了CMM2认证,表明该公司( C) 。A.开发项目成效不稳定,管理混乱B. 对软件过程和产品质量建立了定量的质量目标C. 建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制D. 可集中精力采用新技术新方法,优化软件过程17、质量管理人员在安排时间进度时,为了能够从全局出发、抓住关键路径、统筹安排、集中力量,从而达到按时或提前完成计划的目标,可以使用(A活动网络图B 因果图A)。C优先矩阵图D 检查表18、某公司最近承接了一个大型信息系统项目,项目整体压力较大,对这个项目中的变更,可以使用(B)等方式提高效率

13、。分优先级处理规范处理整批处理分批处理A.B. C. D. 19、下面哪项工作是制订进度计划的基础:(A)A、工作分解结构(WBS)B、网络图C、甘特图( GANTT)D、资源平衡(RESOURCE LEVELLING)20、下面哪一方法通常不会被用来缩短进度? (D)A. 赶工B. 变更范围C. 以并行方式而不是序列方式来实施进行活动D. 资源平衡1软件验收测试的合格通过准则是:( ABCD)A软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B所有测试项没有残余一级、二级和三级错误。C立项审批表、需求分析文档、设计文档和编码实现一致。D验收测试工件齐全。2软件测试计划评审

14、会需要哪些人员参加?(ABCD)A项目经理B SQA 负责人C配置负责人D测试组3下列关于alpha测试的描述中正确的是:( AD)A alpha测试需要用户代表参加B alpha测试不需要用户代表参加C alpha测试是系统测试的一种D alpha测试是验收测试的一种4测试设计员的职责有:( BC)A制定测试计划B设计测试用例C设计测试过程、脚本D评估测试活动5软件实施活动的进入准则是:( ABC)A需求工件已经被基线化B详细设计工件已经被基线化C构架工件已经被基线化D项目阶段成果已经被基线化1. 下面说法正确的是(C)。A. 经过测试没有发现错误说明程序正确B. 测试的目标是为了证明程序没

15、有错误C. 成功的测试是发现了迄今尚未发现的错误的测试D. 成功的测试是没有发现错误的测试2.不属于白盒测试的技术是( C) 。A.语句覆盖B.判定覆盖C. 边界值分析D. 基本路径测试3.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(A )。A.系统功能B. 局部数据结构C. 重要的执行路径D. 错误处理4.软件测试过程中的集成测试主要是为了发现(B)阶段的错误。A.需求分析B. 概要分析C. 详细设计D. 编码5.软件测试不需要了解软件设计的( D)。A. 功能B. 内部结构C. 处理过程D. 条件6.( C)方法根据输出对输入的依赖关系设计测试用例。A. 路径测试B

16、. 等价类 C. 因果图 D. 边界值分析7.通常,在(D)的基础上,将所有模块按照设计要求组装成系统A. 组装测试B. 系统测试C. 验收测试D. 单元测试8.实际的逻辑覆盖测试中,一般以(C)为主设计测试用例。A.条件覆盖B. 判定覆盖C. 条件组合覆盖D.路径覆盖9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A. 程序内部逻辑B. 程序的复杂度C. 使用说明书D. 程序的功能10. 与设计测试用例无关的文档是(A)。A. 项目开发计划B. 需求规格说明书C. 设计说明书D. 源程序11、软件测试技术可以分为静态测试和动态测试,下列说法中错误的是(D )A. 静态测试是

17、指不运行实际程序,通过检查和阅读等手段来发现程序中的错误。B. 动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。C. 动态测试包括黑盒测试和白盒测试。D. 白盒测试是静态测试,黑盒测试是动态测试。12、在软件测试阶段,测试步骤按次序可以划分为以下几步:( A)A. 单元测试、集成测试、系统测试、验收测试B. 验收测试、单元测试、系统测试、集成测试C. 单元测试、集成测试、验收测试、系统测试D. 系统测试、单元测试、集成测试、验收测试13、系统测试中主要用到的测试技术是(B )A.回归测试B.黑盒测试C.白盒测试D.功能测试14、对软件的性能测试、( B )测试、攻击测试都属于黑盒测

18、试。A.语句B.功能C.单元D.路径15、在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖等,在下列覆盖中,( D )是最强的覆盖准则。-A.语句覆盖B.条件覆盖C.判定 - 条件覆盖D.路径覆盖16、验收测试主要是由(A )来完成的。A.用户B.测试人员C.开发人员D.高级经理17、在用白盒测试中的逻辑覆盖法设计测试用例时,有语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖和路径覆盖等,其中(A )是最弱的覆盖准则。A.语句覆盖B.条件覆盖C.判定 - 条件覆盖D.路径覆盖18、下面是一段求最大值的程序,其中datali

19、st是数据表,n 是datalist的长度。int GetMax(int n, int datalist )int k=0;for ( int j=1; j<n; j+ )if ( datalistj > datalistk ) k=j;return k;A. 2请问该程序段的 B.3 C.4McCabe环路复杂性为多少?( D. 5A)1、进行软件质量管理的重要性有:( ABCD)【中级】A、维护降低成本B 、法律上的要求C 、市场竞争的需要D、质量标准化的趋势E 、软件工程的需要F 、 CMM过程的一部分G、方便与客户进一步沟通为后期的实施打好基础2、以测试的形态分测试可以分为

20、:( ABC)【中级】A、建构性测试B 、系统测试C 、专项测试D、单元测试E 、组件测试F 、集成测试3、选出属于黑盒测试方法的选项(ABC)【初级】A、测试用例覆盖B 、输入覆盖C 、输出覆盖D、分支覆盖E 、语句覆盖F 、条件覆盖4、编写测试计划的目的是:( ABC)【中级】A、使测试工作顺利进行B 、使项目参与人员沟通更舒畅C 、使测试工作更加系统化D、软件工程以及软件过程的需要E 、软件过程规范化的要求F 、控制软件质量5、依存关系有4 种分别是:( ABCD)【高级】A、开始结束B 、开始开始C 、结束开始D、结束结束E 、开始实施结束F 、结束审核开始6、软件质量管理(QM)应有

21、质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:( ABC)【高级】A、测试 B 、跟踪C 、监督D、制定计划E 、需求审查F 、程序代码审查7、实施缺陷跟踪的目的是:( ABCD)【中级】A、软件质量无法控制B 、问题无法量化C 、重复问题接连产生D、解决问题的知识无法保留E 、确保缺陷得到解决F 、使问题形成完整的闭环处理8、使用软件测试工具的目的:( ABC)【中级】A、帮助测试寻找问题B 、协助问题的诊断C 、节省测试时间D、提高Bug 的发现率E 、更好的控制缺陷提高软件质量F 、更好的协助开发人员9、典型的瀑布模型的四个阶段是:( ABCD)【高级】A、分析 B 、

22、设计C 、编码D、测试 E 、需求调研F 、实施10 、PSP是指鋈巳砑?,是一种可用于(A)、( B)和( C)个人软件工作方式的自我改善过程。 【高级】A、控制 B 、管理 C 、改进D、高效 E 、充分 F 、适宜三、填空题(每空1 分,共 10 分)共 10 空1、黑盒测试是功能测试,用黑盒技术设计测试用例有4 种方法:(等价类划分) (边界值分析)( 错误推测)( 因果图)。2、实际的逻辑覆盖测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到 (路径)覆盖测试标准。3、集成测试的方法有两种:渐增式测试和(非渐增式测试)。4、软件测试过程中需要3 类信息:软件配置、

23、 (测试配置) 和 ( 测试工具)。5、 SCM是一组管理整个软件生存期各阶段中(变更)的活动。6、基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个( 检查点)。1. 软件验收测试包括:正式验收测试,alpha测试, beta 测试。2. 系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15 就满分哦)3. 设计系统测试计划需 要参考的项目文挡有:软件测试计划,

24、软件需求工件和迭代计划。4. 对面向过程的系统采用的 集成策略有:自顶向下,自底向上两种。5. (这题出的有问题哦,详细的5 步骤为 )通过画因果图来写测试用例的步骤为:(1)分析软件规格说明描述中, 哪些是原因 (即输入条件或输入条件的等价类) ,哪些是结果 (即输出条件),并给每个原因和结果赋予一个标识符。( 2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系? 根据这些关系,画出因果图。( 3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。( 4)把因果图转换成判定

25、表。( 5)把判定表的每一列拿出来作为依据,设计测试用例。1.软件测试是为了尽 可能多地发现软件中存在的_ 错误 _,将 _ 测试结果 _作为纠错的依据。2.白盒测试中, 控制流测试是面向程序的_ 结构 _ ,数据流测试是面向程序的变量 _。3. 集成测试中 的两种集成模式是 _非增量测试模式 _和 _增量测试模式 _。4. 单元测试的 依据是 _ 详细设计说明书 _和 _源程序 _ 。5. 测试用例由 _输入数据 _和预期的 _输出数据 _两部分组成。四、简答 (资料是搜集整理的,感谢前辈的解题)无1. 区别阶段评审的与同行评审同行评审目的: 发现小规模工作产品的错误, 只要是找错误 ;阶段

26、评审目的: 评审模块阶段作品的正确性可行性 及完整性同行评审人数:3-7 人 人员必须经过同行评审会议的培训, 由 SQA指导阶段评审人数:5 人左右评审人必须是专家具有系统评审资格同行评审内容: 内容小一般文档 < 40 页,代码 < 500行阶段评审内容: 内容多 , 主要看重点同行评审时间: 一小部分工作产品完成阶段评审时间:通常是设置在关键路径的时间点上!2. 什么是软件测试为了发现程序中的错误而执行程序的过程3 简述集成测试的过程系统集成测试主要包括以下过程:1. 构建的确认过程。2. 补丁的确认过程。3. 系统集成测试测试组提交过程。4. 测试用例设计过程。5. 测试代

27、码编写过程。6. Bug 的报告过程。7. 每周 / 每两周的构建过程。8. 点对点的测试过程。9. 组内培训过程。4 怎么做好文档测试仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142检查文档的编写是否满足文档编写的目的内容是否齐全,正确内容是否完善标记是否正确5 白盒测试有几种方法总体上分为静态方法和动态方法两大类。静态:关键功能是检查软件的表示和描述是否一致, 没有冲突或者没有歧义动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。6 系统测试计划是否需要同行审批,为什么需要,系统测试计划属于项目阶段性关键文档,因此需要评审。7Alpha 测试与 beta

28、 的区别Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。Beta 测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。8 比较负载测试,容量测试和强度测试的区别负载测试:在一定的工作负荷下,系统的负荷及响应时间。强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。容量测试: 容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),

29、系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。12. 测试结束的标准是什么?用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准13. 描述软件测试活动的生命周期?测试周期分为计划、设计、实现、执行、总结。其中:计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;设计:完成测试方案,从技术层面上对测试进行规划;实现:进

30、行测试用例和测试规程设计;执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。总结:记录测试结果,进行测试分析,完成测试报告。14. 软件的缺陷等级应如何划分?A 类严重错误, 包括以下各种错误:1 由于程序所引起的死机, 非法退出2 死循环 3 数据库发生死锁 4 因错误操作导致的程序中断5 功能错误 6 与数据库连接错误7 数据通讯错误B 类较严重错误,包括以下各种错误:1 程序错误 2 程序接口错误3 数据库的表、业务规则、缺省值未加完整性等约束条件C 类一般性错误,包括以下各种错误:1 操作界面错误(包括数据窗口内列名定义、含义是否一致) 2 打印内容、格式错误3 简单的输

31、入限制未放在前台进行控制4 删除操作未给出提示 5 数据库表中有过多的空字段D 类较小错误,包括以下各种错误:1 界面不规范 2 辅助说明描述不清楚3 输入输出不规范 4 长操作未给用户提示5 提示窗口文字未采用行业术语6 可输入区域和只读区域没有明显的区分标志15. 进程和程序的区别 :(1)进程就是一个活跃着的程序, 即: 已经被放入了系统调度队列当中了, 占有了一定的系统资源的程序 . 程序在没有被调用之前只能叫程序, 被调用并得到了资源后就可以称其为进程了, 进程可以由许多线程组成 , 线程与进程的主要区别在于同一进程里的线程之间可以共享一些临界资源,而进程之间则不可以, 每个进程是孤

32、立的, 其实 , 无论是进程还是线程都是一段受命并在内存中得到执行的代码 .(2)进程的定义是: 一个程序关于某个数据集的一次运行活动。进程是操作系统中可以并行工作的基本单位,也是核心调度及资源分配的最小单位。进程是程序关于数据的一次运行,因而它包含一个或多个程序及数据。除此之外, 进程描述还包含一些进程的有关情况和属性信息,例如执行情况、 资源使用情况。 为了便于操作系统对进程进行控制和管理, 通常操作系统用一个称为进程控制块PCB的数据结构来记录进程的属性信息。所以进程由程序、数据和进程控制块组成。PCB是进程存在的唯一标志。也就是说系统在建立进程的同时就建立该进程的PCB,在撤销一个进程

33、时也就撤销其PCB。进程与程序的区别表现为以下几方面。(1) 程序是静态的,进程是动态的。因为程序是一组指令的有序集合而进程是一次运行活动。而且进程在它的生命周期中要经历3种基本状态:等待、就绪、运行。这是程序所没有的。(2) 程序的存在是永久的,进程的存在是暂时的。进程是一次运行活动,必然有始有终,所以它的存在是暂时的。(3) 进程由程序、数据和进程控制块组成。由于进程是程序的执行,所以进程中必然包括程序和数据及记录进程状态信息的进程控制块。(4) 一个程序可以对应多个进程。例如:多个Fortran源程序可能同时用编译程序进行编译,即一个编译程序对应多个Frotran源进程。(5) 一个进程

34、可以包括多个程序。因为主程序执行过程中可以调用多个其他程序,共同组成“一次运行活动”。16. 进程与线程的异同说法一:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体, 是 CPU 调度和分派的基本单位, 它是比进程更小的能独立运行的基本单位 . 线程自己基本上不拥有系统资源, 只拥有一点在运行中必不可少的资源( 如程序计数器, 一组寄存器和栈 ), 但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程; 同一个进程中的多个线程之间可以并发执行说法二: 进程和线程都是由操作系

35、统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之 , 一个程序至少有一个进程, 一个进程至少有一个线程 .线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中, 由应用程序提供多个线程执行控制。从逻辑角度来看, 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的

36、应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。说法三:多线程共存于应用程序中是现代操作系统中的基本特征和重要标志。用过UNIX 操作系统的读者知道进程,在UNIX 操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志, 操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢? 进程和线程都是由操作系统所所有的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:线程的划分尺度小于进程,使得多线程程序的并发性搞。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运

37、行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。进程( Process )是最初定义在Unix 等多用户、 多任务操作系统环境下用于表示应用程序在内存环境中基本执行单元的概念。以Unix 操作系统为例,进程是Unix 操作系统环境中的基本成分、是系统资源分配的基本单位。Unix

38、操作系统中完成的几乎所有用户管理和资源分配等工作都是通过操作系统对应用程序进程的控制来实现的。简答1. 为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网?软件测试是软件开发中不可缺少的重要一环,原因是: 测试的工作量约占整个项目开发工作量的53%87%左右,如果是关系到人的生命安全的软件,测试的工作量还要更大。软件测试是对软件需求分析、设计规格说明、编码的最终复审,是软件质量保证的关键步骤。但软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。2. 请描述静态测试和动态测试的区别。是否运行程序。静态测试是不运行被测试程序,对代码通过检查、阅读

39、进行分析。动态测试是真正运行被测程序, 在执行过程中, 通过输入有效的测试用例对其输入与输出的对应关系进行分析。3. 单个组件经过代码审查和测试,其有效性已经得到了全面验证,请解释为什么仍然需要进行集成测试。单个组件正常工作并不意味着所有组件集成在一起可以正常工作, 因为组件相互连接时接口会引起许多新问题, 集成测试正是将通过单元测试的各个组件组装在一起进行综合测试, 以便发现与接口有关的各种错误。2、请画出软件测试过程V 模型,并写出采用V 模型存在的问题(5 分)答: 1) V 模型图2)采用 V 模型存在问题: . 测试是开发之后的一个阶段。. 测试的对象就是程序本身。 实际应用中容易导

40、致需求阶段的错误一直到最后系统测试阶段才被发现。 整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的, 如果任何一个环节出了问题, 则必将严重的影响整个工程的质量和预期进度。3、软件测试的原则,这些原则能更好的理解和指导我们做测试工作,请把你所知道的原则详细列出来。( 5 分)答: 1、测试可以显示缺陷的存在,但不能证明系统不存在缺陷。2、穷尽测试是不可能的3、测试的尽早介入(越晚发现一个bug, 修改 bug 成本成倍增加) 。4、第三方或独立的测试团队。5、测试的标准是用户的需求6、尽早定义产品的质量标准(测试用例应包括明确的输入和输出,

41、做到有的放矢)7、用例全面(有效数据、无效数据)8、及时更新测试用例,减少测试人员形成定势思维(杀虫剂悖论:杀虫剂用得多了,害虫就有免疫力,杀虫剂就发挥不了效力)9、严格执行测试计划,排除测试的随意性。10、充分注意测试中的群集现象,80%的错误集中在20%的程序模块中。11、应当对每一个测试结果做全面检查。12、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。13、测试贯穿于整个生命周期4、 CMM由低至高共分为5 个级别是什么?并简述每级基本特征。( 5 分)答: CMM由低至高共分为5 个级别:初始级、可重复级、定义级、管理级和优化级CMM五级基本特征:CMM 一级,初始级:个别的,混乱的过程,几乎没有定义过程的规则或步骤;CMM二级,可重复级:已建立的必要过程准则,但主要过程依赖于个人经验;CMM三级,定义级:量化的已定义且制度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论