软件测试工程师笔试题及答案
- 格式:docx
- 大小:17.45 KB
- 文档页数:11
软件测试复习题(附答案)一、单选题(共100题,每题1分,共100分)1.( )的优点是:对控制流程描述直观,便于初学者掌握。
A、盒图B、程序流程图C、PAD图D、判定表正确答案:B2.软件项目可行性分析的研究内容包括:技术可行性、经济可行性、运行可行性以及( )等。
A、环境可行性B、人员可行性C、法律可行性D、时间可行性正确答案:C3.( )是结构化系统分析的基本工具。
A、程序流程图B、对话图C、数据流图D、状态转化图正确答案:C4.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C5.( )是网络的核心,它的主要任务是为网络上的其它机器提供服务。
A、客户机B、服务器C、网络协议D、工作站正确答案:B6.虚拟机好似通用的计算机,有自己的指令系统,但本身没有( )。
A、翻译指令B、操作系统C、实际的硬件D、翻译程序正确答案:C7.所有的( )必须与业务需求一致。
A、用户需求B、系统需求C、产品需求D、功能需求正确答案:A8.软件测试是软件质量保证的重要手段()是软件测试的最基础环节A、单元测试B、验收测试C、确认测试D、系统测试正确答案:A9.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、路径覆盖B、判定覆盖C、条件组合覆盖D、条件覆盖正确答案:B10.下列有关测试说法中,正确的是()A、测试组的测试工作是在编码阶段开始的B、静态测试是不运行被测程序本身,而寻找程序代码中可能存在的错误或评估程序代码的过程C、所有的测试都适合引入测试工具辅助进行测试D、只要进行有效的测试,就能获得高质量的软件产品正确答案:B11.( )除提供身份证明外,还可指出所签的文档是否已被修改。
A、公开密钥B、传统签名C、私有密钥D、数字签名正确答案:D12.以下不用于单机版系统测试的是()。
东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
以下是收集的最新的软件测试工程师题目,希望对大家有帮助。
一、判断题1.软件测试的目的是尽可能多的找出软件的缺陷。
(Y)2.Beta测试是验收测试的一种。
(Y)3.验收测试是由最终用户来实施的。
(N)4.项目立项前测试人员不需要提交任何工件.(Y)5.单元测试能发现约80%的软件缺陷.(Y)6.代码评审是检查源代码是否达到模块设计的要求.(N)7.自底向上集成需要测试员编写驱动程序。
(Y)8.负载测试是验证要检验的系统的能力最高能达到什么程度。
(N)9.测试人员要坚持原则,缺陷未修复完坚决不予通过。
(N)10.代码评审员一般由测试员担任.(N)11.我们可以人为的使得软件不存在配置问题。
(N)12.集成测试计划在需求分析阶段末提交。
(N)二、选择题1.软件验收测试的合格通过准则是:(ABCD)A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求. B.所有测试项没有残余一级、二级和三级错误.C.立项审批表、需求分析文档、设计文档和编码实现一致.D.验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?(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.项目阶段成果已经被基线化6、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括_A_____A.配置项标识、配置项控制、配置状态报告、配置审计B.配置基线确立、配置项控制、配置报告、配置审计C.配置项标识、配置项变更、配置审计、配置跟踪D.配置项标识、配置项控制、配置状态报告、配置跟踪7、__B____方法根据输出对输入的依赖关系设计测试用例。
2025年招聘测试工程师笔试题与参考答案(某大型央企)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个软件测试方法主要用于检测软件的可用性和用户体验?A、单元测试B、集成测试C、系统测试D、验收测试2、在软件测试过程中,以下哪个阶段通常由用户或客户参与?A、测试设计B、测试执行C、测试报告D、测试计划3、题干:以下哪个选项不属于软件测试的生命周期阶段?A、需求分析B、设计测试用例C、执行测试D、测试报告编写4、题干:在黑盒测试中,以下哪种测试方法不涉及对软件内部结构的测试?A、等价类划分B、边界值分析C、错误推测D、代码审查5、在软件测试过程中,以下哪种缺陷分类属于静态测试?A. 功能缺陷B. 性能缺陷C. 界面缺陷D. 逻辑缺陷6、以下关于软件测试用例设计方法的描述,错误的是:A. 黑盒测试用例设计方法包括等价类划分法、边界值分析法等。
B. 白盒测试用例设计方法包括路径覆盖法、语句覆盖法等。
C. 测试用例设计应该尽可能覆盖更多的代码路径。
D. 测试用例设计过程中,可以忽略边界值和异常值。
7、在测试过程中,以下哪项不是测试用例设计的关键要素?A、测试输入B、测试预期结果C、测试执行时间D、测试优先级8、以下关于自动化测试的优点,哪项是不正确的?A、提高测试效率B、减少人工干预C、保证测试覆盖率D、降低测试成本9、某大型央企在进行软件测试时,采用了以下哪些测试方法?(多选)A. 单元测试B. 集成测试C. 系统测试D. 验收测试E. 性能测试 10、在测试过程中,以下哪项属于静态测试?()A. 功能测试B. 性能测试C. 等价类划分D. 代码审查二、多项选择题(本大题有10小题,每小题4分,共40分)1、题干:以下哪些技术或工具是测试工程师在自动化测试过程中常用的?()A、SeleniumB、JMeterC、PostmanD、CucumberE、Git2、题干:以下哪些测试类型属于性能测试的范畴?()A、功能测试B、压力测试C、负载测试D、回归测试E、稳定性测试3、以下哪些是测试工程师常用的测试工具?()A、JMeterB、SeleniumC、LoadRunnerD、PostmanE、SQL Server Management Studio4、以下哪些属于软件测试的生命周期?()A、需求分析B、测试计划C、测试设计D、测试执行E、测试报告5、在软件测试过程中,下列哪些阶段需要制定测试计划?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段E. 上线后维护阶段6、下列哪些是黑盒测试的优点?A. 可以发现界面错误B. 不需要了解内部逻辑结构C. 可以验证程序是否符合用户需求D. 能够测试程序内部结构是否正确E. 容易编写自动化测试脚本7、以下哪些技术或工具是测试工程师在自动化测试中常用的?()A. SeleniumB. JMeterC. PostmanD. AppiumE. Jenkins8、以下哪些是软件测试的生命周期阶段?()A. 需求分析B. 设计C. 编码D. 测试E. 维护9、以下哪些工具或技术通常用于自动化测试?()A. SeleniumB. AppiumC. JMeterD. PostmanE. JUnit 10、以下哪些测试方法属于黑盒测试?()A. 回归测试B. 等价类划分C. 冒烟测试D. 灰盒测试E. 负载测试三、判断题(本大题有10小题,每小题2分,共20分)1、在软件测试过程中,发现的缺陷越多,说明软件中遗留的缺陷越少。
招聘测试工程师笔试题与参考答案(某世界500强集团)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是测试工程师常用的软件测试方法?()A、黑盒测试B、白盒测试C、灰盒测试D、灰盒审查答案:D解析:测试工程师常用的软件测试方法包括黑盒测试、白盒测试和灰盒测试。
灰盒审查并不是一个标准的软件测试方法,它通常指的是一种介于黑盒测试和白盒测试之间的测试方法,但并不是一个独立的测试方法名称。
因此,选项D是正确答案。
2、在软件测试中,以下哪种缺陷通常是由外部因素引起的?()A、输入错误B、内存泄漏C、性能瓶颈D、外部接口错误答案:D解析:输入错误通常是由用户操作不当引起的,内存泄漏和性能瓶颈通常是由程序设计或实现问题引起的。
而外部接口错误则是由外部系统或接口引起的,比如与外部服务通信时的问题。
因此,选项D是正确答案。
3、以下哪种方法不属于白盒测试的分类?A、静态测试B、动态测试C、灰盒测试D、黑盒测试答案:D解析:黑盒测试属于黑盒测试的范畴,而白盒测试则关注于代码内部结构。
白盒测试的方法主要包括静态测试、动态测试和灰盒测试。
黑盒测试主要关注软件的功能实现,而不关心其内部实现细节。
因此,选项D不属于白盒测试的分类。
4、在软件测试过程中,以下哪个阶段最容易出现回归测试?A、需求分析阶段B、设计阶段C、编码阶段D、测试阶段答案:D解析:回归测试是在软件修改或添加新功能后,为了验证原有功能仍然正常工作而进行的测试。
在软件开发的测试阶段,特别是修改或添加新功能后,最容易出现回归测试,因为此时需要确保软件的整体稳定性和功能正确性。
因此,选项D是正确答案。
其他选项阶段相对较少涉及对原有功能的验证。
5、以下关于软件测试的生命周期,哪个阶段是确定测试需求和设计测试用例的阶段?A. 测试计划阶段B. 测试需求分析阶段C. 测试执行阶段D. 测试评估阶段答案:B解析:测试需求分析阶段是软件测试生命周期中的一个重要阶段,主要是确定测试需求,即明确哪些功能需要测试,哪些不需要测试,并在此基础上设计相应的测试用例。
软件测试笔试题及答案一、选择题1. 下列哪项不属于软件测试的目标?a) 发现软件中的缺陷b) 验证软件是否满足需求c) 确保软件具有高性能d) 提高软件的可靠性答案:c) 确保软件具有高性能2. 在测试活动中,以下哪个过程通常位于最后?a) 单元测试b) 验收测试c) 回归测试d) 静态测试答案:b) 验收测试3. 在软件测试中,猴子测试是指什么?a) 随机输入测试b) 随机点击测试c) 随机操作测试d) 随机接口测试答案:a) 随机输入测试4. 以下哪个是黑盒测试技术?a) 语句覆盖测试b) 边界值分析测试c) 静态代码分析d) 回归测试答案:b) 边界值分析测试5. 在软件测试中,白盒测试是指什么?a) 只测试软件的外部功能b) 只测试软件的内部逻辑c) 组合黑盒和白盒测试的方法d) 只测试软件的用户界面答案:b) 只测试软件的内部逻辑二、填空题1. 简述软件测试的目标。
答案:软件测试的目标是发现软件中的缺陷、验证软件是否满足需求、提高软件的可靠性。
2. 请简要说明单元测试的作用。
答案:单元测试主要是测试软件中的最小单元模块,以确认每个模块都能正常运行且满足预期。
它有助于提早发现和修复代码错误,避免错误在整个系统中扩散。
3. 请解释回归测试的含义。
答案:回归测试是指在软件发生变化后,重新执行旧的测试用例,以确保修改不会影响原有的功能和系统稳定性。
它有助于保证系统在修改后仍能正常工作,不引入新的问题。
三、解答题1. 请简要介绍一下常用的软件测试方法。
答案:常用的软件测试方法包括黑盒测试和白盒测试。
黑盒测试主要关注软件的外部功能,不考虑内部逻辑,通过输入合法和非法数据来测试软件的响应和输出是否符合预期。
而白盒测试则关注软件的内部逻辑,通过检查代码覆盖率和执行路径来验证软件的正确性。
2. 简要描述一下软件测试生命周期中的各个阶段。
答案:软件测试生命周期包括需求分析、测试计划、测试设计、测试执行和测试评估。
软件测试招聘笔试面试(附答案)一. 单项选择题:1.白盒测试是根据程序的____来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。
(D )(A)内部流程(B)内部接口(C)内部数据(D)内部逻辑2.冒烟测试的主要目的是?(B )(A)确认可进行后续的正式测试工作(B)确认软件基本的功能正常(C)确认接口返回值是否正确(D)确认正向和逆向流程是否通过3.接口测试可以测试哪些范围?(多选题)(ACDF )(A)性能(B)兼容性(C)业务逻辑(D)自动化(E)UI测试(F)输入框4. 什么样的模型需要开发和测试同步推进?(D )(A)瀑布模型(B) 敏捷模型(C)螺旋模型(D) W模型5.接口测试的目的是?(多选题)(AD )(A)减少缺陷修复成本(B) 提升软件安全性(C)发现比系统测试更多的错误(D) 提高测试效率6.下列对移动端测试说法错误的是(D )(A)移动端兼容性测试没有工具(B)IOS和安卓需要单独分开测试(C)移动端能够实现PC端无法实现的功能(D)移动端软件逻辑比PC端更复杂7.一个程序中所含有的路径数与____有着直接的关系。
(A )(A)程序的复杂程度(B) 程序的代码行数(C)程序模块数(D)程序指令执行时间8.动态黑盒子测试是指?(D )(A)直接测试底层功能、过程、子程序和库(B)可估算执行测试时代码量和具体代码(C)从软件获得读取变量和状态信息的访问(D)测试的是软件在使用过程中的实际行为9.在自底向上测试中,要编写称为____的模块来测验正在测试的模块。
(B )(A) 测试存根(B) 测试驱动模块(C)桩模块(D) 底层模块10.性能测试的方法有哪些?(多选题)(ABD )(A)压力测试(B)负载测试(C)数据恢复测试(D)稳定性测试11.配置测试(C )(A) 是指检查软件之间是否正确交互和共享信息(B) 是交互适应性、实用性和有效性的集中体现(C)是指使用各种硬件来测试软件操作的过程(D) 检查缺陷是否有效改正12.下列各项中___不是一个测试计划所应包含的内容B )(A)测试资源、进度安排(B)测试预期输出(C)测试范围(D)测试策略13.软件测试应当从什么阶段开始介入?(D )(A)单元测试阶段(B)集成测试阶段(C)系统测试阶段(D)需求分析阶段14.OSI协议体系结构的层级划分正确顺序是(D )(A)物理层-数据链路层-网络层-会话层-传输层-表示层-应用层(B)物理层-数据链路层-传输层-网络层-会话层-表示层-应用层(C)物理层-数据链路层-会话层-网络层-传输层-表示层-应用层(D)物理层-数据链路层-网络层-传输层-会话层-表示层-应用层15.一个项目上线后出现严重BUG时,我们应该怎么做?(E )(A)沉着冷静,查找记录中是否提交过这个BUG,并且是否通过了确认测试。
软件测试笔试题及答案一、选择题1. 软件测试的目的是()。
A. 证明软件的正确性B. 发现并修复软件的缺陷C. 增加软件的功能D. 减少软件的性能开销答案:B2. 下列哪个测试方法是黑盒测试?()。
A. 语句覆盖B. 条件覆盖C. 路径覆盖D. 边界值分析答案:D3. 在软件测试中,回归测试的目的是()。
A. 测试软件的新功能B. 确保修改引起的问题C. 验证软件修改后的版本D. 测试软件的性能答案:C4. 单元测试通常由谁来完成?()。
A. 项目经理B. 开发人员C. 测试人员D. 用户答案:B5. 测试用例是()。
A. 用于执行测试的代码B. 一组测试输入、执行条件以及预期结果C. 软件测试工具D. 软件缺陷报告答案:B二、判断题1. 集成测试是在单元测试之后进行的。
(正确)2. 测试计划是测试过程中最不重要的文档。
(错误)3. 所有的软件缺陷都必须立即修复。
(错误)4. 测试覆盖率是一个衡量测试完整性的指标。
(正确)5. 静态测试不涉及实际运行代码。
(正确)三、简答题1. 请简述黑盒测试和白盒测试的区别。
答:黑盒测试是一种测试方法,它主要关注软件的功能需求,而不关心内部结构或代码。
测试人员像用户一样使用软件,检查功能是否按预期工作。
白盒测试则关注软件内部逻辑和代码结构,测试人员需要了解程序的内部工作原理,通过设计测试用例来检查代码的正确性和完整性。
2. 描述软件测试的生命周期。
答:软件测试生命周期(STLC)包括了从测试计划的制定到测试活动的结束的整个过程。
它通常包括以下阶段:测试计划、测试准备、测试执行、测试跟踪和控制、测试报告以及测试维护。
在这个周期中,测试团队会计划测试活动、设计和执行测试用例、记录和报告测试结果,并对发现的缺陷进行跟踪,直到它们被修复。
3. 什么是缺陷生命周期?请描述它的主要阶段。
答:缺陷生命周期是指软件缺陷从被发现到被修复并重新验证的整个过程。
它的主要阶段包括:新建、确认、分配、修复、重新验证和关闭。
软件测试试题及答案答案一、单项选择题(每题2分,共10分)1. 软件测试的目的是:A. 证明软件无缺陷B. 证明软件存在缺陷C. 证明软件符合需求规格D. 证明软件符合设计规格答案:B2. 黑盒测试的主要依据是:A. 程序内部逻辑B. 程序外部特性C. 程序数据结构D. 程序运行环境答案:B3. 以下哪个不是软件测试的阶段?A. 单元测试B. 集成测试C. 系统测试D. 维护测试答案:D4. 软件测试中,测试用例的主要目的是:A. 验证软件功能B. 验证软件性能C. 验证软件安全性D. 所有选项答案:D5. 以下哪个不是软件测试的类型?A. 功能测试B. 性能测试C. 压力测试D. 需求测试答案:D二、多项选择题(每题3分,共15分)1. 软件测试过程中可能遇到的问题包括:A. 缺陷B. 错误C. 故障D. 风险答案:ABCD2. 软件测试的基本原则包括:A. 测试显示存在缺陷B. 测试不能证明不存在缺陷C. 穷尽测试是不可能的D. 早期测试答案:ABCD3. 软件测试的目的是:A. 验证软件符合需求B. 验证软件符合设计C. 验证软件符合实现D. 验证软件符合标准答案:ABD4. 以下哪些是软件测试的方法?A. 静态测试B. 动态测试C. 黑盒测试D. 白盒测试答案:ABCD5. 软件测试的文档通常包括:A. 测试计划B. 测试用例C. 测试报告D. 用户手册答案:ABC三、判断题(每题1分,共10分)1. 软件测试可以完全替代用户测试。
(错误)2. 软件测试的目的是发现尽可能多的缺陷。
(正确)3. 软件测试可以在软件开发过程的任何阶段进行。
(正确)4. 软件测试可以提高软件的可靠性。
(正确)5. 软件测试可以降低软件维护的成本。
(正确)6. 软件测试可以证明软件没有缺陷。
(错误)7. 软件测试只能发现软件中的错误。
(错误)8. 软件测试可以提高用户对软件的满意度。
(正确)9. 软件测试可以减少软件的缺陷。
软件测试工程师笔试题及答案【篇一:软件测试工程师面试试题和题目的答案】测试人员,测试过程也不规范,对于没有做过测试的人来讲还是有些难度的。
01.为什么要在一个团队中开展软件测试工作?保证软件质量的最后一道关口。
02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)易用性测试-界面的友好性,操作方便性等。
功能测试-系统中功能性需求的满足安全性测试-系统是否存在安全隐患和漏洞性能测试-系统在大并发下的响应速度和健壮性04.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。
集成测试:模块或模块直接的集成接口测试,单个模块测试系统测试:一个完整功能的完全测试。
05.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?提前安排出测试工具选择,测试类型选择,人员需求,保证和项目开发协调一致,保证测试工作顺利进行。
06.您认为做好测试计划工作的关键是什么?了解项目或系统的业务需求和项目经理协调好,了解项目的进度计划安排情况07.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
边界值/等价类/业务流程图分析和状态转换分析/业务逻辑分析08.您认为做好测试用例设计工作的关键是什么?对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计09.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。
评审计划-预审-评审;评审内容主要是测试用例对软件需求的覆盖程度,对于相关边界是否考虑,是否针对复杂流程准备多套测试数据,是否有专门针对非功能性需求的测试。
10.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
制订计划-选择测试功能-选择测试工具-录制脚本-运行测试-分析结果 11.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
微软was,loadrunner12.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?关键是测试脚本的录制,测试时候测试环境的干净。
13.在您以往的工作中,一条软件缺陷(或者叫bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(bug)记录?缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现14.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(bug)的管理?如果有,请结合该工具描述软件缺陷(bug)跟踪管理的流程。
cq,也可以使用bugfree等免费工具。
15.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?【篇二:华为软件测试工程师笔试题及部分答案】结构图?osi的七层网络结构图,和tcp/ip的五层结构图osiosi是open system interconnect的缩写,意为开放式系统互联。
在osi出现之前,计算机网络中存在众多的体系结构,其中以ibm公司的sna(系统网络体系结构)和dec公司的dna(digital networkarchitecture)数字网络体系结构最为著名。
为了解决不同体系结构的网络的互联问题,国际标准化组织iso(注意不要与osi搞混))于1981年制定了开放系统互连参考模型(open system interconnection reference model,osi/rm)。
这个模型把网络通信的工作分为7层,它们由低到高分别是物理层(physical layer),数据链路层(data link layer),网络层(network layer),传输层(transport layer),会话层(session layer),表示层(presen tation layer)和应用层(application layer)。
第一层到第三层属于osi参考模型的低三层,负责创建网络通信连接的链路;第四层到第七层为osi参考模型的高四层,具体负责端到端的数据通信。
每层完成一定的功能,每层都直接为其上层提供服务,并且所有层次都互相支持,而网络通信则可以自上而下(在发送端)或者自下而上(在接收端)双向进行。
当然并不是每一通信都需要经过osi的全部七层,有的甚至只需要双方对应的某一层即可。
物理接口之间的转接,以及中继器与中继器之间的连接就只需在物理层中进行即可;而路由器与路由器之间的连接则只需经过网络层以下的三层即可。
总的来说,双方的通信是在对等层次上进行的,不能在不对称层次上进行通信。
osi参考模型的各个层次的划分遵循下列原则:1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通信。
第一层:物理层(physicallayer),规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。
具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了dte和dce之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息是,dte和dce双放在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:eia/tia rs-232、eia/tia rs-449、v.35、rj-45等。
第二层:数据链路层(datalinklayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:sdlc、hdlc、ppp、stp、帧中继等。
第三层是网络层在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。
网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。
网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
如果你在谈论一个ip地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。
ip是第3层问题的一部分,此外还有一些路由协议和地址解析协议(arp)。
有关路由的一切事情都在第3层处理。
地址解析和路由是3层的重要目的。
网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:ip、ipx、rip、ospf等。
第四层是处理信息的传输层。
第4层的数据单元也称作数据包(packets)。
但是,当你谈论tcp等具体的协议时又有特殊的叫法,tcp的数据单元称为段(segments)而udp协议的数据单元称为“数据报(datagrams)”。
这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。
所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:tcp、udp、spx等。
第五层是会话层这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。
会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。
如服务器验证用户登录便是由会话层完成的。
第六层是表示层这一层主要解决拥护信息的语法表示问题。
它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于osi系统内部使用的传送语法。
即提供格式化的表示和转换数据服务。
数据的压缩和解压缩,加密和解密等工作都由表示层负责。
第七层应用层,应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:telnet、ftp、http、snmp等。
通过 osi 层,信息可以从一台计算机的软件应用程序传输到另一台的应用程序上。
例如,计算机 a 上的应用程序要将信息发送到计算机 b 的应用程序,则计算机 a 中的应用程序需要将信息先发送到其应用层(第七层),然后此层将信息发送到表示层(第六层),表示层将数据转送到会话层(第五层),如此继续,直至物理层(第一层)。
在物理层,数据被放置在物理网络媒介中并被发送至计算机 b 。
计算机 b 的物理层接收来自物理媒介的数据,然后将信息向上发送至数据链路层(第二层),数据链路层再转送给网络层,依次继续直到信息到达计算机 b 的应用层。
最后,计算机 b 的应用层再将信息传送给应用程序接收端,从而完成通信过程。
下面图示说明了这一过程。
osi 的七层运用各种各样的控制信息来和其他计算机系统的对应层进行通信。
这些控制信息包含特殊的请求和说明,它们在对应的 osi 层间进行交换。
每一层数据的头和尾是两个携带控制信息的基本形式。
对于从上一层传送下来的数据,附加在前面的控制信息称为头,附加在后面的控制信息称为尾。
然而,在对来自上一层数据增加协议头和协议尾,对一个 osi 层来说并不是必需的。
当数据在各层间传送时,每一层都可以在数据上增加头和尾,而这些数据已经包含了上一层增加的头和尾。
协议头包含了有关层与层间的通信信息。
头、尾以及数据是相关联的概念,它们取决于分析信息单元的协议层。
例如,传输层头包含了只有传输层可以看到的信息,传输层下面的其他层只将此头作为数据的一部分传递。
对于网络层,一个信息单元由第三层的头和数据组成。
对于数据链路层,经网络层向下传递的所有信息即第三层头和数据都被看作是数据。
换句话说,在给定的某一 osi 层,信息单元的数据部分包含来自于所有上层的头和尾以及数据,这称之为封装。