已阅读5页,还剩78页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7、实现-测试,授课教师:崔晓晖联系方式:cuixiaohui授课学时:40,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.1基本概念,7.1.1软件测试的目标7.1.2测试方法7.1.3软件测试的步骤7.1.4测试阶段的信息流(数据流图),软件工程,7.1.1软件测试的目标,定义1:测试是为了发现程序中的错误而执行程序的过程定义2:测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以发现错误的过程。,好的测试方案是尽最大可能发现程序中的错误的测试方案成功的测试是发现了至今为止尚未发现的错误的测试,软件工程,7.1.2测试方法,白盒测试黑盒测试,软件工程,7.1.3软件测试的步骤,软件工程,7.1.4测试阶段的信息流,软件工程,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.2单元测试,7.2.1单元测试的考虑7.2.2单元测试的过程7.2.3单元测试的测试环境,软件工程,7.2.1单元测试的考虑,模块接口局部数据结构重要的执行通路出错处理通路以上各个方面的边界条件,软件工程,7.2.2单元测试的过程,代码审查测试软件驱动程序存根程序,软件工程,7.2.3单元测试的测试环境,(a)软件结构图(b)模块B的测试环境,软件工程,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.3集成测试,渐增式集成非渐增式集成自顶向下的结合自底向上的结合各种优先集成方法和混合法不同集成测试策略的比较,软件工程,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.4验收测试,验收测试的范围系统测试阶段的纯技术特点不需要进行测试对用户特别感兴趣的问题,增加一些测试使用生产中的实际数据设计和执行与用户操作步骤有关的测试验收测试的可能结果功能和性能与用户要求的一致功能和性能与用户要求有差距软件配置复查:系统文档、用户文档,软件工程,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.5设计测试方案,测试方案包括:具体测试目的,测试数据和预期结果。设计测试方案的基本目标:确定一组最可能发现某个错误和某类错误的测试数据。测试用例:把测试数据和预期的输出结果叫做测试用例,其中难点在于设计输入数据。测试用例的设计:根据测试方法的不同,分为面向白盒的测试技术和面向黑盒的测试技术。,软件工程,主要内容,7.1基本概念7.2单元测试7.3集成测试7.4验收测试7.5设计测试方案7.6设计测试用例7.7调试7.8软件可靠性7.9补充:自动测试工具,软件工程,7.6设计测试用例,7.6.1白盒技术结构测试,被测对象基本上是源程序,以程序的内部逻辑结构为基础设计测试用例。方法:逻辑覆盖、循环覆盖、基本路径测试7.6.2黑盒技术功能测试,设计测试用例时,需研究需求说明和概要设计说明中有关程序功能或输入、输出之间的关系等信息,与测试后的结果进行分析比较。方法:等价类划分、边界值法、错误推测、因果图法、判定表、判定树,软件工程,7.6.1白盒技术,7.6.1.1逻辑覆盖1)语句覆盖2)判定覆盖3)条件覆盖4)判定/条件覆盖5)条件组合覆盖6)路径覆盖7.6.1.2循环覆盖7.6.1.3基本路径测试,软件工程,软件工程,7.6.1.1逻辑覆盖,1)语句覆盖语句覆盖是指设计足够的测试用例,使被测程序中每个语句至少执行一次。如果能测试路径sacbed,就保证每个语句至少执行一次,选择测试数据为A=4,B=0,X=4输入此组数据,就能达到语句覆盖标准,但是其覆盖能力很弱。,软件工程,7.6.1.1逻辑覆盖,2)判定覆盖设计足够测试用例,使被测程序中每个判定表达式至少获得一次“真”值和“假”值,使程序的每个分支至少都通过一次,因此判定覆盖也称分支覆盖。设计测试用例,只要通过路径sacbed,sabd或者sacbd,sabed,就达到判定覆盖标准。选择两组数据:A=3,B=0,X=3(通过路径sacbd)A=2,B=1,X=1(通过路径sabed),软件工程,7.6.1.1逻辑覆盖,2)判定覆盖对于多分支(嵌套IF,CASE)的判定,判定覆盖要使得每一个判定表达式获得每一种可能的值来测试。判定覆盖较语句覆盖严格,因为如果通过了各个分支,则各个语句也执行了。但该测试仍不充分,上述数据只覆盖了全部路径的一半,如果将第二个判定表达式中的“x1”错写成“x1”,仍查不出错误。,软件工程,7.6.1.1逻辑覆盖,3)条件覆盖设计足够的测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。上述程序中有4个条件:A1,B=0,A=2,X1对于a点可能的取值是:A1,A1,B=0,B0对于b点可能的取值是:A=2,A2,X1,X1,软件工程,7.6.1.1逻辑覆盖,3)条件覆盖要选择足够的数据,使第一个判定式出现:a1,b=0a1,b0并使第二个判定式出现:a=2,x1a2,x1才能达到条件覆盖的标准。,软件工程,7.6.1.1逻辑覆盖,3)条件覆盖为满足上述要求,选择以下两组测试数据:A=2,B=0,X=3(满足A1,B=0,A=2,X1,通过路径sacbed)A=1,B=1,X=1(满足A1,B0,A2,X1,通过路径sabd)以上两组测试用例不但覆盖了判定表达式中所有条件的可能取值,而且覆盖了所有判断的取“真”分支和取“假”分支。在这种情况下,条件覆盖强于判定覆盖。,软件工程,7.6.1.1逻辑覆盖,3)条件覆盖但也有例外情况,设选择另外两组测试数据:A=2,B=0,X=1(满足A1,B=0,A=2,X1,通过路径sacbed)A=1,B=1,X=2(满足A1,B0,A2,X1,通过路径sabed)覆盖了所有条件的结果,满足条件覆盖。但只覆盖了第一个判定式和第二个判定式的取“真”分支,即只测试了路径sacbed和sabed,此例不满足判定覆盖。所以满足条件覆盖不一定满足判定覆盖,为了解决此问题,需要对条件和分支兼顾。,软件工程,7.6.1.1逻辑覆盖,4)判定/条件覆盖设计足够的测试用例,使得判定式中的每个条件的所有可能取值至少出现一次,并使每个判定式所有可能的结果也至少出现一次。选择以下测试用例满足判定/条件覆盖:A=2,B=0,X=3A=1,B=1,X=1这也是满足条件覆盖选取的数据。,软件工程,7.6.1.1逻辑覆盖,4)判定/条件覆盖从表面上看,判定/条件覆盖测试了所有条件的取值,但实际上条件组合中的某些条件会抑制其他条件。例如在含有“与”运算的判定表达式中,第一个条件为“假”,则这个表达式中的后面几个条件均不起作用;在含有“或”运算的表达式中,第一个条件为“真”,后边其他条件也不起作用,因此,后边其他条件若写错就测不出来。,软件工程,7.6.1.1逻辑覆盖,5)条件组合覆盖条件组合覆盖是比较强的覆盖标准。设计足够的测试用例,使得每个判定式中条件的各种可能的值的组合都至少出现一次。两个判定式共有4个条件,有8种组合A1,B=0A1,B0A1,B=0A1,B0A=2,X1A=2,X1A2,X1A2,X1,软件工程,7.6.1.1逻辑覆盖,5)条件组合覆盖下面4组测试用例可以满足条件组合覆盖:A=2,B=0,X=2覆盖条件组合和,通过路径sacbeA=2,B=1,X=1覆盖条件组合和,通过路径sabedA=1,B=0,X=2覆盖条件组合和,通过路径sabdA=1,B=1,X=1覆盖条件组合和,通过路径sabd显然,满足条件组合覆盖的测试一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”,因为每个判定表达式、每个条件都不止一次地取到过“真”、“假”值。但也看到,该例没有覆盖程序可能执行的全部路径,sacbd这条路径被漏掉了,如果这条路径有错,就不能测出。,软件工程,7.6.1.1逻辑覆盖,6)路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。对于上例,选择以下测试用例,覆盖程序中的4条路径:a=2,b=0,x=2覆盖路径sacbed,覆盖条件组合和a=2,b=1,x=1覆盖路径sabed,覆盖条件组合和a=1,b=1,x=1覆盖路径sabd,覆盖条件组合和a=3,b=0,x=1覆盖路径sacbd,覆盖条件组合和可看出满足路径覆盖却未满足条件组合覆盖。,软件工程,7.6.1.1逻辑覆盖,软件工程,7.6.1.1逻辑覆盖6种覆盖标准比较,语句覆盖发现错误能力最弱。判定覆盖包含了语句覆盖,但它可能会使一些条件得不到测试。条件覆盖对每一条件进行单独检查,一般情况它的检错能力较判定覆盖强,但有时达不到判定覆盖的要求。判定/条件覆盖包含了判定覆盖和条件覆盖的要求,但由于计算机系统软件实现方式的限制,实际上不一定达到条件覆盖的标准。条件组合覆盖发现错误能力较强,凡满足其标准的测试用例,也必然满足前4种覆盖标准。前5种覆盖标准聚焦在单个判定或判定的各个条件上,可能使程序某些路径没有执行到。路径测试根据各判定式取值的组合,使程序沿着不同的路径执行,查错能力强。但由于它是从各判定的整体组合出发设计测试用例的,可能使达不到条件组合覆盖的要求。在实际测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例,以达到路径覆盖测试标准。,软件工程,7.6.1.2循环覆盖,在逻辑覆盖中,只讨论了程序内部有判定存在的逻辑结构的测试用例设计技术。循环也是程序的主要逻辑结构,要覆盖含有循环结构的所有路径是不可能的,但可通过限制循环次数来测试,下面给出设计原则供参考。,单循环设n为可允许执行循环的最大次数。设计以下情况的测试用例:(1)跳过循环。(2)只执行循环一次。(3)执行循环m次,其中mn(4)执行循环n-1次,n次,n+1次。,2)嵌套循环嵌套循环步骤为:(1)置外循环处于最小循环计数值,对内层进行单循环测试。(2)由里向外,进行下一层的循环测试。,软件工程,7.6.1.3基本路径测试,在实际问题中,一个不太复杂的程序其路径是一个庞大的数字。为了解决这一难题,只得把覆盖的路径数压缩到一定的限度内,例如,循环体只执行一次。基本路径测试是在程序流程图的基础上,通过分析由控制构造的环路复杂性,导出基本路径集合,从而设计测试用例,保证这些路径至少通过一次。,7.6.1.3基本路径测试,基本路径测试的步骤:(1)以详细设计或源程序为基础,导出程序流程图的拓朴结构流图。(2)计算程序图G的环路复杂性V(G)。(3)确定只包含独立路径的基本路径集。,软件工程,7.6.1.3基本路径测试,(1)根据程序流程图导出流图程序图是退化了的程序流程图,它是反映控制流程的有向图,其中小圆圈称为结点,代表了流程图中每个处理符号(矩形、菱形框),有箭头的连线表示控制流向,称为程序图中的边或路径。,(a)程序流程图;(b)程序图,软件工程,7.6.1.3基本路径测试,(2)计算程序图G的环路复杂性V(G)McCabe定义程序图的环路复杂性为此平面图中区域的个数。区域个数为边和结点圈定的封闭区域数加上图形外的区域数1。如图的V(G)=4,也可按另一种方法计算,即V(G)=判定结点数+1。,软件工程,7.6.1.3基本路径测试,(3)确定只包含独立路径的基本路径集。环路复杂性可导出程序基本路径集合中的独立路径条数,这是确保程序中每个执行语句至少执行一次所必需的测试用例数目的上界。独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。,软件工程,7.6.1.3基本路径测试,(3)确定只包含独立路径的基本路径集。例如,在右图中,一组独立的路径是:path1:1-11path2:1-2-3-4-5-10-1-11path3:1-2-3-6-8-9-10-1-11path4:1-2-3-6-7-9-10-1-11,软件工程,7.6.2黑盒技术等价类划分,等价类划分为了保证软件质量,需要做尽量多的测试,但不可能用所有可能的输入数据来测试程序,而只能从输入数据中选择一个子集进行测试。如何选择适当的子集,使其发现更多的错误呢?等价类划分是解决这一问题的办法。等价类划分表,软件工程,7.6.2黑盒技术等价类划分,等价类划分参考:(1)如果某个输入条件规定了取值范围或值的个数,则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。例如输入值是学生的成绩,范围为0100,确定一个合理的等价类为“0成绩100”,两个不合理的等价类为“成绩0”和“成绩100”。(2)如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许的输入值是一个合理等价类,此外还有一个不合理等价类(任何一个不允许的输入值)。例如,输入条件上说明教师的职称可为助教、讲师、副教授及教授4种职称之一,则分别取这四个值作为4个合理等价类,另外把4个职称之外的任何职称作为不合理等价类。,软件工程,等价类划分参考:(3)如果规定了输入数据必须遵循的规则,可确定一个合理等价类(符合规则)和若干个不合理等价类(从各种不同角度违反规则)。(4)如果已划分的等价类中各元素在程序中的处理方式不同,应将此等价类划分为更小的等价类。以上这些划分输入数据等价类的经验也同样适用于输出数据,这些数据也只是测试时可能遇到的情况的很小部分。为了能正确划分等价类,一定要正确分析被测程序的功能。,7.6.2黑盒技术等价类划分,软件工程,7.6.2黑盒技术等价类划分,2)确定测试用例根据已划分的等价类,按以下步骤设计测试用例:(1)为每一个等价类编号。(2)设计测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。(3)设计测试用例,使其只覆盖一个不合理等价类。重复这一步,直到所有不合理等价类被覆盖。,软件工程,7.6.2黑盒技术等价类划分,2)确定测试用例(例)某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在1990年1月至1999年12月,即系统只能对该段时期内的报表进行处理。如果用户输入的日期不在此范围内,则显示输入错误信息。该系统规定日期由年、月的6位数字字符组成,前4位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的“日期检查功能”。,软件工程,7.6.2黑盒技术等价类划分,2)确定测试用例(例)划分等价类并编号:划分成3个有效等价类,7个无效等价类,如表所示。,软件工程,7.6.2黑盒技术等价类划分,2)确定测试用例(例)为合理等价类设计测试用例,对于表中编号为1,5,8对应的3个合理等价类,用一个测试用例覆盖。,软件工程,7.6.2黑盒技术等价类划分,2)确定测试用例(例)为每一个不合理等价类至少设计一个测试用例:测试数据期望结果覆盖范围99MAY输入无效219995输入无效31999005输入无效4198912输入无效6200001输入无效7199900输入无效9199913输入无效10,软件工程,7.6.2黑盒技术边界值分析,2.边界值分析实践经验表明,程序往往在处理边界情况时发生错误。边界情况指输入等价类和输出等价类边界上的情况。因此检查边界情况的测试用例是比较高效的,可以查出更多的错误。例如,在做三角形设计时,要输入三角形的3个边长A,B和C。这3个数值应当满足A0,B0,C0,A+BC,A+CB,B+CA,才能构成三角形。但如果把6个不等式中的任何一个“”错写成“”,那个不能构成三角形的问题恰出现在容易被疏忽的边界附近。在选择测试用例时,选择边界附近的值就能发现被疏忽的问题。,7.6.2黑盒技术边界值分析,2.边界值分析(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是1,100,可取0,1,100,101等值作为测试数据。(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1及比最大个数多1等情况分别设计测试用例。如一个输入文件可包括1255个记录,则分别设计有1个记录、255个记录,以及0个记录和256个记录的输入文件的测试用例。,软件工程,7.6.2黑盒技术边界值分析,2.边界值分析(3)对每个输出条件按以上原则确定输出值边界。如一个学生成绩管理系统规定,只能查询9598级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。(4)如果程序的输入或输出域是个有序集合(如顺序文件、线性表和链表元素),选择第一个和最后一个元素作为测试用例。,软件工程,7.6.2黑盒技术边界值分析,2.边界值分析对上述报表处理系统中的报表日期输入条件,以下用边界值分析设计测试用例。程序中判断输入日期(年月)是否有效,假设使用如下语句:IF(ReportDate=MinDate)THEN产生指定日期报表ELSE显示错误信息ENDIF如果将程序中的“=”误写为“”,则等价类划分中所有测试用例都不能发现这一错误。,软件工程,7.6.2黑盒技术边界值分析,2.边界值分析,软件工程,7.6.2黑盒技术错误推测,3.错误推测在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,有针对性地编写检查这些错误的测试用例,这就是错误推测法。错误推测法没有固定步骤,凭经验进行。基本思想是列出可能发生错误的情况,根据这些情况选择测试用例。如输入、输出数据为零是容易发生错误的情况;又如,输入表格为空或输入表格只有一行是容易出错的情况等。,软件工程,7.6.2黑盒技术错误推测,3.错误推测(例)例如对于一个排序程序,列出以下几项需特别测试的情况:输入表为空。输入表只含一个元素。输入表中所有元素均相同。输入表中已排好序。,软件工程,7.6.2黑盒技术错误推测,3.错误推测(例)测试一个采用二分法的检索程序,考虑以下情况表中只有一个元素。表长是2的幂。表长为2的幂减1或2的幂加1,软件工程,7.6.2黑盒技术因果图,4.因果图等价类划分和边界值分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误。因果图能有效地检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。,软件工程,7.6.2黑盒技术因果图,因果图是一种挑选高效测试用例以检查组合输入条件的系统方法。定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。,软件工程,7.6.2黑盒技术因果图,因果图法是基于这样的一种思想:一些程序的功能可以用判定表(或称决策表)的形式来表示,并根据输入条件的组合情况规定相应的操作。采用因果图法设计测试用例的步骤:(1)根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图。(2)将得到的因果图转换为决策表。(3)为判定表中每一列所表示的情况设计一个测试用例。,软件工程,7.6.2黑盒技术因果图,因果测试的导出:将规格说明分解成可以操作的块鉴别因和果制作因果图注明限制,说明不会出现因/果组合按顺序跟踪图中的状态条件,将图转换为决策表,表中的每列代表一个测试用例。决策表的各列转换为测试用例,软件工程,7.6.2黑盒技术因果图,使用因果图法的优点:(1)考虑到了输入情况的各种组合以及各个输入情况之间的相互制约关系。(2)能够帮助测试人员按照一定的步骤,高效率的开发测试用例。(3)因果图法是将自然语言规格说明转化成形式语言规格说明的一种严格的方法,可以指出规格说明存在的不完整性和二义性。,软件工程,7.6.2黑盒技术因果图,因果图中用来表示4种因果关系的基本符号:,软件工程,7.6.2黑盒技术因果图,因果图中的4种基本关系在因果图的基本符号中,图中的左结点ci表示输入状态(或称原因),右结点ei表示输出状态(或称结果)。ci与ei取值0或1,0表示某状态不出现,1则表示某状态出现。恒等:若c1是1,则e1也为1,否则e1为0。非:若c1是1,则e1为0,否则e1为1。或:若c1或c2或c3是1,则e1为1,否则e1为0。与:若c1和c2都是1,则e1为1,否则e1为0。,软件工程,7.6.2黑盒技术因果图,因果图中的约束在实际问题中输入状态相互之间、输出状态相互之间可能存在某些依赖关系,称为“约束”。对于输入条件的约束有E、I、O、R四种约束,对于输出条件的约束只有M约束。E约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。I约束(或):a、b、c中至少有一个必须为1,即a、b、c不能同时为0。O约束(唯一):a和b必须有一个且仅有一个为1。R约束(要求):a是1时,b必须是1,即a为1时,b不能为0。M约束(强制):若结果a为1,则结果b强制为0。,软件工程,7.6.2黑盒技术因果图,因果图中用来表示约束关系的约束符号:,软件工程,7.6.2黑盒技术因果图,因果图法测试步骤:(1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。(3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为决策表。(5)根据决策表中的每一列设计测试用例。,软件工程,例第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但是,若第一列字符不正确,给出信息L;若第二列字符不是数字,给出信息M。,软件工程,7.6.2黑盒技术决策表,在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。决策表的概念:决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。决策表的优点:能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。,软件工程,7.6.2黑盒技术决策表,决策表通常由以下4部分组成:条件桩列出问题的所有条件条件项针对条件桩给出的条件列出所有可能的取值动作桩列出问题规定的可能采取的操作动作项指出在条件项的各组取值情况下应采取的动作,将任何一个条件组合的特定取值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 毕业论文指导老师评语及答辩教师评语集锦
- 0822一级学科轻工技术与工程082203发酵工程专业硕士研究生培养方案
- 基于分时电价的热泵供热系统相变储热应用研究
- 硕士论文开题报告的内容和要求-开题报告
- 小米公司管理制度大全
- 临床试验设计在神经退行性疾病药物研发中的关键问题
- 毕业论文任务书的要求怎么写
- MBA论文模板及说明
- 延安大学西安创新学院学士学位授予细则(修订稿)
- 论文正文格式及字体要求
- 燃气管网自动化控制系统建设方案
- 安全文明施工及保证措施方案
- 新版西师版三年级上册数学全册教案教学设计含教学反思
- 特殊工序标准化作业指导书(SOS)
- 翡翠培训知识课件
- 人工智能+智能金融区块链技术应用研究报告
- 屈光知识培训班课件
- 养老机构安全培训方案
- 2025年及未来5年中国橄榄油市场运行态势及行业发展前景预测报告
- 四季皮肤的特点及保养方案
- 人教版三年级上册数学第三单元课件《测量》
评论
0/150
提交评论