版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 SOFTWARE ENGINEERINGCodeGenerationThe Development PhaseSoftwareTestingSoftwareDesign SOFTWARE ENGINEERINGSoftware Quality Assurance 软件质量保证(SQA)应该从产品的计划和设计开始,直到投入使用和售后服务的软件生存周期的每一个阶段中的每一个步骤,每一个有关的人,包括软件开发人员、测试人员、项目经理、销售人员和用户都必须严把质量关,只有这样才能保证软件的高质量,这就是现代软件质量保证的基本策略。 SOFTWARE ENGINEERINGSoftware Testi
2、ng测试是软件生命周期中的一个重要阶段。它直接影响着软件的质量和软件的可靠性。因此,人们往往花费了大量的时间和人力用于软件测试。在软件开发的全过程中,尽管对每个阶段均有严格的技术审查,但是,要发现所有的错误是不可能的。因此,软件在投入生产性运行之前要尽可能多地发现软件中的差错,以提高软件的质量。 SOFTWARE ENGINEERINGSoftware Testing一旦编码开始,正式测试必须随即开始。 测试要求开发者首先抛弃“刚开发的软件是正确的”这一先入为主的观念,然后努力去构造测试用例来“破坏”软件。神话:若我们确实擅长编程,就应当不会有错误。 SOFTWARE ENGINEERINGS
3、oftware Testing测试不应该被看作是安全网只有在软件体系结构完成后,独立的测试组(ITG)才介入任何测试策略都必须包含测试计划测试用例设计、测试执行及测试结果数据的收集与评估测试是可以事先计划并可以系统地进行的一系列活动 SOFTWARE ENGINEERINGSoftware TestingThe importance of software testing and its implications with respect to software quality cannot be overemphasized.Software testing is a critical el
4、ement of software quality assurance and represents the ultimate review of specification,design,and coding. SOFTWARE ENGINEERINGSoftware Testing开发人员应该意识到:所有的错误都是严重的,不存在微不足道的错误。这样才能少犯错误。 错误的分类是技术性的。如:手册错误可能导致机毁人亡。假设某个财务软件有两个错误:错误A使该系统死机,错误B导致工资计算错误。按分类,错误A比错误B严重。但事实上B要比A严重。 SOFTWARE ENGINEERINGSoftwar
5、e TestingIn fact,testing is the one step in the software engineering process that could be viewed (psychologically,at least) as destructive rather than constructive.Software developer are by their nature constructive people.错觉:“程序编完后,研制工作就接近尾声了”。实际:“测试占开发费用的40%至50%,对有关生命危险的软件甚至占80%” SOFTWARE ENGINEE
6、RINGSoftware Testing测试可靠性模型纠错评价软件配置测试配置测试结果错误改正预期的结果错误率数据预测的可靠性测试必须按照软件需求和设计阶段所制订的测试计划进行,其结果以“测试分析报告”的形式提交。回归测试测试计划文档的一部分 SOFTWARE ENGINEERING测试工作量 到目前为止,证明软件百分之百正确是不可能的,而且进行穷举测试也是不可能的。你永远也不能完成测试。因此我们的测试策略是在一定的开发周期和某种经济条件下,通过有限的测试以尽可能多地发现错误。按软件工程中的402040规则(编程工作占开发工作的20%,编程前-计划、需求分析、概要设计和详细设计,和编程后-测试
7、的工作量各占开发工作的40%)。测试在整个软件的开发中必须占40%左右的工作量。各类测试在测试总工作量所占的比例根据具体项目及开发人员的配置情况而定。 SOFTWARE ENGINEERING测试结束标志 依照测试工作量及下述标准可判定是否可以结束测试过程:如果测试没有发现错误,说明测试失败,则必须更换测试人员作进一步测试。如果有规律地出现一些严重的,需要修改设计的错误,则说明软件的质量和可靠性存在问题,必须重写相应模块,甚至整个软件。如果软件功能正常,发现的错误容易纠正,则说明软件的质量和可靠性可接受(不排除测试不充分的可能)。 SOFTWARE ENGINEERINGTesting Obj
8、ectivesTesting is a process of executing a program with the intent of finding an error.A good test case is one that has a high proba-bility of finding an as-yet undiscovered error.A successful test is one that uncovers an as-yet undiscovered error.Testing cannot show the absence of defects,it can on
9、ly show that software errors are present. SOFTWARE ENGINEERINGTesting Objectives理解测试的目的是个很重要的意识问题。如果说测试的目的是为了说明程序中没有缺陷,那么测试人员就会向这个目标靠拢,因而下意识地选用一些不易暴露错误的测试示例。这样的测试是虚假的。目前的科技成果鉴定会普遍存在类似的虚假现象。尽管已经明白了测试的目的是为了发现尽可能多的缺陷,但当测试人员真的发现了一堆缺陷时,却不可乐颠颠地跑去恭喜那个倒霉的开发者,否则会打架的。 SOFTWARE ENGINEERING测试与质量测试有助于提高软件的质量,但是提
10、高软件的质量不能依赖于测试。测试与质量的关系很象在考试中“检查”与“成绩”的关系。 学习好的学生,在考试时通过认真检查能减少因疏忽而造成的答题错误,从而“提高”了考试成绩(取得他本来就该得的好成绩)。 而学习差的学生,他原本就不会做题目,无论检查多么细心,也不能提高成绩。 软件的高质量是设计出来的,而不是靠测试修补出来的。 SOFTWARE ENGINEERINGTesting Principles(1)All tests should be traceable to customer requirements.Tests should be planed long before testin
11、g begins.The Pareto principle applies to software testing. Stated simply,the Pareto principle implies that 80 percent of all errors uncovered during testing will likely be traceable to 20 percent of all program modules. SOFTWARE ENGINEERINGTesting Principles(2)Testing should begin “in the small” and
12、 progress toward testing “in the large.”Exhaustive testing is not possible.To be most effective,testing should be conducted by an independent third party. SOFTWARE ENGINEERINGTesting Principles(3)程序员或程序设计机构不应测试自己设计的程序;测试用例设计不仅要有确定的输入数据,而且要有确定的、详尽的预期输出数据;测试用例设计不仅要有合理的输入数据,还要有不合理的输入数据;除了检查程序是否做完了它应做的事
13、之外,还要检查它是否做了不应做的事;保留全部测试用例,并作为软件配置的组成部分之一;程序中存在错误的概率与该段程序中已经发现的错误数成正比。 SOFTWARE ENGINEERINGTestability(可测试性)Operability: “The better it work,the more efficiently it can be tested.”Observability: “What you see is what you test.”Controllability: “The better we can control the software,the more the tes
14、ting can be automated and optimized.” SOFTWARE ENGINEERINGTestability(可测试性)Decomposability: “By controlling the scope of testing,we can more quickly isolate problems and perform smarter retesting.”Simplicity: “The less there is to test,the more quickly we can test it.”Stability: “The fewer the chang
15、es,the fewer the disruptions to testing.”Understandability: “The more information we have,the smarter we will test.” SOFTWARE ENGINEERINGAttributes of a “good” testA good test has a high probability of finding an error.A good test is not redundant.A good test should be “best of breed.” The test that
16、 has the highest likelihood of uncovering a whole class of errors should be used.A good test should be neither too simple nor too complex. SOFTWARE ENGINEERING软件测试分类测试分为如下的几类: 模块测试(单元测试、分调、单调) 组装测试(整体测试、集成测试、联调) 有效性测试 (确认测试)系统(组装、集成)测试 并行测试(平行测试、双轨制运行) 测试、测试验收测试(接收测试):由用户完成此外部分测试可能需要进行回归测试。 SOFTWARE
17、 ENGINEERING软件测试步骤模块测试确认测试组装测试模块模块测试模块测试模块模块系统测试设计信息经装配好 的软件测试过的模块软件需求确认过的软件其他系统元素可运行的系统软件试运行、验收 SOFTWARE ENGINEERING测试过程和研制过程的对应关系系统定义需求分析详细设计组装测试模块测试确认测试系统测试验收测试软件计划概要设计编码研制是一个自顶向下逐步细化的过程,而测试则是按相反顺序的集成过程。 SOFTWARE ENGINEERING测试方法和测试技术测试方法和测试技术静态技术动态技术桌前检查代码会审黑盒测试步行检查白盒测试路径测试条件测试数据测试循环测试等价类划分边界值分析比
18、较测试 SOFTWARE ENGINEERING测试用的程序实例三角形问题:接受3个1100之间的整数,判别由这3条边构成的三角形的类型:等边、等腰、不等边或非三角形。NextDate函数:接受3个整数,输出非法日期或输入日期的下一个日期。佣金问题:销售商根据不同的销售额可以获得不同的奖励。 SOFTWARE ENGINEERING测试方法和测试技术程序的静态分析检查逻辑设计和编码错误。不涉及程序的实际执行,用人工进行分析。桌前检查(Desk Check):程序员自己检查程序效果不太理想。解决办法:互相交换程序检查。代码会审(Code Inspections):由一组人通过阅读、讨论和争议,对
19、程序进行静态分析的过程。步行检查(Walkthroughs):预先准备测试数据,让与会者充当“计算机”一检查程序的状态。有时比真正运行程序可能发现更多的错误。 SOFTWARE ENGINEERING测试方法和测试技术程序的动态测试在程序的测试中,十全十美的测试情况是不存在的,即任何程序的测试都是不彻底的,测试不能发现程序中的所有错误。在测试方法中,最简单的,也是最差的一种测试方法是随机输入的测试。这种将随机选择的输入值作为输入数据的测试往往检测不出较多的错误。通常,在程序的测试中采用二类方法:黑盒法和白盒法。 SOFTWARE ENGINEERING测试方法和测试技术程序的动态测试无论是白盒
20、法还是黑盒法,关键都是如何选择高效的测试用例(高效的测试用例是指一个用例能够覆盖尽可能多的测试情况,从而提高测试效率)。Black-box testing alludes to test that are conducted at the software interface.White-box testing of software is predicated on close examination of procedural detail. SOFTWARE ENGINEERING测试方法和测试技术程序的动态测试由于无法进行穷举测试,所以测试用例(test case)的设计在软件测试中起
21、很重要的作用。测试用例设计的基本目的是确定一组最有可能发现某个错误或某类错误的测试数据。 测试用例的设计技术有许多种。如:路径测试,各种逻辑覆盖(语句、条件、循环等),等价类划分,边界值分析,因果图和程序图等图形技术。 SOFTWARE ENGINEERING测试方法和测试技术White-box TestingWhite-box testing,sometimes called glass-box testing,is a test case design method that uses the control structure of the procedural design to de
22、rive test cases.白盒法检查程序的内部结构,即检测程序的逻辑。 SOFTWARE ENGINEERING测试方法和测试技术White-box TestingUsing white-box testing methods,the software engineer can derive test cases that (1)guarantee that all independent paths within a module have been exercised at least once;(2)exercise all logical decision on their tr
23、ue and false sides;(3)execute all loops at their boundaries and within their operational bounds;and (4)exercise internal data structures to assure their validity. SOFTWARE ENGINEERINGWhite-box TestingBasic Path TestingThe basic path method enables the test designer to derive a logical complexity mea
24、sure of a procedural design and use this measure as a guide for defining a basic set of execution paths.Test cases derived to exercise the basic set are guaranteed to execute every statement in the program at least one time during testing. SOFTWARE ENGINEERINGWhite-box Testing Basic Path TestingFlow
25、 Graph NotationSequenceIf-then-elseCaseWhileUntilFlow graph Notation SOFTWARE ENGINEERINGTranslating Flow chart and PDL to a flow graph.2,3987614,51011R1R4R3R2NodeEdgeRegionWhite-box Testing Basic Path TestingFlow Graph Notation SOFTWARE ENGINEERINGMcCabe认为程序的复杂性很大程度上取决于程序控制流的复杂性。Cyclomatic(环路) Comp
26、lexity is a software metric that provides a quantitative measure of the logical complexity of a program.Cyclomatic complexity has a foundation in graph theory and provides us with an extremely useful software metric.White-box Testing Basic Path TestingCyclomatic complexity SOFTWARE ENGINEERINGComple
27、xity is computed in one of three ways:The number of regions of flow graph correspond to the cyclomatic complexity.Cyclomatic complexity,V(G),for a flow graph G is define as V(G)=Edge-Node+2.cyclomatic complexity,V(G),for a flow graph G is also define as V(G)=P+1,where P is the number of predicate no
28、des contained in the flow graph G.White-box Testing Basic Path TestingCyclomatic complexity SOFTWARE ENGINEERINGCyclomatic complexity for example can be computed:The flow graph has 4 regions.V(G)=11edges-9nodes+2=4V(G)=3 predicate nodes+1=4测试工作量和潜在错误的个数与V(G)成正比McCabe认为在一个模块内 V(G)一般应控制在10以内,当V(G)在3至9
29、之间时被认为是良好的结构和恰当的复杂性(度)。White-box Testing Basic Path TestingCyclomatic complexity SOFTWARE ENGINEERINGThe value computed for cyclomatic complexity defines the number of independent paths I the basic set of a program and provide us with an upper bound for the number of the tests that must be conducted
30、 to ensure that all statements have been executed at least once.White-box Testing Basic Path TestingIndependent Paths SOFTWARE ENGINEERINGAn independent path is any path through the program that introduces at least one new set of processing statements or a new condition.When stated in terms of a flo
31、w graph,an independent path must move along at least edge that has not been traversed before the path is defined. White-box Testing Basic Path TestingIndependent Paths SOFTWARE ENGINEERINGA set of independent paths for example:Path 1:1-11Path 2:1-2-3-4-5-10-1-11Path 3:1-2-3-6-8-9-10-1-11Path 4:1-2-3
32、-6-7-9-10-1-11The path 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11is not considered to be an independent path.White-box Testing Basic Path TestingIndependent Paths SOFTWARE ENGINEERINGThe basic path testing method can be applied to a procedural design or to source code.Using the design or code as a foundation,
33、 draw a corresponding flow graph.Determine the cyclomatic complexity of the resultant flow graph.Determine a basic set of linearly independent paths.Prepare test cases that will force execution of each path in the basic set.White-box Testing Basic Path TestingDeriving Test Cases SOFTWARE ENGINEERING
34、白盒法又称为逻辑覆盖法,因为要以程序(模块)内部的逻辑结构为基础来设计测试用例,主要用于单元测试。White-box TestingCondition Testing语句覆盖判定覆盖条件覆盖判定条件覆盖条件组合覆盖弱强 SOFTWARE ENGINEERINGCondition testing is a test case design method that exercises the logical conditions contained in a program module.The condition testing method focuses on testing each co
35、ndition in the program.条件测试包括四类覆盖:判定覆盖、条件覆盖 、判定/条件覆盖 、条件的组合覆盖White-box TestingCondition Testing SOFTWARE ENGINEERINGWhite-box TestingCondition Testing开始X=X/A A1 AND B=0结束 X=X+1 A=2 OR X1YY被测试的程序的流程图aedcbNN SOFTWARE ENGINEERING判定覆盖又称作分支覆盖,它是使程序中的每个判定至少出现一次“真值”和一次“假值”,即程序中的每个分支至少经过一次。对此,我们可以设计如下测试数据对判
36、定逻辑进行覆盖: A=3,B=0,X=1(通过路径acd) A=2,B=1,X=3(通过路径abe)White-box TestingCondition Testing判定覆盖 SOFTWARE ENGINEERING条件覆盖是判定中的每个条件的所有可能的结果至少出现一次,并且使每条语句(不是每个分支)至少执行一次(语句覆盖)。 对此,条件覆盖的测试可由下面两组数据进行: A=2,B=0,X=4 (通过路径ace) A=1,B=1,X=1 (通过路径abd)条件覆盖一般情况下比判定覆盖要强。 White-box TestingCondition Testing条件覆盖 SOFTWARE ENG
37、INEERING但是,也有例外的情况(如果,测试数据设计得不好的话),例如下例所示:IF A1 AND B=0 中,若设计一组条件覆盖的测试数据如下: A=2,B=1 A=1,B=0则这组数据满足条件覆盖,但不会执行IF语句中的THEN的子句。White-box TestingCondition Testing条件覆盖 SOFTWARE ENGINEERING设计下面两组数据: A=1,B=0,X=3 A=2,B=1,X=1满足条件覆盖(四个条件:A1, B=0, A=2, X1均取过“真”值和“假”值)但它们都通过路径abe,所以不满足判定覆盖。 White-box TestingCondi
38、tion Testing条件覆盖 SOFTWARE ENGINEERING判定/条件覆盖方式是使判定中每个条件的所有可能结果至少出现一次。而每个判定本身所有的可能结果也至少出现一次。 下面两组数据满足判定/条件覆盖: A=2,B=0,X=4 (通过路径ace) A=1,B=1,X=1 (通过路径abd)White-box TestingCondition Testing判定/条件覆盖 SOFTWARE ENGINEERING条件的组合覆盖所设计的测试数据使每个判定中的条件的各种组合至少出现一次,并且每条语句至少执行一次。例子中条件的所有可能组合有8种:A1,b0 A2,X1A1,b0 A2,X
39、1A1,b0 A2,X1A1,b0 A2,X1White-box TestingCondition Testing条件的组合覆盖 SOFTWARE ENGINEERING要测试上述8种组合(满足条件组合覆盖),可设计下述4组数据:A=2,B=0,X=4 覆盖A=2,B=1,X=1 覆盖A=1,B=0,X=2 覆盖A=1,B=1,X=1 覆盖但上述的4组测试数据并没有覆盖所有的每一条路径(路径acd未通过)。White-box TestingCondition Testing条件的组合覆盖 SOFTWARE ENGINEERINGThe data flow testing method sele
40、cts test paths of a program according to the location of definition and uses of variables in the program.One simple data flow testing strategy is to require that every DU chain be covered at least once.We refer to this strategy as the DU testing strategy. It has been shown that DU testing does not g
41、uaranteed to be coverage of all branches of a program.White-box TestingData Flow Testing SOFTWARE ENGINEERINGLoop testing is a white-box testing technique that focuses exclusively on the validity of loop constructs. Four different classes of loops can be defined: simple loops,concatenated loops,nest
42、ed loops, and unstructured loops.White-box TestingLoop Testing SOFTWARE ENGINEERINGThe following set of tests should be applied to simple loops.Skip the loop entirely.Only one pass through the loop.Two passes through the loop.M passes through the loop where mn.n-1,n,n+1 passes through the loop.Where
43、 n is the maximum number of allowable passes through the loop.White-box Testing Loop TestingSimple Loops SOFTWARE ENGINEERINGBeizer suggests an approach that will help to reduce the number of tests:Start at the innermost loop.Set all other loops to minimum values.Conduct simple loop tests for the in
44、nermost loop while holding the outer loops at their minimum iteration parameter(e.g.,loop counter)values.Add other tests for out-of range or excluded values.White-box Testing Loop TestingNested Loops(1) SOFTWARE ENGINEERINGWork outward,conducting tests for the next loop,but keeping all other outer l
45、oops at minimum values and other nested loops to “typical” values.Continue until all loops have been tested.White-box Testing Loop TestingNested Loops(2) SOFTWARE ENGINEERINGConcatenated loops can be tested using the approach defined above for simple loops if each of the loops is independent of the
46、other. When the loops are not independent,the approach applied to nested loops is recommended.White-box Testing Loop TestingConcatenated Loops SOFTWARE ENGINEERINGWhenever possible,this class of loops should be redesigned to reflect the use of the structured programming constructs.White-box Testing
47、Loop TestingUnstructured Loops SOFTWARE ENGINEERING测试方法和测试技术Black-box Testing黑盒法是把测试对象看作一个黑盒,测试时完全不考虑程序的内部的逻辑结构与内部特性,只需根据需求规格说明书,测试程序的功能或程序的外部特性。因此黑盒法又称为功能测试或数据驱动测试。常用的测试方法有:等价分类法边值分析法错误推测法因果图法软件输入输出 SOFTWARE ENGINEERING测试方法和测试技术Black-box TestingBlack-box testing focuses on the functional requiremen
48、ts of the software.That is,black-box testing enables the software engineer to derive sets of input conditionals that will fully exercise all functional requirements for a program.Black-box testing is not an alternative to white-box techniques.Rather,it is a complementary approach that is likely to u
49、ncover a different class of errors than white-box methods. SOFTWARE ENGINEERING测试方法和测试技术Black-box TestingBlack-box testing attempts to find errors in the following categories:Incorrect or missing functions;Interface errors;Errors in data structures or external data base access;Performance errors;and
50、Initialization and termination errors. SOFTWARE ENGINEERING测试方法和测试技术Black-box TestingUnlike white-box testing,which is performed early in the testing process,black-box testing terns to be applied during later stages of testing. Because black-box testing purposely disregards control structure,attenti
51、on is focused on the information domain. SOFTWARE ENGINEERING测试方法和测试技术Black-box TestingTests are designed to answer the following questions:How is functional validity tested?What classes of input will make good test cases?Is the system particularly sensitive to certain input values?How are the bound
52、aries of a data class isolated?What data rates and data volume can the system tolerate?What effect will specific combinations of data have on system operation? SOFTWARE ENGINEERINGThe first step in black-box testing is to understand the objects that are modeled in software and the relationships that
53、 connect these objects.Once this has been accomplished,the next step is to define a series of tests that verify “all objects have the expected relationship to one another.”Black-box TestingGraph-Based Testing SOFTWARE ENGINEERINGStated in another way,software testing begins by creating a graph of im
54、portant objects and their relationships and then devising a series of tests that will cover the graph so that each object and relationship is exercised and errors are uncovered.Black-box TestingGraph-Based Testing SOFTWARE ENGINEERINGEquivalence partitioning is a black-box testing method that divide
55、s the input domain of a program into classes of data from which test cases can be derived.Equivalence partitioning strives to define a test case that uncovers classes of errors,thereby reducing the total number of test cases that must be developer.Black-box TestingEquivalence Partitioning SOFTWARE E
56、NGINEERINGTest case design for equivalence partitioning is based on an evaluation of equivalence classes for an input condition.Equivalence classes may be defined according to the following guidelines:If an input condition specifies a range,one valid and two invalid equivalence classes are defined.B
57、lack-box TestingEquivalence Partitioning SOFTWARE ENGINEERINGIf an input condition requires a specific value,one valid and two invalid equivalence classes are defined.If an input condition specifies a member of a set, one valid and one invalid equivalence classes are defined.If an input condition is
58、 Boolean,one valid and one invalid class are defined.Black-box TestingEquivalence Partitioning SOFTWARE ENGINEERINGApplying the guidelines for the derivation of equivalence classes,test cases for each input domain data item could be developed and executed.Test cases are selected so that the largest
59、number of attributes of an equivalence class are exercised at once.Black-box TestingEquivalence Partitioning SOFTWARE ENGINEERINGFor reason that are not completely clear, a greater number of errors tend to occur at the boundaries of the input domain than in the “center.”It is for this reason that bo
60、undary value analysis(BVA) has been developed as a testing technique.Boundary value analysis leads to a selection of test cases that exercise bounding value.Black-box TestingBoundary Value Analysis SOFTWARE ENGINEERINGBoundary value analysis(BVA) is a test case design technique that complements equi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 测井绘解工诚信品质测试考核试卷含答案
- 锻件切边工操作管理竞赛考核试卷含答案
- 2026年仿生材料(仿生皮肤骨骼)项目可行性研究报告
- 2026年智能煎蛋器项目公司成立分析报告
- 2026年创新CROCDMO服务项目可行性研究报告
- 2026年供热管网节能改造项目公司成立分析报告
- 2026年垂直大模型项目可行性研究报告
- 七台河市新兴区法院系统招聘考试真题2025
- 2026年云计算平台升级改造合同
- 2026年环境影响评价工程师考试题库含环境监测
- 2026四川凉山州雷波县粮油贸易总公司面向社会招聘6人考试参考题库及答案解析
- 2024-2025学年广东省广州市越秀区九年级上学期期末数学试卷(含答案)
- 2026北京海淀初二上学期期末英语试卷和答案
- 多进制LDPC码编译码算法:从理论到硬件实现的深度剖析
- 2025年医院财务部工作总结及2026年工作计划
- 基于新课程标准的小学数学“教学评一致性”实践与研究课题开题报告
- 2026省考广西试题及答案
- 中国临床肿瘤学会(csco)乳腺癌诊疗指南2025
- 2025年(第十二届)输电技术大会:基于可重构智能表面(RIS)天线的相控阵无线通信技术及其在新型电力系统的应用
- 带压开仓培训课件
- 护理儿科中医题库及答案解析
评论
0/150
提交评论