第2章 白盒测试的实用技术.ppt_第1页
第2章 白盒测试的实用技术.ppt_第2页
第2章 白盒测试的实用技术.ppt_第3页
第2章 白盒测试的实用技术.ppt_第4页
第2章 白盒测试的实用技术.ppt_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

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

文档简介

CompanyLogo 第2章白盒测试的实用技术白盒测试 WhiteBoxTesting 按照程序内部的结构 逻辑驱动测试程序 通过测试来检测产品内部动作是否按照设计说明书的规定正常进行 检验程序中的每条路径是否都能按预定要求正确工作 软件测试技术研究组 中国信息大学 CompanyLogo 白盒测试技术是软件测试的主要方法之一 白盒测试的基本概念 检查方法 测试方法 测试工具等内容是必须掌握的 本章重点讨论以下内容 白盒测试的概述 白盒测试的静态检查方法 白盒测试的常用方法 软件测试技术研究组 中国信息大学 CompanyLogo 2 1白盒测试的概述白盒测试的对象主要是源程序 是指用代码内部的分支 路径 条件 使程序设计的控制结构导出测试用例 是软件测试的主要方法之一 2 1 1白盒测试的基本知识白盒测试方法分为两类 1 静态测试 2 动态测试 软件测试技术研究组 中国信息大学 CompanyLogo 2 1 2白盒测试测试原则白盒测试的原则有4点 1 保证一个模块中所有路径至少被测试一次 2 所有逻辑值都要测试真和假两种情况 3 检查程序的内部数据结构是否有效 4 检查上 下边界及可操作范围内运行所有循环 软件测试技术研究组 中国信息大学 CompanyLogo 2 1 3白盒测试的类别 依据和流程白盒测试策略是首先进行静态结构分析 采用先静态后动态的组合方式 然后进行覆盖测试 利用静态测试的分析结果和通过动态测试的结果进行进一步确认已达到测试效果 白盒测试一般要考虑类别 依据和流程 软件测试技术研究组 中国信息大学 CompanyLogo 1 白盒测试的类别白盒测试的类别具体分为8大类 1 软件公用问题的测试 2 语言测试 3 SQL语句测试 4 数据类型测试 5 界面测试 6 数值对象测试 7 业务对象测试 8 数据管理对象测试 软件测试技术研究组 中国信息大学 CompanyLogo 2 白盒测试依据软件需求报告 软件需求规格说明 程序设计文档 软件界面设计 编码规范 开发命名标准 软件测试技术研究组 中国信息大学 CompanyLogo 3 白盒测试的流程白盒测试的流程分为界面对象和业务对象两种方式 界面对象测试界面对象测试的流程如图2 1所示 软件测试技术研究组 中国信息大学 图2 1界面对象的流程图 CompanyLogo 2 业务对象流程测试业务对象测试的流程如图2 2所示 软件测试技术研究组 中国信息大学 图2 2业务对象测试的流程图 CompanyLogo 2 2白盒测试方法在白盒测试中 可以使用各种测试方法进行测试 但是 测试要考虑五点问题 1 测试中 尽量先用自动化工具来进行静态结构分析 2 测试中建议先从静态测试开始 如 静态结构分析 代码走查和静态质量度量 然后进行动态测试 如 覆盖率测试 3 利用静态分析的结果作为依据 再使用代码检查和动态测试的方式对静态分析结果进行进一步确认 提高测试效率及准确性 4 覆盖率测试是白盒测试中的重要手段 在测试报告中可以作为量化指标的依据 对于软件的重点模块 应使用多种覆盖率标准衡量代码的覆盖率 5 在不同的测试阶段 测试的侧重点是不同的 软件测试技术研究组 中国信息大学 CompanyLogo 2 2 1代码检查代码检查是静态测试的主要方法 代码检查包括代码走查 桌面检查 流程图审查等 对于代码检查从如下几点进行叙述 1 概述代码检查主要检查代码和流图设计的一致性 代码结构的合理性 代码编写的标准性 可读性 代码的逻辑表达的正确性等方面 包括变量检查 命名和类型审查 程序逻辑审查 程序语法检查和程序结构检查等内容 软件测试技术研究组 中国信息大学 CompanyLogo 2 代码走查目的代码走查是为达到以下目的 通过检查代码程序是不是按照某种标准或规范编写的代码 通过检查代码来发现程序缺陷 通过检查代码容易发现程序产生的错误 通过检查代码来发现代码是不是流程图要求的 通过检查代码来发现有没有遗漏的项目 要代码易于移植 代码经常需要在不同的硬件中运行 或者使用不同的编译器编译 要代码易于阅读 理解和维护 软件测试技术研究组 中国信息大学 CompanyLogo 2 2 2代码检查方式代码走查的方式有 1 桌面检查2 走查3 代码审查代码审查可分为以下两步 第一步 小组负责人把程序文本 规范 相关要求 流程图及设计说明书发给每个成员 第二步 每个成员依据所发材料作为审查依据 但是由程序员讲解程序的结构每 逻辑和源程序 在此过程中 小组成员可以提出自己的疑问 程序员在讲解自己的程序时 也能发现自己原来没有注意到的问题 软件测试技术研究组 中国信息大学 CompanyLogo 2 2 3代码检查项目代码检查项目主要有以下几点 目录文件组织检查函数数据类型及变量检查条件判断语句检查循环体制检查代码注释桌面检查其它检查 软件测试技术研究组 中国信息大学 CompanyLogo 2 2 4静态结构分析静态结构分析主要是以图形的方式表现程序的内部结构 例如函数调用关系图 函数内部控制流图 通过应用程序各函数之间的调用关系展示了系统的结构 列出所有函数 用连线表示调用关系和作用 静态结构主要分析 1 可以检查函数的调用关系是否正确 2 是否存在孤立的函数而没有被调用 3 明确函数被调用的频繁度 对调用频繁的函数可以重点检查 软件测试技术研究组 中国信息大学 CompanyLogo 2 2 5SQL语句测试主要检查以下两点 语句检查类型转换2 2 6代码检查的分析与评价代码检查的分析与评价主要注意以下两大点 1 能力陈述经代码检查证实了的本软件的能力 2 缺陷和限制 软件测试技术研究组 中国信息大学 CompanyLogo 2 3白盒测试的常用技术白盒测试常用技术主要有7种 现分别叙述如下 2 3 1逻辑覆盖法逻辑覆盖法主要讨论四点 测试覆盖率 逻辑覆盖 面向对象的覆盖 测试覆盖准则 现分别进行讨论 软件测试技术研究组 中国信息大学 CompanyLogo 1 测试覆盖率测试覆盖率是用于确定测试所执行到的覆盖项的百分比 其中的覆盖项是指作为测试基础的一个入口或属性 比如语句 分支 条件等 测试覆盖率可以表示出测试的充分性 在测试分析报告中可以作为量化指标的依据 测试覆盖率越高效果越好 但覆盖率不是目标 只是一种手段 其中测试覆盖率包括功能覆盖和结构覆盖 软件测试技术研究组 中国信息大学 CompanyLogo 2 逻辑覆盖根据覆盖目标的不同和覆盖源程序语句的详尽程度 逻辑覆盖又可分为语句覆盖 判定覆盖 条件覆盖 条件判定组合覆盖 多条件覆盖 修改条件判定覆盖 组合覆盖和路径覆盖 3 面向对象的覆盖面向对象的覆盖主要讨论继承上下文覆盖和基于状态的上下文覆盖 软件测试技术研究组 中国信息大学 CompanyLogo 4 测试覆盖准则测试覆盖准则主要讨论ESTCA ErrorSensitiveTestCasesAnalysis 错误敏感测试用例分析和LCSAJ LinearCodeSequenceandJump 线性代码序列与跳转 1 ESTCA覆盖准则 2 现行代码序列与跳转LCSAJ现行代码序列与条状LCSAJ是指一组顺序执行的代码 以控制流跳转为结束点 可产生4层覆盖 软件测试技术研究组 中国信息大学 CompanyLogo 2 3 2插桩技术软件动态测试中 插桩测试是一个被广泛应用的测试方法 插桩测试就是向源程序中插入语句然后执行程序 通过打印语句 获得动态信息 我们最为关心的信息 在这里 我们举一个最简单的例子 以计算整数X和整数Y的最大公约数为例 试图说明插桩技术的要点 插桩后求最大公约数程序流程图如图2 3所示 软件测试技术研究组 中国信息大学 CompanyLogo 软件测试技术研究组 中国信息大学 图2 3求最大公约数程序插桩流程图 CompanyLogo 2 3 3基本路径测试法基本路径测试法是在程序控制流图的基础上 通过分析控制构造的环路复杂性 导出基本可执行路径集合 从而设计测试用例的方法 设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次 基本路径测试法的重点内容如下 程序的控制流图 描述程序控制流的一种图示方法 程序环形复杂度 McCabe复杂性度量 从程序的环路复杂性可导出程序基本路径集合中的独立路径条数 这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界 软件测试技术研究组 中国信息大学 CompanyLogo 1 程序控制流图程序控制流图 可简称流图 是对程序流程图进行简化后得到的 它突出表示程序控制流的结构 程序控制流图是描述程序控制流的一种方式 控制流图图形符号 图形符号 圆圈代表一个结点 表示一个或多个无分支的语句或源程序语句 程序控制流边和点圈定的部分叫做区域 当对区域计数时 图形外的一个部分也应记为一个区域 判断语句中的条件为复合条件时 即条件表达式由一个或多个逻辑运算符连接的逻辑表达式 aandb 则需要改变复合条件的判断为一系列只有单个条件的嵌套的判断 软件测试技术研究组 中国信息大学 CompanyLogo 基本路径测试方法是在控制流图的基础上 通过分析控制结构的环形复杂度 导出执行路径的基本集 再从该基本集设计测试用例 基本路径测试方法包括以下4个步骤 画出程序的控制流图 计算程序的环形复杂度 导出程序基本路径集中的独立路径条数 这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界 导出基本路径集 确定程序的独立路径 根据 中的独立路径 设计测试用例的输入数据和预期输出 程序控制流图如图2 4所示 软件测试技术研究组 中国信息大学 CompanyLogo 软件测试技术研究组 中国信息大学 软件测试技术研究组 中国信息大学 图2 4程序控制流程图 CompanyLogo 2 3 4域测试法域测试是一种基于程序结构的测试方法 基于对程序输入空间 域 的分析 选择测试点进行测试 主要为 1 域错误 程序的控制流存在错误 对于某一特定的输入可能执行的是一条错误路径 这种错误称为路径错误 也叫做域错误 2 计算型错误 对于特定输入执行的路径正确 但赋值语句的错误导致输出结果错误 称为计算型错误 3 丢失路径错误 由于程序中的某处少了一个判定谓词而引起的丢失路径错误 软件测试技术研究组 中国信息大学 CompanyLogo 2 3 5符号测试符号测试基本思想是允许程序的输入不仅仅是具体的数值数据 而且包括符号值 符号值可以是基本的符号变量值 也可以是符号变量值的表达式 1 符号测试执行的是代数运算 可以作为普通测试的一个扩充 2 符号测试可以看作是程序测试和程序验证的一个折衷办法 3 符号测试程序中仅有有限的几条执行路径 软件测试技术研究组 中国信息大学 CompanyLogo 2 3 6Z路径覆盖法分析程序中的路径是指检验程序从入口开始 执行过程中经历的各个语句 直到出口 Z路径覆盖对循环机制进行简化 减少路径的数量 使得覆盖所有路径成为可能 简化循环意义下的路径覆盖称为Z路径覆盖 循环简化 限制循环次数 只考虑循环一次或零次情况 循环简化的目的是限制循环的次数 无论循环的形式和循环体实际执行的次数 简化后的循环测试只考虑执行循环体一次和零次 不执行 两种情况 即考虑执行时进入循环体一次和跳过循环体这两种情况 软件测试技术研究组 中国信息大学 CompanyLogo 2 3 7程序变异测试法程序变异是一种错误驱动测试 错误驱动测试是指该方法是针对某类特定程序错误的 经过多年的测试理论研究和软件测试的实践 人们逐渐发现要想找出程序中所有的错误几乎是不可能的 比较现实的解决办法是将错误的搜索范围尽可能地缩小 以利于专门测试某类错误是否存在 软件测试技术研究组 中国信息大学 CompanyLogo 请您解答 1 白盒测试有哪两个分类 2 说出白盒测试的4个原则 3 详细说明白盒测试方法要注意的问题 4 请简要写出白盒测试常用的7类技术 5 逻辑覆盖主要测试哪8各方面的覆盖率 CompanyLogo 补充知识 白盒测试 WhiteBoxTesting 结构测试 StructuredTesting 逻辑驱动测试 Logic DrivenTesting 基于程序的测试 Code BasedTesting 基于覆盖的测试 CompanyLogo 控制流测试数据流测试程序插桩程序变异测试白盒测试工具软件缺陷分析 CompanyLogo 基本概念控制流图有向图路径 完整路径可达 简单路径 基本路径 子路径回路 无回路路径A连接B路径A覆盖路径B CompanyLogo 控制流覆盖准则 覆盖率 测试的完全程度如何 CompanyLogo 覆盖率概念 如 一个程序总代码为100行 使用测试用例运行一次 执行了75行代码 则代码覆盖率 75 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 语句覆盖 设计若干测试用例 使得程序中每条语句至少被执行一次 设计原则 测试用例尽量少 覆盖率尽量高 CompanyLogo 举例 测试用例设计 红色字母代表程序执行路径 CompanyLogo 测试用例设计 CompanyLogo 例3 2 测试用例设计 CompanyLogo 语句覆盖 优点 直观 简单 易自动化缺点 发现错误能力很 弱 对隐藏的条件和可能到达的隐式逻辑分支 无法测试 CompanyLogo 语句覆盖 例 if else结构 如右例所示 当A 2B 0X 3时 满足语句覆盖要求 但abd分支未测试 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 判定覆盖 设计若干测试用例 使得程序中每个判定至少有一次为真值 有一次为假值 程序中的每个分支至少执行一次 CompanyLogo 判定覆盖 测试用例设计 O A B D CompanyLogo 当A 2B 0X 3时 即可满足语句覆盖要求 但abd分支未测试 判定覆盖测试用例设计 判定覆盖 CompanyLogo 测试用例设计 CompanyLogo 例3 2 测试用例设计 CompanyLogo 判定覆盖 优点 发现错误能力比语句覆盖强缺点 对复合条件判断 只判定整个最终结果 而忽略每个条件的取值情况 必然会遗漏部分测试路径 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 条件覆盖 设计若干测试用例 使得判定中的每个条件的可能取值至少满足一次 CompanyLogo 条件覆盖 测试用例设计 O A B D CompanyLogo 判定覆盖测试用例设计未有B 0的取值 条件覆盖 条件覆盖测试用例设计 CompanyLogo 测试用例设计 CompanyLogo 例3 2 测试用例设计 CompanyLogo 例3 4 1 列出所有的原子条件 i 0j 0k 0i j ki k jj k Ii ji kj k2 设计测试用例 使得每个条件取一次真值和一次假值 CompanyLogo 例3 4 设计测试用例如下表所示 CompanyLogo 条件覆盖 优点 发现错误能力比语句覆盖强缺点 条件覆盖并不能保证判定覆盖 对复合条件 条件覆盖只能保证每个条件至少有一次为真 而不考虑所有的判定结果 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 判定条件覆盖 设计若干测试用例 使得判定中的每个条件的可能取值至少出现一次 且每个判断本身的判定结果也至少出现一次 CompanyLogo 判定条件覆盖 测试用例设计 O A B D CompanyLogo 判定条件覆盖 条件覆盖测试用例设计也满足判定条件覆盖的要求 判定覆盖测试用例设计未有B 0的取值 CompanyLogo 测试用例设计 CompanyLogo 例3 2 测试用例设计 CompanyLogo 例3 4 1 列出所有的原子条件 i 0j 0k 0i j ki k jj k ii ji kj k2 列出所有的判定 1 i 0 j 0 k 0 i j k i k j j k i 2 i j i k j k 3 i j i k j k3 设计测试用例 使得每个条件取一次真值和一次假值且使得每个判定取一次真值和一次假值 CompanyLogo 设计测试用例如下表所示 CompanyLogo 判定条件覆盖 优点 发现错误能力比判定覆盖和条件覆盖强缺点 不能保证覆盖程序所有执行路径 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 条件组合覆盖 设计若干测试用例 使得每个判定中条件结果的所有可能组合至少出现一次 CompanyLogo 条件组合覆盖 测试用例设计 O A B D CompanyLogo 条件组合覆盖 测试用例设计 CompanyLogo 测试用例设计 CompanyLogo 例3 2 测试用例设计 CompanyLogo 例3 4 1 列出所有的判定 1 i 0 j 0 k 0 i j k i k j j k i 2 i j i k j k 3 i j i k j k3 设计测试用例 使得每个判定中条件结果的所有可能组合至少出现一次 CompanyLogo 设计测试用例如下表所示 CompanyLogo 条件组合覆盖 优点 发现错误能力比判定 条件覆盖强缺点 不能保证覆盖程序所有执行路径 部分覆盖能力间的关系 CompanyLogo 控制流覆盖准则 逻辑覆盖 常见的六种覆盖方法语句覆盖判定覆盖 也称分支覆盖 条件覆盖 也称谓词覆盖 判定 条件覆盖条件组合覆盖路径覆盖 CompanyLogo 路径覆盖 设计若干测试用例 覆盖程序中所有可能的路径 CompanyLogo 路径覆盖 测试用例设计 O A B D CompanyLogo 路径覆盖 判定条件覆盖用例 CompanyLogo 测试用例设计 CompanyLogo 路径覆盖 优点 发现错误能力强 覆盖面最广缺点 不包含判定条件覆盖100 路径覆盖是不可行的 自动化路径覆盖困难 CompanyLogo 逻辑覆盖小结 CompanyLogo 补充 函数覆盖 针对一个系统或子系统在测试中有哪些函数被测试到了 其被测试到的频率有多大 这些函数在系统所有函数中的比例有多大等 CompanyLogo 补充 指令块覆盖 语句覆盖的一个变体一个指令块由不存在控制语句的多个语句组成 CompanyLogo a 0 b 2 if b 0 a b a elsea a b 基本块的划分对代码结构和代码优化有重要意义 CompanyLogo CompanyLogo 补充 判定路径覆盖 判定覆盖的一个变体判定路径 起始位置是函数入口或一个判定的开始 结束位置是下一个判定的开始 CompanyLogo CompanyLogo 补充 Z路径覆盖 路径覆盖的一个变体 简化循环机制 只考虑执行一次和0次的情况 CompanyLogo 如何使用覆盖率 覆盖率不是目的 只是一种手段软件测试实践过程 单元测试和代码审查 集成测试和系统测试 必要时会对核心模块或者bug较多模块与开发人员一起重新做代码审查 在产品比较稳定之后 会采用一些测试工具来做覆盖率测试 可以发现哪些函数没有跑到 进而更新或加入新的测试用例 CompanyLogo 如何使用覆盖率 你不可能针对所有的覆盖率指标去进行测试 相反 只考虑一种覆盖率指标也是不恰当的一般项目的覆盖率不可能100 一般采取的标准是函数覆盖率90 语句覆盖率70 CompanyLogo 如何使用覆盖率 不要追求绝对100 的覆盖率对测试人员设计的测试用例通常要求 语句覆盖率 100 分支覆盖率 85 以上路径覆盖率 80 以上 CompanyLogo 控制流测试数据流测试程序插桩程序变异测试白盒测试工具软件缺陷分析 CompanyLogo 数据流测试 基本概念控制流图和测试覆盖准则一旦给定 即可产生测试用例数据流测试是根据代码中变量的使用情况进行的测试 面向程序中的数据 早期的数据流分析常常集中于以下缺陷 变量被定义 但是从来没有使用 引用 所使用的变量没有被定义 变量在使用之前被定义两次或多次 重复定义 CompanyLogo 数据流测试 两个概念变量的定义性出现 变量定义或被赋值 节点n G P 是变量v V的定义节点 记做DEF v n 当且仅当变量v的值由对应节点n的语句片段处定义 输入语句 赋值语句 循环控制语句和过程调用 都是定义节点语句的例子 如果执行对应这种语句的节点 那么该变量关联的存储单元的内容就会改变 CompanyLogo 数据流测试 变量的引用性出现 变量数据被引用 节点n G P 是变量v V的使用节点 记做USE v n 当且仅当变量v的值由对应节点n的语句片段处使用 计算性引用 用于计算新数据 记做C use 谓词性引用 用于条件控制 记做P use 输出语句 赋值语句 条件语句 循环控制语句和过程调用 都是使用节点语句的例子 如果执行对应这种语句的节点 那么该变量关联的存储单元的内容保持不变 CompanyLogo 数据流覆盖准则 定义覆盖测试准则引用覆盖测试准则定义 引用覆盖测试准则 CompanyLogo 控制流测试数据流测试程序插桩程序变异测试白盒测试工具软件缺陷分析 CompanyLogo 程序插桩 插桩 通过在源代码中加入记录信息语句 以便进行运行信息的追踪和调试 统计有关的运行资源状况 如print语句插桩技术是实现各种覆盖测试的必要手段 CompanyLogo 程序插桩举例 例 常用printf语句 c语言 计算x 1 2 3 4 5 10程序段 x 0 for inti 0 i 10 i x x i printf d d i x CompanyLogo 统计可执行语句的覆盖情况把插入的语句称为 探测器 CompanyLogo 程序插桩 设计时考虑的问题明确要探测哪些信息 在程序的什么部位设置探测点 需要设计多少个探测点 CompanyLogo 程序插桩 探测点设置位置程序块的第一个可执行语句之前循环语句之后条件语句之后在else elseif endif之后输入输出语句之后goto语句之后 CompanyLogo 程序插桩 2 用于断言检测的程序插桩断言 Assertion assert格式 voidassert intexpression 其中 expression为假时 会终止程序运行 一般在debug版本中启用 release版本中禁用如 文件检索系统UT TD 002 005UT TC 002 005 003 003 fp2 fopen str rt ASSERT fp2 NULL CompanyLogo 控制流测试数据流测试程序插桩程序变异测试白盒测试工具软件缺陷分析 CompanyLogo 程序变异测试 错误驱动测试 遗传算法 GeneticAlgorithm 简称GA 遗传算法几个重要概念1 染色体 Chronmosome 个体 individuals 群体 population 2 基因 Gene 3 适应度 Fitness 适应度函数 对问题中的每一个染色体进行度量的函数 CompanyLogo 遗传算法 遗传算法几个操作选择 复制 根据各个个体的适应度 按照一定的规则或方法 从第t代群体P t 中选择出一些优良的个体遗传到下一代群体P t 1 中 交叉 将群体P t 内的各个个体随机搭配成对 对每一对个体 以某个概率 称为交叉概率 交换它们之间的部分染色体 变异 对群体P t 中的每一个个体 以某一概率 称为变异概率 改变某一个或某一些基因座上的基因值为其他基因值 CompanyLogo 遗传算法流程图 CompanyLogo 遗传算法 遗传算法已经在求解旅行商问题 背包问题 装箱问题 图形划分问题等方面得到成功的应用 在生产调度问题 自动控制 机器人学

温馨提示

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

评论

0/150

提交评论