




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试的方法和技术软件测试的方法和技术软件测试方法概述代码检查、走查与评审白盒测试黑盒测试灰盒测试测试用例设计 软件测试的方法大致可分为人工测试和基于计算机的测试。而代码检查、走查两种主要的人工测试方法,基于计算机的测试又可以分为白盒测试、黑盒测试和灰盒测试。 代码检查与走查有很多共同的相似点,一旦发现错误,通常能在代码中对其进行精确定位,这就降低了调试的成本。另外,这个过程通常发现成批的错误,这样错误就可以同时得到修正,而基于计算机的测试通常只能暴露出错误的某个表症。代码检查/走查与基于计算机的测试是互补的。缺少其中一种,错误检查的效率都会降低。 代码检查代码检查 所谓代码检查,是以组为单
2、位阅读代码,它是一系列规程和错误检查技术的集合。对代码检查的大多数讨论都集中在规程和所要填写的表格等。u代码检查小组代码检查小组 人员组成(4人)1. 协调人:分发材料、安排进程、记录发现的所有错误,确保所有错误随后得到纠正。2. 被测程序的编码人员。3. 程序的设计人员。4. 测试专家,应该具备较高的软件测试造诣并熟悉大部分常见的编码错误。u 实施过程实施过程1. 协调人在代码检查前几天分发程序清单和设计规范。2. 编码人员讲述程序的逻辑结构,其他人员提问并判断是否存在错误。3. 对照历来常见的编码错误列表分析程序。4. 注意力集中在发现错误而非纠正错误。5. 会议结束后,程序猿会得到一份已
3、发现错误的清单。 代码检查除了发现错误这个主要作用之外,还有几个有益的附带作用:其他参与者通过接触其他程序员的错误和编程风格同样受益匪浅,另外代码检查还是早期发现程序中最易出错部分的方法之一,有助于在计算机的测试过程中将更多的注意力集中在这些地方。 代码走查与代码检查很相似,都是以小组为单位进行代码阅读,是一系列规程和错误检查技术的集合。每个测试用例都在人们脑中进行推演,把测试数据沿程序的逻辑结构走一遍,程序的状态记录在纸张或白板上以供监视。 同行评审是一种通过作者的同行(开发、测试、QA等)来确认缺陷和需要变更区域的检查方法。 同行评审的目的是让程序员对自身的编程技术进行自我评价。 白盒测试
4、把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。又称结构测试或逻辑驱动测试或基于程序代码内部构成的测试。主要测试方法有逻辑覆盖、循环覆盖和基本路径测试。 软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:v对程序模块的所有独立的执行路径至少测试一次;v对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;v在循环的边界和运行界限内执行循环体;v测试内部数据结构的有效性。 黑盒测试把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结
5、构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。又称为功能测试、数据驱动测试或基于需求规格说明书的功能测试。主要测试方法包括等价类划分、边界值分析、因果图、错误推测等。 黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:v是否有不正确或遗漏了的功能?v在接口上,输入能否正确地接受? 能否输出正确的结果?v是否有数据结构错误或外部信息(例如数据文件)访问错误?v性能上是否能够满足要求?v是否有初始化或终止性错误? 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。 但这是不可能的。 单纯从名称上
6、来看,灰盒测试是介于黑盒测试与白盒测试之间的一种测试方式。 灰盒测试是基于程序运行时的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。为什么要写测试用例1. 理清思路,避免遗漏2. 跟踪测试进度进展3. 回归测试4. 历史参考什么是测试用例? 测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 测试用例文档测试用例文档简介测试用例版本号、模块名称、用例编号、用例名称、用例级别、预知条件、验证步骤、期望结果(含判断标准)、测试结果、测试时间、测试人员等
7、测试目的、测试范围、定义术语、参考文档、概述测试用例设计生成的基本准则测试用例设计生成的基本准则 测试用例的代表性:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等; 测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果; 测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。使用测试用例的好处主要体现在以下几个方面: 组织性:编写测试用例有利于测试的组织。在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 功能覆盖:测试用例可以确保功能不被遗漏。测试用例的使用令软件测试的实
8、施重点突出、目的明确。 重复性:在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。 跟踪:通过对测试用例的统计,可以确定下一步的测试重点。 测试确认:通过测试用例可以对测试过程进行有效的监督,可以准确有效的评估测试,并对测试是否完成有个量化的结果。常见的设计测试用例的方法:黑盒测试:等价类划分法、边界值分析法、因果图法、 错误推测法白盒测试:逻辑覆盖测试、基本路径测试和循环测试概念:等价类划分法指把所有可能的输入数据,即程序 的输入域分成若干个部分(子集)后,从每个子集中选取少数具有代表性的数据作为测试用例的方法。有效等价类有效等价类对程序的规格说明是有意义
9、的、合理的输入数据所构成的集合等价类等价类无效等价无效等价类类对程序的规格说明是无意义的、不合理的输入数据所构成的集合为了避免冗余或遗漏,下面给出6条划分等价类依据:1. 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.2. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类.3. 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.4. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.5. 在规定了输入数据必须遵守的
10、规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).6. 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.根据已列出的等价类表,按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 “一个程序读入3个整数,把这三个数值看作一个三角
11、形的3条边的长度值。这个程序要打印出信息,说明这个三角形是不等边的、是等腰的、还是等边的。” 我们可以设三角形的3条边分别为A,B,C。如果它们能够构成三角形的3条边,必须满足: A0,B0,C0,且A+BC,B+CA,A+CB。 如果是等腰的,还要判断A=B,或B=C,或A=C。 如果是等边的,则需判断是否A=B,且B=C,且A=C。输入条件输入条件有效等价类有效等价类无效等价类无效等价类是否三角形的三条边是否三角形的三条边(A0A0),), (1 1)(B0B0),), (2 2)(C0C0),), (3 3)(A+BCA+BC),), (4 4)(B+CAB+CA),), (5 5)(A
12、+CBA+CB),), (6 6)(A0A0),), (7 7)(B0B0),), (8 8)(C0C0),), (9 9)(A+BCA+BC),), (1010)(B+CAB+CA),), (1111)(A+CBA+CB),), (1212)是否等腰三角形是否等腰三角形(A=BA=B),), (1313)(B=CB=C),), (1414)(C=AC=A),), (1515)(ABAB)andand(BCBC)andand(CACA) (1616)是否等边三角形是否等边三角形(A=BA=B)andand(B=CB=C)andand(C=AC=A) (1717)(ABAB),), (1818)
13、(BCBC),), (1919)(CACA),), (2020)序号序号【A,B,C】覆盖等价类覆盖等价类输出输出1【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6)一般三角形一般三角形2【0 0,1 1,2 2】(7 7)不能构成三角形不能构成三角形3【1 1,0 0,2 2】(8 8)4【1 1,2 2,0 0】(9 9)5【1 1,2 2,3 3】(1010)6【1 1,3 3,2 2】(1111)7【3 3,1 1,2 2】(1212)8【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),
14、(),(4 4),(),(5 5),(),(6 6),(),(1313)等腰三角形等腰三角形9【3 3,4 4,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1414)10【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515)11【3 3,4 4,5 5】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1616)非等腰三角形非等腰三角形12【3 3,3 3,3 3】(1
15、1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1717)是等边三角形是等边三角形13【3 3,4 4,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1414),(),(1818)非等边三角形非等边三角形14【3 3,4 4,3 3】(1 1),(),(2 2),(),(3 3),(),(4 4),(),(5 5),(),(6 6),(),(1515),(),(1919)15【3 3,3 3,4 4】(1 1),(),(2 2),(),(3 3),(),(4 4),(
16、),(5 5),(),(6 6),(),(1313),(),(2020) 由测试工作的经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。实践证明为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。对边界值设计测试用例,应遵循以下几条原则:1. 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。2. 如果输入条件规定了值的个数,则用最大个数、最小
17、个数、比最小个数少一、比最大个数多一的数作为测试数据。3. 根据规格说明的每个输出条件,使用前面的原则1。4. 根据规格说明的每个输出条件,应用前面的原则2。5. 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。6. 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。7. 分析规格说明,找出其他可能的边界条件。1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。2. 因果图法产生的背景: 等价类划分法和边界值分析方法都是着重考虑输入条件,但没有
18、考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。3. 因果图介绍 4种符号分别表示了规格说明中向4种因果关系。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因
19、),右结点表示输出状态(或称结果)。4. 因果图概念1) 关系恒等:若ci是1,则ei也是1;否则ei为0。非:若ci是1,则ei是0;否则ei是1。或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。2) 约束输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。A.输入条件的约束有以下4类: E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。 I约束(或):a、b和c中至少有一个
20、必须是1,即 a、b 和c不能同时为0。 O约束(唯一);a和b必须有一个,且仅有1个为1。 R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。B.输出条件约束类型 输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。5. 采用因果图法设计测试用例的步骤:1)分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。2)分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。3)由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可
21、能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。4)把因果图转换为判定表。5)把判定表的每一列拿出来作为依据,设计测试用例。定义定义 基于经验和直觉推测程序中所有可能存在的各种错误 从而有针对性的设计测试用例的方法。错误推测方法的基本思错误推测方法的基本思想想 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。 例如, 输入数据和输出数据为0的情况,输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。u 语句覆盖u 判定覆盖u 条件覆盖u 判定/条件覆盖u 组合覆盖u 路径覆盖 逻辑覆盖逻辑覆盖:以程
22、序的内部逻辑结构为基础,常见的有以下几种覆盖:根据覆盖目标的不同,逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。 判定覆盖:通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值, 也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次,也称为“分支覆盖”。 条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。 判定/条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一
23、次,并且每个判定本身的判定结果(真/假)也至少出现一次。 满足判定/条件覆盖的测试用例一定同时满足判定覆盖和条件覆盖。 组合覆盖:通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。 满足组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定/条件覆盖。 路径覆盖:设计足够多的测试用例,要求覆盖程序中所有可能的路径。 1. Dim a,b As Integer2. Dim c As Double3. If (a0 And b0) Then4. c=c/a5. End if6. If (a1 or c1) Then7. c=c+18. End if9. c=b+cp语句
24、覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次。p如果是顺序结构,就是让测试从头执行到尾。p如果有分支、条件和循环,需要利用下面的方法,执行足够的测试覆盖全部语句。只需设计一个测试用例: a=2,b=1,c=6;即达到了语句覆盖。【优点优点】可以很直观地从源代码得到测试用例,无须细分每条判定表达式。【缺点缺点】由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。p判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次
25、,即判断真假值均曾被满足。p一个判定往往代表着程序的一个分支,所以判定覆盖也被称为分支覆盖。 a=2,b=1 ,c=6可覆盖判断M的Y分支和判断N的Y分支; a=-2,b=-1 ,c=-3可覆盖判断M的N分支和判断N的N分支 。 这两组测试用例可覆盖所有判定的真假分支。判断M判断N a=1,b=1 ,c=-3 可覆盖判断M的Y分支和判断N的N分支 ; a=1,b=-2 ,c=3可覆盖判断M的N分支和判断N的Y分支 ; 同样的这两组测试用例也可覆盖所有判定的真假分支。判断M判断N【优点优点】判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到
26、测试用例。【缺点缺点】往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。p条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次。result=maxint(iN) and (result=maxint)TrueFalsei0 取真 记为 T1 取假 记为 F1 条件 b0 取真 记为 T2 取假 记为 F2 判断N表达式:设条件 a1 取真 记为 T3 取假 记为 F3 条件 c1 取真 记为 T4 取假 记为 F4判断M判断N测试用例覆盖条件具体取
27、值条件a=2,b=-1,c=-2T1, F2, T3, F4a0,b1,c=1a=-1,b=2,c=3F1, T2, F3, T4a0,a1它覆盖了判定M的N分支和判断N的Y分支。我们用条件覆盖设计的思想就是让测试用例能覆盖我们用条件覆盖设计的思想就是让测试用例能覆盖T1T1、T2T2、T3T3、T4T4、F1F1、F2F2、F3F3、F4F4判断M判断N【优优点点】:增加了对条件判定情况的测试,增加了测试路径。【缺点缺点】:条件覆盖不一定包含判定覆盖。例如,我们刚才设计的用例就没有覆盖判断M的Y分支和判断N的N分支。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。p判定-条件
28、覆盖是判定和条件覆盖设计方法的交集,即设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次测试用例取值条件具体取值条件判定条件通过路径输入:a=2,b=1,c=6输出:a=2,b=1,c=5T1,T2,T3,T4a0,b0, a1,c1M=.T.N=.T.P1(1-2-4)输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5F1,F2,F3,F4a=0, b=0, a=1, c0,b0,M取真2T1,F2M=.F.a0,b=0,M取假3F1,T2M=.F.a0,M取假4F1,F2M=.F.a=0,b1,c1,N取真6T3,F4N
29、=.T.a1,c=1,N取真7F3,T4N=.T.a1,N取真8F3,F4N=.F.a=1,c=1,N取假v 按照条件组合覆盖的基本思想,对于前面的例子,我们把每个判断中的所有条件进行组合,设计组合条件如表所示,而我们设计的测试用例就要包括所有的组合条件。测试用例覆盖条件覆盖路径覆盖组合输入:a=2,b=1,c=6输出:a=2,b=1,c=5T1,T2,T3,T4P1(1-2-4)1,5输入:a=2,b=-1,c=-2输出:a=2,b=-1,c=-2T1,F2,T3,F4P3(1-3-4)2,6输入:a=-1,b=2,c=3 输出:a=-1,b=2,c=6F1,T2,F3,T4P3(1-3-4
30、)3,7输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5F1,F2,F3,F4P4(1-3-5)4,8覆盖了所有组合,但覆盖路径有限,1-2-5 没被覆盖测试用例覆盖条件覆盖判断覆盖组合a=2,b=1,c=6T1, T2,T3, T4M取Y分支,N取Y分支1,5a=2,b= -1,c= -2T1, F2, T3, F4M取N分支,N取Y分支2,6a=-1,b=2,c=3F1, T2, F3, T4M取N分支,N取Y分支3,7a= -1,b= -2,c= -3F1, F2, F3, F4M取N分支,N取N分支4,8要满足要满足1 1、2 2、3 3、4 4、5 5、6 6、7
31、 7、8 8条条件组合件组合【优点优点】条件组合覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则。【缺点缺点】线性地增加了测试用例的数量。p顾名思义,路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。测试用例覆盖路径覆盖条件覆盖组合输入:a=2,b=1,c=6输出:a=2,b=1,c=5P1(1-2-4)T1,T2,T3,T41,5输入:a=1,b=1,c=-3输出:a=1,b=1,c=-2P2(1-2-5)T1,T2,F3,F41,8输入:a=2,b=-1,c=-2输出:a=2,b=-1,c=-2P3(1-3-4)T1,F2,T3,F42,6输入:a=-1,b=2,c=3
32、输出:a=-1,b=2,c=6P3(1-3-4)F1,T2,F3,T43,7输入:a=-1,b=-2,c=-3输出:a=-1,b=-2,c=-5P4(1-3-5)F1,F2,F3,F44,8测试用例覆盖组合覆盖路径a=2,b=1,c=61,51-2-4a=1,b=1,c=-31,81-2-5a=-1,b=2,c=33,71-3-4a=-1,b=-2,c=-34,81-3-5【优点优点】这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。【缺点缺点】需要设计大量、复杂的测试用例,使得工作量呈指数级增长,不见得把所有的条件组合都覆盖。 从前面的例子我们可以看到,采用任何一种覆盖方法都不能满足我们的要求,所以,在实际的测试用例设计过程中,可以根据需要将不同的覆盖方法组合起来使用,以实现最佳的测试用例设计 。p控制流图(可简称流图)是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。p控制流图中包括两种图形符号:节点和控制流线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生室内投影课件
- 车间主任年终工作总结
- 重阳节活动-中学九九重阳节活动总结
- 教师学期末个人工作总结
- 幼儿园学雷锋日主题活动方案
- DB32∕T 4341-2022 水下道路隧道消防系统工程施工质量验收规范
- 小学一年级语文上册教学工作总结
- 幼儿园元宵节活动策划方案
- 小学生奇葩课件图片
- 水果健康课件图片大全
- 院感防控消毒知识培训课件
- 消防维保企业可行性方案
- 云原生测试实战
- GB/T 37400.18-2023重型机械通用技术条件第18部分:开式齿轮传动系统
- 抗生素的正确使用与合理配比
- 全球职等系统GGS职位评估手册
- 读书分享读书交流会《局外人》课件
- 第十六章-常见骨关节疾病评定技术-2肩周炎评定
- 子宫内膜增厚-疾病研究白皮书
- 设备管理四大标准
- 2023年国家电网公司电力安全工作规程(变电部分)2023年6月修订
评论
0/150
提交评论