8第八单元单元测试

2024-07-07

8第八单元单元测试(共12篇)(共12篇)

1.8第八单元单元测试 篇一

一、教学目标与要求

通过本单元复习,使学生巩固到目前为止所学过的主要句型。并加深对已出现的语法现象的理解、培养学生运用语言的能力,用所学过的语言知识来表示问候、介绍、感谢、道别等。还要进一步强化学生的笔头训练。

二、复习要点

1、日常交际用语(Unit 1~Unit 7).

2、语法(Unit 2~Unit 7)

3、词汇(略)。

三、课时安排

本单元共4课时,每课1课时。

第二十九课Lesson Twenty-nine

一、教学内容

复习数词、名词复数形式及有关句型 。

二、教具

录音机;写好one至twelve这些基数词的小黑板。

三、课堂教学设计

1、复习日常交际用语。

2、学习课文第三部分。听录音,回答练习册上习题1的问题。

放录音之前,先让学生看一遍问题。录音放3遍,然后核对答案。

3、拿出事物准备好的小黑板,小结到目前为止学过的基数词,要求学生要把1~12这些基数词做到四会(听、说、读、写)。

4、指导学生做课文第1部分“Next Number”的游戏。教师讲明游戏规则,一次找一组同学来做。看哪一组能数得最多。

5、两人一组,做课文第2部分的问答游戏。请六个小组表演自己的答案,教师加以讲评。

6、指导学生做练习册习题。在复习阶段,建议增加笔头练习量,练习册上习题尽量用笔头形式完成。即使是说、读的练习,也可以让学生回家后抄写一遍。有些长句、难句、以及复习要点中列出的主要句型,有用的表达术语等,可以试着让学生抄写并译成汉语。布置作业时,可根据学生的实际情况适量增加笔头练习。

7、布置作业

完成练习册习题。

第三十课Lesson thirty

一、教学内容

复习物主代词及有关句型。

二、教具

录音机;一个自行车牌照。

三、课堂教学设计

1、复习日常交际用语。

2、打开课本,教师与学生谈论图片,同时介绍并领读该课生词。

3、合上书,放本课录音。放录音之前,教师先板书一个问题:(注)

How old is the boy?

放录音,一至两遍。学生先听,然后回答这个问题。再放录音。分段放,学生跟读,反复几遍。

4、将学生分成3个大组,每组练习一段对话(第三组练习后两段)。教师分别请几个学生在前面表演。

5、指导学生做练习册题。

6、布置作业

1)练习朗读本课对话;2)完成练习册习题。

四、交际用语

A:Excuse me! 劳驾。

B:Yes? 什么事?

Yes一词不仅用来对疑问句表示肯定应答,而且还有一些其他用法。在上面的例子中,yes表示“什么事?”有请对方继续说下去 意思。这时yes要用升调。例如:

Mother:Tom!汤姆!

Tom:Yes,mother?干什么,妈妈?

注:如生源情况较好,教师也可以用口头形式,提出该问题,重复一至两遍。

第三十一课Lesson Thirty-one

一、教学内容

1、复习特殊疑问句(Unit 1~Unit 7)

2、学唱:The Spelling Song

二、教具

录音机;大卡片一张(条目与本课第一部分的卡片相同,但内容可在每个条目下多准备几份。如Name下面,可准备3~5个人名,分别写在纸条上,以便替换使用。)

三、课堂教学设计

1、复习上一课所学对话,可替换使用其他名词。

2、教师指导学生过一遍课文第一部分中卡片上的内容。然后,就卡片上提供的情况,教师向全班(或个别学生)提问。

两人一组就书上卡片的内容,再做一遍问答练习。教师找7组同学在班上表演。

3、教师拿出事先准备好的大卡片,不断更换卡片上内容,让学生两人一组,进行回答。根据时间情况,如允许,可多更换几次。找几组同学,就大卡片上的内容,进行问答练习。

4、指导学生完成练习册3、4题(练习4也可以作为家庭作业)。

5、指导学生学唱:The Spelling Song.

6、做练习册上其他习题。

7、布置作业

1)唱The Spelling Song.2)完成练习册习题。

第三十二课

一、教学内容

1、复习元音字母的发音,学习元音字母的发音。

2、语法:复习动词、人称代词和物主代词。

二、教具

录音机

三、课堂教学设计

1、复习歌曲:The Spelling Song.

2、放课文第一部分录音,学生跟读两遍。教师小结元音字母在所给单词中的读音。可以考虑写出音标的形式。启发学生观察以上4个元音字母在所列出的单词中为什么有不同的发音。最后,教师可简单扼要地小结一下(在这个阶段,不一定将开音节、闭音节的概念介绍给学生)。

3、继续学习元音字母u的读音。方法同上。指导学生读练习册第2题。

4、合上书。放课文第三部分录音。放录音之前,教师先板书两个问题:

放录音,一至两遍。学生回答刚才的问题。再放录音,学生跟读两至三遍。

5、打开练习册,做练习1,先叫几个学生用口头回答,全部正确后,可将其作为笔头作业留给学生。

指导学生做练习3。

6、过一遍复习要点(8)的内容。这一次可以让学生自己看,如有问题,可以提问。如时间允许,可让学生试着将复习要点中所列出的疑问句口答一遍,也可以将其作为笔头作业布置下去。

7、布置作业

完成练习册习题。

注:因本单元是复习课,接下去进行期中练习,故不再设计单元小测验。

2.8第八单元单元测试 篇二

随着汽车电子控制单元(Electronic Control Unit,以下简称ECU)的发展,ECU的质量对整车质量的影响越来越大,ECU的测试作为其开发过程中必不可少的一部分,对保证其质量是至关重要的。传统意义上理解的ECU测试可能仅仅是对应用功能的测试,但实际上,ECU的开发过程中包含了各种不同侧重点的测试活动,正是这些测试活动组合在一起才能真正有效保证其质量。本文以实际工作经验为基础,阐述了各项测试活动的测试内容、测试意义及测试实施要点,对入行不久的ECU开发测试工程师或其相关的产品设计发布工程师均具有一定的借鉴意义。

1 测试流程

ECU的测试流程与开发流程是息息相关的,不同的开发阶段,测试活动有所偏重,具体如图1所示。需要说明的是,软件开发基础阶段即ECU基本功能实现,协议层较为稳定;软件开发完备阶段即ECU全部功能实现,且基本功能已通过测试验证。同一阶段的测试活动一般没有严格的先后顺序,可以同时进行。

2 测试活动详述

2.1 代码测试

代码测试作为最初级的测试活动,旨在保证代码质量,其包括三个环节,每一个环节都可在专业的测试工具下搭建测试环境进行测试活动。

一是代码审查,可使用DAC工具,通过创建项目、配置项目、选择规则/度量标准、执行检查等操作生成测试结果,然后对生成的结果进行分析整理,形成测试报告。其主要作用是参考MISRA-C等规则检查代码的编程规范。

二是静态分析,可使用Goanna工具,在安装了Goanna的集成开发环境中创建项目,运行Goanna生成测试结果,然后对生成的结果进行分析整理,形成测试报告。其主要作用是检测代码的运行时错误,如数组/指针越界、死循环、死代码等。

三是动态单元测试,测试之前需要根据需求分析文档、软件详细设计文档等设计相应的测试用例,然后可使用Tessy工具,创建测试项目、指定测试环境和添加源文件、编辑测试接口、输入测试用例、执行测试生成测试结果,然后对生成的结果进行分析整理,形成测试报告。其主要作用是通过实际运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能。

虽然专业的测试工具有其不可替代的优势,特别是Tessy这种专门用于嵌入式软件动态测试的工具,但考虑到开发成本问题,代码测试也可以通过手动代码审查及在原有开发环境中编写测试脚本进行动态测试来代替。当然,这种测试方式对代码测试人员的专业素质有着更高的要求。

2.2 总线协议测试

总线协议测试包括总线性能测试和诊断协议测试两个部分。总线和诊断是大多数ECU必不可少的功能,具备较强的的通用性。

总线性能测试主要以总线所遵循的标准(如CAN总线基于ISO11898)、及被测ECU的通讯矩阵等为依据制定测试规范,测试内容[1]包括物理层、数据链路层、交互层、网络管理、网络错误处理等,其一般测试环境配置如图2所示,其中总线监测/模拟系统如Vector的CANoe,总线干扰仪如CANstress,总线示波器如CANscope等。由于Vector的工具彼此适配良好且具备强大的开发功能,我们可以通过编写测试脚本实现总线性能的自动化测试。

诊断协议测试主要以总线所遵循的诊断标准(如CAN总线基于ISO 14229/ISO 15765)、及被测ECU的诊断参数列表为依据制定测试规范,测试内容包括被测ECU的诊断参数列表上定义的所有诊断服务。该测试也可利用特定的测试工具进行自动化测试,如利用Vector的CANdela生成诊断数据库文件,利用CANdiva进行诊断规范的自动化测试等。

2.3 系统功能测试

系统功能测试是最基本的测试活动,其着眼于ECU的应用功能,一般可分为台架测试和实车测试两个部分。无论是台架测试还是实车测试,都需要根据功能需求规范等需求文档进行需求分析并编写测试用例,台架测试应尽可能多的覆盖所有测试用例,而实车测试一般难以覆盖所有的测试用例,如故障情况、极限条件情况、整车供电变化情况等。除此之外,ECU的开发一般与整车开发同步,而开发阶段的实车测试资源有限,这也是实车测试的局限。

正因为实车测试的局限性,为避免测试疏漏,台架测试环境应尽量模拟实车环境。传统台架测试环境一般包括电源、被测ECU、实际/模拟的I/O口、总线监测/模拟工具及其他测试测量工具等,这对于ECU开发初期的功能测试是必不可少的,它便于分析问题原因,便于优化测试用例及测试方法。但当ECU的开发趋于稳定,开发周期越来越短,基于传统台架测试环境的功能测试就显得有些笨拙,我们需要更加智能便捷的自动化测试。典型的自动化测试系统如HIL等[2],它将传统台架测试所需的各个部分集成在一起,并带有测试开发环境,通过编写测试脚本,可以实现大多数测试用例(通常是已经过台架测试优化的)的自动化测试。图3展示了一个HIL系统的测试机柜及其开发环境编写的测试界面。除了专业的自动化测试系统,我们也可以利用常用总线工具(如CANoe、Vehicle Spy)的开发功能,甚至结合方便调用各类硬件接口的开发环境(如Lab VIEW)实现半自动化测试,如此既提升了测试效率也兼顾了测试成本。

然而,无论台架测试环境多么仿真实车环境,实车测试仍是必不可少的。实际的测试活动中,实车测试往往能发现许多令人难以想像的问题甚至是设计缺限。对于一般的汽车电子零部件供应商,实车测试常常到主机厂DRE验收测试才进行,但对于主机厂自主开发的ECU,实车测试的进行就相对要便利得多。

2.4 性能参数测试

各ECU的性能参数千差万别,如音视频导航系统的音频、视频、GPS相关性能指标,BCM/PEPS系统的射频、低频通信指标,也有如同最大工作电流、休眠电流等通用的性能参数。性能参数是否达标既依赖于ECU开发初期的硬件选型,也依赖于软件实现。因此,我们不能仅仅依靠硬件供应商提供的性能参数报告,而需要在软件集成达到一定成熟度时,进行整体的性能参数测试。当然,很多性能参数的测试对测试环境及测式设备要求较高,ECU的开发商可以根据自身的测试资源选择自己进行测试或到专业的实验室完成测试。

2.5 可靠性测试

可靠性测试是一个比较宽泛的概念,这里主要指软件的可靠性测试,对于硬件的可靠性测试,则主要在环境试验中体现,下一节将会具体阐述。

软件可靠性测试有压力测试、交互测试、破坏测试、随机测试等测试方式。压力测试通常以最基本的功能为基础,通过制造极端条件(如总线负载率达100%)或大量重复操作(如反复点火)等来验证ECU在压力状态下功能是否正常。交互测试可分为内部交互与外部交互,内部交互主要考虑ECU各功能模块之间的影响,外部交互则考虑被测ECU与车上其他ECU之间的影响。破坏测试即故意制造错误条件,以验证ECU在错误状态下的保护机制,并且能否从错误中恢复。随机测试,顾名思义就是进行随机操作,在没有被预先设定的测试规范所框住的情况下,随机测试常常会有意想不到的收获。

事实上,可靠性测试可以认为是系统功能测试的有效补充,很多ECU的开发甚至不会严格区分这两者,只是在测试的不同阶段,执行上会有所偏重。在ECU开发初期,一般主要进行基本的系统功能测试,当系统功能趋于稳定的时候,会日渐加重可靠性测试的执行度。可靠性测试的执行过程中,压力测试、交互测试、破坏测试可通过自动化测试达到较高的执行效率和执行覆盖度,随机测试则一般通过手动测试进行。

2.6 环境试验及电磁兼容试验

环境试验[3]3]即考察ECU在不断经受自身及外界气候环境、机械环境影响的情况下,是否仍能在一定寿命时间内保持正常工作。它可以被认为是一种基于硬件性能的可靠性测试。环境试验的具体项目包括电气试验、机械试验、温度试验、湿度试验、盐雾腐蚀试验、耐工业试剂试验、外壳防护试验、可靠性耐久试验等,不同的ECU所需试验的项目及试验要求都不尽相同。按开发阶段划分,环境试验可分为设计验证(Design Validation,DV)和产品验证(Product Validation,PV)两个部分。设计验证需要进行所有项目的试验,试验样品所用的材料、尺寸等必须符合量产状态,试验结果将作为设计冻结的依据,使ECU进入小批量生产阶段;而产品验证可以只选取部分在设计验证试验期间出现失效或者认为风险较高或者生产工艺对试验结果有影响的试验项目,但试验样品必须是从正式生产线制造出来的,试验结果将决定ECU能否正式进入批量生产阶段。

很多时候我们需要在特定的环境试验箱中进行耐久试验,试验过程的监控首先应考虑ECU所有的硬件模块及I/O口,以防设计失效未检测到;其次试验监控数据特别是异常结果应注意保存,它是分析失效原因,改进硬件设计的的重要依据;再者,应尽量使监控流程易于执行,满足长时间周期性监控的要求。在实际的ECU开发过程中,我们应该根据环境试验相关标准(如ISO 16750、IEC 60068等),结合ECU自身特性,确定试验项目和试验计划,并制定及实施试验监控方案。从功能性和经济性考虑,以Lab VIEW等作为上位机,结合低成本的总线功具及适应ECU I/O口的负载板的环境试验监控系统有较高的实用性。图4列举了一个基于Lab VIEW开发的环境试验监控系统的上位机实例。

电磁兼容试验即测试ECU在其电磁环境中能否正常工作且不对该环境中任何事物造成不能承受的电磁骚扰,它包括电磁骚扰发射试验和抗扰度试验两个部分。同性能参数测试类似,电磁兼容试验对试验场地及试验设备有较高要求,一般ECU供应商会选择委托专业实验室进行。另外,环境试验和电磁兼容试验均以测试ECU硬件为主要目的,对软件完备性没有严苛要求,通常在软件开发初期,软件实现基本功能,能满足试验监控需求即可。

2.7 生产下线检测

ECU从工厂生产线下线后,需要经过测试以验证其生产合格,同时还需要将ECU的生产信息,如序列号、生产日期等写入ECU内部。生产下线检测方式[4]4]与环境试验监控方式类似,这里不再赘述。需要补充的是,生产下线检测所用软件一般是较为完备的正式软件(具备诊断功能),除了应用功能检测外,还可以利用其故障诊断功能进行自查;其次,由于生产下线检测一般是由没有专业背景的工人来操作,检测系统需要更加简明易行;再者,每个ECU都应保留其检测报告,便于后续问题追溯。

2.8 整车装车测试

整车装车测试是指ECU到达主机厂并装配到实车上后的功能测试,该项测试一般会以点检的形式,选取少数基本功能进行验证。除此以外,还需要通过诊断仪对ECU的零件号、软/硬件版本号、故障码等信息进行确认,有的还需记录ECU与实车的绑定关系、写入实车配置信息等,这些也可以算作装车测试的一部分。整车装车测试应充分适应主机厂总装生产线的环境和装配流程。

3 总结

本文几乎涵盖了ECU开发过程中所涉及的所有测试活动,各项测试活动的目的虽然不尽相同,但测试方法却可互相借鉴。我们若能知其意义、明其方法,在开发立项之初,充分评估各项测试活动所需资源,制定合理的测试方案及测试计划并有效实施,对于保证ECU质量及整车质量必是大有所益。

参考文献

[1]QJGAC1523.053-2016,低速CAN ECU总线测试方法[S].广州:广州汽车集团股份有限公司,2016.

[2]黄胜龙.汽车发动机ECU的自动化HIL仿真测试平台的研究与实现[D].吉林:吉林大学,2013.

[3]QJGAC 1523.028-2014,电子电气零部件环境适应性及可靠性通用试验规范[S].广州:广州汽车集团股份有限公司,2014.

3.必修一第八单元训练(一) 篇三

1. “1961年,柏林墙建立;1989年,柏林墙倒塌。28年间,柏林墙隔绝了东西柏林,分割了社会主义与资本主义,也制造了不少骨肉分离的人间悲剧。柏林墙倒塌已经20年,但一切反思,也许才刚刚开始。”下列对柏林墙的相关反思不符合史实的是( )

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. 法国和德国是两个宿怨深厚的邻居。在二战以前的1100多年中,他们一共打了200多场战争,平均5年就开战一次。历史给这两个持续对抗了几个世纪的国家两败俱伤的惨痛教训,也启迪了它们相逢一笑泯恩仇的政治智慧。这种“政治智慧”是( )

A. 认识到自己的人民是永不放弃、永不屈服的人

B. 自力更生,以经济建设为中心

C. 法德和解,开始欧洲一体化的探索

D. 一定要不断完善民主和法制

7. 有美国学者认为,世界政治格局“现在是,在将来很长一段时间里仍将是一个1+X的世界”。对“X”的分析理解错误的是( )

A. 是一个动态的数值

B. 目前尚不能确定X的值

C. 是一个常数

D. 数值不会很大,有一个大致范围

8. 2012年1月5日,美国总统奥巴马公布了美国新军事战略,高调宣称“战略东移”,霸权形象展现无余。历史上的霸权国家,从古代的罗马帝国,到19世纪的英国,都有一个共同特点:凭借军事力量,辅以行政手段和不平等贸易,直接劫掠其他国家和民族。当代美国与历史上的霸权国家不同主要体现在( )

A. 凭借强大的科技和军事力量获取最大利益

B. 依靠强大的工业生产能力获取最大利益

C. 凭借庞大的出口贸易获取最大利益

D. 依靠掌控国际货币、金融、贸易体系获取最大利益

9. 2011年国际关系领域出现了阿拉伯之春(中东乱局)、伦敦之夏(社会骚乱)、华盛顿之秋(“占领华尔街”)、平壤之冬(金正日逝世)等重大事件。这些事件的背后反映出当今的世界形势呈现( )

A. 缓和与紧张、和平与动荡并存

B. 国际恐怖主义泛滥

C. 乱象丛生,危机重重

D. “一超多强”的局面被打破

10. 如下图所示,从“镰刀斧锤星旗”到“白蓝红三色旗”的变更宣告“苏维埃社会主义 共和国联盟停止存在”。这一事件对于某班同学的一次国际关系探究活动来说,其历史价值是( )

A. 找到世界格局多极化趋势出现的因果关系

B. 认识到社会主义发展在苏联的曲折性

C. 剖析出冷战格局的形成

D. 完成一次历史图片的释读

二、非选择题

11. 二战结束以来,国际局势波谲云诡,变化莫测。阅读材料,回答问题。

材料一 1945年5月9日晚,莫斯科烟花盛放,人们纵情高歌,庆祝反法西斯战争的胜利……然而,就在人们欢庆胜利的激情犹酣之时,时任美国驻苏联使馆参赞乔治·凯南发出了一段惊人的论调:“人们在欢呼跳跃……他们以为战争结束了,而战争才刚刚开始。”

——《乔治·凯南:被误读的遏制政策之父》

材料三

中国对联合国事务的全面参与

[1971年\&1978年\&1980年\&1981年\&1984年\&1988年\&中国在联合国教育、科学及文化组织中的席位得到恢复\&中国成为联合国粮农组织成员国\&中国加入世界知识产权组织;中国参加联合国裁军工作会议;中国在国际货币基金组织的代表权得到恢复,同时恢复在世界银行的合法代表权\&中国在联合国经社理事会上当选为人权委员会成员\&中国成为国际原子能机构正式成员国\&中国成为联合国维持和平行动特别委员会成员,并与次年首次派员参加联合国维和行动\&]

材料四 美国学者哈斯虽然提出了“多极合作时代”这一新概念,但是却对这样的时代能否到来充满怀疑。……我认为“多极合作时代”将是21世纪上半叶世界格局的基本特征,处理好“多极时代”的大国关系将是“多极合作时代”能够成为现实的前提条件。

——杨文昌《人民日报海外版》2008.9.13

(1)依据材料一并结合所学知识,说明乔治·凯南说“战争才刚刚开始”这一言论出台的背景。并指出美国在这场“战争”中采取了哪些主要行动。

(2)材料二漫画体现了什么现象?结合所学知识指出这一现象出现的政治背景。

(3)材料三反映出中国在国际事务中发挥着越来越重的要作用。中国能够在国际事务中发挥重要作用的主要因素有哪些?

(4)依据材料三并结合所学知识,阐述对“多极合作时代”的认识。

(要求:以对“多极合作时代”的认识为中心;观点明确,史论结合。)

4.三年级下册第八单元测试题 篇四

一、拼一拼,写一写。(8分)

1.毛义在山上为自己的母亲四处寻药,正在万分jiāojí()、非常píláo()睡倒在路旁时,梦中又遇见了那位白发银须的仙翁。

2.欣赏,是对别人的一种zànxǔ()。

3.在“我”第一次演出的时候,由于意外突然全场一片混乱,就在那一瞬间,是妈妈手中huīwǔ()的荧火棒给了我勇气和希望。

二、按要求完成下列各题。(23分)

1.比一比,再组词。(8分)

寓()疲()闷()剖()

遇()病()问()陪()

2.点将台。(5分)

从丛纵

草()()前()林()此()身

3.把下面的成语补充完整。(6分)

兴致()()得意()()揠苗()()

毫不()()毫不()()毫不()()

4.给句子中带点词语换一个意思相近的朋友。(4分)

(1)他巴望自己田里的禾苗长得快些。()

(2)他的儿子很纳闷。()

三、我把字宝宝送到句子妈妈身边。(9分)

拔拨泼

1.小鱼要用尾巴来()水,它不能借给壁虎。

2.小妹妹是个活()可爱的好孩子。

3.农夫将禾苗一棵棵地往上()。

四、我和寓言有个约会。(9分)

1.我读过的寓言故事有:、、。(3分)

2.《揠苗助长》中的“揠”的意思是,为了让禾苗长得快些,农夫用的办法是。《鹬蚌相争》中由于它们,最后让一个渔夫。(6分)

五、读句子,然后想一想,答一答。(9分)

盛老师聚精会神地听着,不时地向同学们投去赞许的目光。

聚精会神的意思是:(3分)

赞许的意思是:(2分)

盛老师为什么不时向同学们投去赞许的目光?(4分)

六、读一读,选一选。(4分)

在《剪枝的学问》一文中,“我”的心理变化很快,下面四个词语排列正确的是()

A.一脸疑惑满怀好奇将信将疑又惊又喜

B.又惊又喜一脸疑惑满怀好奇将信将疑

C.满怀好奇一脸疑惑将信将疑又惊又喜

D.将信将疑一脸疑惑满怀好奇又惊又喜

七、口语交际。(6分)

兄弟俩很满意,再去射大雁时,大雁不见了踪影,想象一下,此时,兄弟俩又会说些什么呢?请写一写。(3分)

哥哥说:

弟弟说:

你如果就站在他们旁边,你会对他们说什么呢?(3分)

八、仔细阅读短文,然后回答问题。(12分)

孩子的快乐就是如此简单

甜甜去了干姥姥家,下午来了个电话,神采飞扬地诉说着她的快乐:“妈妈,我种了一棵桃树……”种果树,是甜甜多日以来的心愿,每次吃完水果,那核都是不舍丢弃的,总是央求我带她去播种,每次也都被我左推右挡的以各种理由蒙混过去。在这到处砖瓦水泥的城市里,我去哪儿给她开辟一块她想要的果园呢?

在干妈的描述中我知道了事情的整个过程,吃完桃子,甜甜让姥姥带她去了楼下的一块空闲地上,用手挖个小坑,把核埋好,掩土、浇水,嘱咐姥姥等她走后也要一定好好地照看着,在她的想象中似乎下次回去就一准会吃到自己种出来的桃子了……我们都不忍破灭孩子这个天真的小小愿望,只能和她一起“等待”着这棵小桃核发芽、长大、开花、结果……

1.省略号的用法有:①表示说话断断续续;②表示话语的省略;③表示语意未尽,让人思索。文中有三处用了省略号,分别有什么作用?填上序号。(6分)

第一处

第二处

第三处

2.甜甜是怎样种桃树的?用“——”在文中画出。(3分)

3.你觉得甜甜是个怎样的孩子?(3分)

九、快乐写作。(20分)

人与人之间难免会发生一些不愉快的事情,你的记忆里有这样的事情吗?

你想对你的哪位朋友说声“对不起”?请你以“,对不起”为题写一篇习作。先把题目补充完整,一定要注意把事情的前因后果写清楚哇!

参考答案:

一、焦急疲劳赞许挥舞

二、1.寓言遇到疲劳生病闷闷不乐问题解剖陪衬2.草丛从前丛林从此纵身3.兴致勃勃得意洋洋揠苗助长毫不费力毫不犹豫毫不马虎4.盼望郁闷

三、拨泼拔

四、1.惊弓之鸟杯弓蛇影叶公好龙2.拔拔高禾苗互相争夺得利

五、聚精会神:注意力非常集中。赞许:赞扬。因为他们的回答非常精彩。

六、C

七、哥哥难过地说:“都是我不好,不该和你争论,早知道听你的。”弟弟说:“这次我们吸取教训,下次再也不会这样了。”做事应把握好时机,如果陷入无休止的争论,必将贻误时机而一事无成。

八、1.①②③2.甜甜让姥姥带她去了楼下的一块空闲地上,用手挖个小坑,把核埋好,掩土、浇水,嘱咐姥姥等她走后也要一定好好地照看着。3.可爱、纯真。

九、略

5.七年级地理第八章单元测试题 篇五

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.取之不尽,用之不竭的自然资源

10.欧洲最大的农产品出口国是()

A.英国B.俄罗斯C.法国D.英国

11.下列国家与其港口搭配正确的是()

A.荷兰-鹿特丹B.英国-汉堡C.法国-伦敦D.德国-斯德哥尔摩

12.撒哈拉以南的非洲以热带气候为主,其中面积最大的气候类型是()

A.地中海气候B,热带沙漠气候C.热带草原气候D.热带雨林气候

13.非洲最大的盆地是()

A.准噶尔盆地B.刚果盆地C.塔里木盆地D.柴达木盆地

14.为了减少对可可、咖啡的依赖,大力发展了油棕、菠萝、橡胶等农产品生产,同时发展了农产品加工业、旅游业、水产业等其他产业,经济建设成绩显著的撒哈拉以南的非洲国家是()

A.科特迪瓦B.尼日利亚C.赞比亚D.坦桑尼亚

15.澳大利亚的国徽上,有两种澳大利亚特有的动物,它们的名字是()

A.袋鼠和考拉B.鸸鹋和鸭嘴兽C.袋鼠和鸸鹋D.考拉和鸭嘴兽

16.下列穿过澳大利亚的一条特殊纬线是()

A.北回归线B.南回归线C.赤道D.南极圈

17.澳大利亚的人口和城巾主要分布在()

A.西北沿海地区B.东北沿海地区

C.东南沿海地区D.西南沿海地区

18.大洋洲在国际交通和战略上具有重要地位,是因为()

A.介于四大洲、两大洋之间的海陆位置

B.位于南半球的唯一大陆

C.地跨东西两半球

D.地跨南北两半球

19.澳大利亚中学放暑假应该在()

A.1月份B.4月份C.7月份D.12月份

20.伊拉克与伊朗的战争原因主要是()

A.经济纠纷

B.伊斯兰什叶派和逊尼派有一定的矛盾及领土纠纷

C.水源问题

D.石油纠纷

21.亚、非、欧三大洲都濒临的海是()

A.里海B.阿拉伯海C.地中海D.黑海

22.有关中东的叙述,正确的是()

A.伊斯兰教、基督教、佛教的发祥地

B.居民主要是黄种人

C.大部分地区气候干燥

D.本区盛产石油,主要输往日本

23.世界上唯一独占一个大陆的国家,其最大的工业城市是()

A.巴西利亚B.悉尼C.堪培拉D.纽约

24.欧洲西部经济实力最强的国家是()

A.英国B.法国C.德国D.俄罗斯

25.撒哈拉以南的非洲的人文地理特征是()

A.世界黑种人的故乡

B.黑种人各部落有共同的语言、风俗

C.非洲南部是阿拉伯世界的一部分

6.8第八单元单元测试 篇六

二、写出下面字的部首。

碰―― 雁―― 盗―― 愉――

三、理解画线字的意思,再连起来想想词语的意思。

守株待兔

“株”是_____意思。

“待”是_______意思。

守株待兔的意思是__________________________。

告诉我们一个道理: 。

四、把下面的成语补充完整。

( )死( )伤 ( )吃( )用 ( )( )起舞 ( )耳( )铃

五、根据所给的句子,在句后填上课题和谁说的。

1.“大王,我不用箭,只要拉一下弓,这只大雁就会掉下来。”《 》( )

7..NET平台下的单元测试 篇七

1 软件测试介绍

测试是以评价一个程序或者系统属性为目标的活动,是对软件质量的度量和评估,以验证软件的质量满足用户的需求,为用户选择与接受软件提供有力的依据[1]。从这个角度可以看出,没有十全十美的软件,质量再好的软件总是存在它的缺陷,只是我们没有发现而已;软件测试的目的可以说就是为了发现这些潜在的、至今没有发现的错误和缺陷。但是软件的测试不可能没完没了的无休止的进行下去,所以测试需要适度的终止,只要软件的质量达到了用户的需求程度,就可以终止并提交产品。

工程为动,测试先行。写测试程序就是对软件的进行设计的过程,它的重要性甚至超过了实际完成功能的代码;先将测试写完,然后再来完成代码,这样,所有的测试通过之日就是程序完成之时,这就是极限编程理论[2]。

单元测试就是测试代码撰写者依据其所设想的方式执行是否产生了预期的结果。在整个软件生命周期中,各不同的阶段有不同的测试对象,在这许多种测试中,单元测试并不能保证程序是完美无缺的,但它是第一个环节,也是最重要的一个环节,一般由程序员自行测试。

下面将就使用NUnit在.NET平台下C#编程中进行单元测试进行简要介绍。

2 NUnit测试

2.1 NUnit简介

NUnit是一个专门针对.NET来写的单元测试框架,要使用NUnit进行测试,首先要导入NUnit.Framework.dll文件,然后才能使用NUnit提供的属性进行测试用例的编写,下面的图1是NUnit测试时的运行结果的界面显示。

右边面板的中间表示测试进度条:进度条的颜色反映了测试的执行状态:

绿色:描述目前所执行的测试都通过。

黄色:意味某些测试忽略,但是这里没有失败。

红色:表示有失败。

在NUnit里,还有几种重要的属性,即:TestFixture、Test。

TestFixture是标记一个类包含测试;作为一个测试的类,这个类还有一些限制:

1)必须是Public,否则NUnit看不到他的存在。

2)它必须有一个缺省的构造函数,否则是NUnit不会构造它。

3)构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次,如果要是构造函数要什么副作用的话,那不是乱了Test是标记一个类(已经标记为TestFixture)的某个方法是可以测试的,该测试方法必须没有参数,也不返回任何参数,且必须为public。下面是两种属性的示例:

这就是NUnit编写一个类的测试用例的一般格式。

2.2 NUnit在.Net中进行单元测试

现在我们利用NUnit测试已经C#在VisualStudio.NET中编写好的Web应用程序WebSite(结构如图2)的一个类:

1)蓝线表示只能向数据库写入数据。

2)绿线表示既能向数据库写入数据也能从数据库读出数据。

第一步:启动VisualStudio.NET。在StartPage的RecentProject中打开WebSite;在Solution Explorer中选中此项目,点击test|new test|Unit test,将test Name的名字改为UnitTestclass.cs,点击OK,将项目名称命名为ClassTest,按下Enter键,这样就添加了一个测试项目。

第二步:右击测试项目的References在.NET中添加NUnit.Framework组件,如果没有,点击Browse,选中NUnit2.0|bin|Debug|NUnit.Framework.dll文件,按下Enter键添加。

第三步:添加测试程序如下:

第四步:编译测试程序通过后,启动NUnit2.0测试工具,点击File|Open,在C:BegVCShareCharpter24CreateClassClassTesbinDebeg下选中ClassTest.dll,点击OK将测试项目导入NUnit左边的工作区域内。

第五步:点击Run按钮进行测试,测试完成后可在右边的输出筐内看到测试和分析结果,从这些结果中可以看到程序的不足和缺陷。如输入格式必须匹配(程序中email的输入不匹配);输入的字符串长度需在一定的范围内。如果想对测试程序进行修改,修改编译后,可直接进行测试,而不必关闭NUnit再重新启动就可继续进行测试。至此类的测试完成。

在上面的示例中介绍了基本的NUnit特性和功能;例中只使用的Test、TestFixture和Assert3个基本特征,但是NUnit还有很多功能强大的属性,如SetUp/TearDown、ExpectedException、TestFixtureSetUp/TestFixtureDown、Ignore、TestSuite、Category等,这里就不一一介绍和举例说明。

3 结束语

软件测试在软件开发中极其重要,它伴随软件开发的整个生命周期。在软件开发的各个阶段都有相应的测试,而且测试方式也不同,单元测试就是软件测试的第一阶段的测试,也是最重要的阶段。软件测试为软件质量保障提供有力的支持,是高软件质量的必要手段,因此做好测试工作是软件开发的重要保障。

参考文献

[1]柳纯录.软件评测师教程[M].北京:清华大学出版社,2000.

8.《外国小说欣赏》第5~8单元 篇八

1. 给加点的字注音。(8分)

蹩脚( ) 着陆( ) 佣工( ) 缜密( )

笨拙( ) 熨帖( ) 凛冽( ) 大腹便便( )

龟裂( ) 粗糙( ) 剥啄( ) 肥膘( )

2. 根据所提供的拼音写出相应的汉字。(6分)

联mèi( ) 马jiù( ) nì( )死 shì( )舐犊情深

tuó( )螺 qiàn( )收 静mì( ) 跌dàng( )起伏

地jiào( ) qióng( )顶 ruò( )大 qǐ( )丽多姿

3. 解释下列词语。(6分)

大腹便便:不寒而栗:进退两难:纷纷扬扬:光怪陆离:付之一炬:4. 文学常识(12分)

(1)《清兵卫和葫芦》的作者是 (国家)的 (姓名),他是 派的代表作家。

(2)伯尔,是 (国家)小说家,他的作品主要取材于第二次世界大战,选入《外国小说欣赏》是他的小说《 》。

(3)《礼拜二午睡时刻》的作者哥伦比亚作家 (姓名)。他1982年获诺贝尔文学奖,代表作有长篇小说《 》《霍乱时期的爱情》 。

(4)《沙之书》的作者是 (国家)的 (姓名)。

(5)卡夫卡, (国家)作家,是 的奠基人之一。代表作有短篇小说《判决》《 》。

二、阅读理解(16分)

阅读下面的文字,完成5~7题。

晚 秋

亚美尼亚 埃·格林

瓦萨卡在一所大学对面的网球场旁停下了脚步。

秋季里的这一天阳光明媚,风和日丽,但这却让他的心情更加烦闷。温暖晴和的晚秋好像在故意戏弄他,嘲笑他,鄙视他……

一阵已有几分凉意的秋风吹了过来,几片金黄的叶子在空中划着美丽的弧线轻盈地飘落到了地上。两个身材姣好的姑娘从瓦萨卡的身边走了过去,飘过一阵沁人的香水的芳香。这样的姑娘瓦萨卡连想都不敢想,即使在年轻的时候,他也没敢奢望过。她们对他来说来自另一个世界。他和孤儿院长大的玛妮克结了婚。但那个曾经安安静静、勤快能干的玛妮克现在却好像换了一个人,每天唠唠叨叨,不停地数落他,所以他越来越不愿碰她了。想到这儿,瓦萨卡感到了一阵良心的责备,仿佛侮辱了自己的妻子。毕竟他们一起忍受了失去第一个孩子的伤痛,后来又生育了一个女儿。最近玛妮克不幸伤了胳膊,肿得很厉害,大概是骨折了,他需要尽快筹到钱给玛妮克拍x光片和治疗……

瓦萨卡的心底一阵绝望。现在他就是在到处找工作,对他来说,时间非常紧迫,每一分钟都很重要!

以前不管怎么说他还能干粗活,当搬运工,可现在却得了疝气,粗活干不了了。可要治好疝气也得一大笔钱哪!

又是一阵略带凉意的微风吹了过来,一种像翠菊似的黄色小花随风摇动着小小的脑袋。瓦萨卡想起了自己的童年。那时他们家住在市中心,后来他们的房子被拆掉了,只得到了一点点少得可怜的补偿金。他和父母颠沛流离,几经辗转,最后才在邻近市郊的一个地方落下了脚,生活也随之落到了贫困线之下。

瓦萨卡低低地骂了一句。两腿突然不听使唤地朝学校方向走了过去。是啊,他以前真的很喜欢学习,他可不像那个留级生梅鲁日。梅鲁日当年和他同桌,可现在这个梅鲁日已经是大富翁了……

一个穿着绿风衣的女人轻轻地碰了一下瓦萨卡,侧着身子从沿着人行道停着的两辆汽车间穿了过去,急着过马路。瓦萨卡迅速瞥了这个女人一眼:她也来自另一个世界。于是瓦萨卡马上把目光移到了别处。突然他被一阵刺耳的刹车声和令人恐怖的尖叫声吓了一哆嗦。他顺着声音望了过去,那个穿绿风衣的女人一动不动地躺在了一辆大客车的底下。第一个从汽车驾驶室跳出来的是已经吓得半死了的司机,随后乘客们也慌慌张张地从车上走了下来。有一个姑娘第一个跑到了躺在地上的女人跟前。她动作敏捷、手脚麻利地摘下受伤女人耳朵上那对亮闪闪的耳环,迅速放到自己的上衣兜里,然后大声地喊了起来:“快来人啊!快来人啊!”

瓦萨卡把这一切都清清楚楚地看在了眼里,他愤愤地叹息了一声:“这条母狗!偷了人家的耳环,还像没事似的!”

突然,瓦萨卡发现了一个绿色的东西,就放左边,离他只有一二十米远。瓦萨卡仔细地打量了一下,好像是一个女式小包,崭新的,样式非常精巧。这个小包最有可能就是那个受伤的女人的。现在众人正要把那个女人抬起来。瓦萨卡的注意力现在已经不能集中了。他又要留意那个女人,又要留意这个包。这时候救护车开过来了,车上下来几个穿白大褂的救护人员,把受伤的女人放到救护车里拉走了。出事地点只剩下了一片发黑的血迹。

阳光照到了那个小包上,包上的小锁扣和装饰链在阳光下熠熠生辉。小包真漂亮,肯定价格不菲!它就这么神奇地被抛到了瓦萨卡的的眼前,离他只有一二十步远……

瓦萨卡心里一阵紧张,他屏住呼吸,朝那个小包的方向走了过去。他刚走了两步,马上又停住了:他心怦怦跳地想等身后响起的脚步声走远。同时,他又忍不住朝那个小包的方向看了一眼,结果他惊恐地发现,一个体态臃肿、手里拿着公文包的中年男人快速地倒着两条腿,像跳舞似的径直朝小包走了过去,一把捡起小包,然后又像什么事也没发生似的脚步朝着一个小花园的方向走去。

瓦萨卡心里一阵慌乱,额头上立刻渗出了汗珠。这简直就是当着他的面把他偷光了!

那个胖男人已经从瓦萨卡的视野中消失了,但他还站在原地发愣,眼睛呆呆地盯着一个地方。

但过了一会儿,瓦萨卡突然又感到了一阵轻松,如释重负。“我鬼迷心窍了,”他嘟囔了一句,“真是鬼迷心窍了……”

凉爽的秋风轻拂在他的脸上,他的呼吸也变得自如了。

他信步在街上,孤身一人,漫无目的。只是当他在不知不觉中来到了从前的老同学梅鲁日正在建的那个小独楼的工地上时,他才明白,其实他的双脚一直在朝这个他早就该来的地方走。

5. 下列对这篇小说理解和分析,不恰当的两项是(4分)( )

A. 小说通过瓦萨卡对学校生活的回忆,引出了他与梅鲁日不同人生际遇的对比,揭示出社会的不公,为作品结尾作了铺垫。

B. “这条母狗!偷了人家的耳环,还像没事似的!”这段骂人的话语表明瓦萨卡从小缺乏教养。

C. 小说中有关女式小包的细节,暗示了受伤女人的富有,也凸显了小包对瓦萨卡产生的心理冲击。

D. 中年男人当着瓦萨卡的面拿走了小包,这种偷窃行为激怒了瓦萨卡,因为在瓦萨卡看来,那个小包本该属于自己。

E. 小说标题“晚秋”既是写实,又是象征,包含了耐人寻味的丰富意蕴,体现了作者独特的艺术匠心。

6. 请指出小说画线部分景物描写的主要作用。(6分)

7. 简要概括瓦萨卡发现小包后经历的心理变化过程。(6分)

三、高考链接(12分)

8. 下列各句加点词语使用正确的一项是(3分)( )

A. 不一会儿,冰雹竟又变成了沸沸扬扬的大雪。

B. 他最近出版了一本文不加点、几乎没有注释的旧体诗集子,这样的书读起来确实累人。

C. 伯尔耳濡目染了第二次世界大战的残酷。

D. 法国大昆虫学家法布尔,用富有诗意的笔触给我们描绘了一个绚丽多姿、光怪陆离的昆虫世界。

9. 下列选项中没有语病的一项是( )(3分)

A. 作者不仅仅是按照时间顺序组织材料,而是按照材料的“情感价值”来取舍时间。

B. 博尔赫斯的作品热衷于欧美古典文学、意识流小说和西方现代主义文学,但对丰富的俄国文学却漠不关心。

C. 魔幻现实主义大胆吸收借鉴象征、寓意、意识流等表现技巧,在世界范围内产生了巨大影响。

D. 《礼拜二午睡时刻》完美地塑造了一位母亲去祭奠被当做小偷打死的儿子的事迹。

10. 请用第一人称叙述下面的情节。(6分)

从此,他片刻也不离这个葫芦,还带到学校里去。终于因为在上课的时候也偷偷地藏在桌子底下摩擦,给级任教员看见了。于是这个一心热衷的葫芦,终于被当场没收。清兵卫连哭也没有哭一声。

四、单元写作(40分)

11. 阅读下面的文字,按要求作文。

一位作家说:我之所以能写出一些好作品,是因为我脚下有地,头顶有天,眼中有人。

9.8第八单元单元测试 篇九

化学教学案

课题名称:第八单元  金属和金属材料  §8-2 金属的化学性质

课型:新授课

课时安排:2课时

教学目标:1、知道铁、铝、铜等常见金属于氧气的反应。

2、初步认识常见金属于盐酸、硫酸的置换反应,以及与盐溶液的置换反应,能用置换反应解释生活中的有关化学问题。

3、能用金属性顺序表对有关置换反应进行简单判断。

重点、难点:1、从实验出发得出金属活动性顺序表。

2、用金属活动性顺序规律判断反应能否发生。

教学方法:实验发现、讨论。

教学过程:

引入新课:金属的用途不仅与物理性质有关,还与化学性质有关。

学生阅读:书P9

板书:

一、金属与氧气的.反应

1、常温能反应,以镁、铝为代表。

2、高温下与氧气反应,以铁、铜为代表。

3、高温下也布反应,以金为代表。

讲解:上述反应大致反映出金属的活动性:镁、铝活泼,铁、铜次之,金最不活泼。有没有更全面地反映金属活动性顺序的方法呢?

活动与探究:金属与酸的反应。

提示学生观察反应进行的剧烈程度、放热差异、产生氢气的快慢情况等。

学生活动:1、完成探究,填写表格。

2、得到结论:活动性顺序为镁、锌、铁。

教师板书:有关的化学方程式

讲解:置换反应的概念要点。

提问思考:除了金属与酸的反应,还有什么事实能证明金属的活动性顺序能?

讲解:我们在讲质量守恒定律时曾见过铁与硫酸铜溶液的反应,类似的反应还有吗?

教师演示:铝丝插入硫酸铜溶液中

铜丝插入硝酸银溶液中

铜丝插入硫酸铝溶液中

学生活动:观察上述实验的现象、记录、写出有关的化学方程式。

教师讲解:经过许多类似的探究过程,人们归纳出了常见金属在溶液中的活动性顺序,请同学们务必牢记!

板书:金属活动性顺序及其应用:

学生阅读:书,P13

教师讲解:判定置换反应能否发生的要点。

课堂练习:书,P14 5、6

课堂小节:本节要点

10.8第八单元单元测试 篇十

1.B 2. D 3. C 4. B 5. A 6.A 7. D 8. C 9. C 10.D 11.D 12.D 13.D 14. C 15. A 16.A 17. C 18. B 19. D 20. C 21.B 22.D 23.C 24.D 25.D

二、非选择题

26. (1)大约在1000多万年前,地球上的气候发生了变化,森林面积减少,为了生存,一部分古猿从树上下到地面活动,逐渐学会了直立行走,随着双手的解放,古猿开始用手拿工具劳动,在劳动过程中,人手逐渐形成,大脑逐渐发育,语言也产生了。古猿最终进化成了人类。(8分)

(2)河姆渡的房屋是干栏式,以木结构为主,远离地面,因当地处于长江中下游地区,气候温暖湿润,这种房屋有利于通风与防潮。半坡村的房屋是半地穴式,半坡村地处黄河流域,冬季比较寒冷,夏季炎热,这样的房屋冬暖夏凉,有利于生活(8分)

27. 列举四大文明古国建立统一国家的时间、建立者和古文明发祥的流域。(共8分)

文明古国 所 处 流 域 文明遗存最早可追溯距今

古代埃及 尼罗河流域 9000年

古代巴比伦 两河流域或幼发拉底河、底格里斯河 5500年

古代印度 印度河、恒河 4500年

古代中国 黄河、长江 4000年

28. 尼罗河是世界第一长河,是埃及惟一的水源。尼罗河定期泛滥为河谷耕地带来了理想的天然肥料,埃及人在这片肥沃的土地上辛勤耕耘,使尼罗河谷地区一度成为世界上最富裕的地区之一。农业的发达使沿河地区形成村落,人口增多,手工业和商业发展起来。前3500年,尼罗河两岸建立了几十个小国家,前3000年左右,古代埃及初步统一。在尼罗河的养育下,古代埃及人民发明并使用象形文字,用他们勤劳智慧的双手创造了无数光辉灿烂的古代文明,成为世界文明的摇篮之一。

29. (1)钻木取火;击石取火;(2分)

(2)变被动保存火种为主动自由方便地使用火,使火的应用更广泛。(2分)

(3) A,烤烧食物,改变了人们的食性与生理机制,有利人类的发展;

B, 照明取暖,更好地度过黑夜和冬天;C,驱赶野兽,保护自身;

D,烘干洞穴,保持舒适生活环境(写出三点即可)(6分)

30. (1)古戏台是一种不可多得的历史文物,也是一种精神产品,具有一定的文化价值与艺术价值,是研究历史的重要依据;同时也说明广大村民具有很强的文物保护意识,这样留下古戏台,就可以让后人间接或直接地了解当地的古老文明与文化,让当代的文明或文化发扬光大。(意思对即可)(8分)

11.“三角函数”单元测试 篇十一

1. 将分针拨快15分钟,则分针转过的弧度数是.

2. 设m<0,角α的终边经过点P(-3m,4m),那么sinα+2cosα=.

3. 函数y=asinx+1的最大值是3,则它的最小值为.

4. 集合M=α|α=kπ2-π5,k∈Z,N={α|-π<α<π},则M∩N=.

5. 已知tanα=-2,则sinα·cosα的值为.

6. 已知sinα=2m-5m+1,cosα=-mm+1,且α为第二象限角,则m为.

7. 函数y=cos2x-sinx的值域是.

8. 若f(cosx)=cos2x,则f(sin15°)的值为 .

9. sin2α+sin2β-sin2αsin2β+cos2αcos2β=.

10. 设函数f(x)=2sinπ2x+π5,若对任意x∈R,都有f(x1)≤f(x)≤f(x2)成立,则|x1-x2|的最小值为.

11. 如右图,在一平面镜MN的同侧,有相距13 cm的两点A和B,它们与平面镜的距离分别是2 cm和7 cm,现要使由点A射出的光线经平面镜反射后经过点B,则光线入射角∠AOC的正弦值为.

12. 给出下列命题:(1) 存在实数x,使sinx+cosx=π3;(2) 若α,β是锐角△ABC的内角,则sinα>cosβ;(3) 函数y=sin

23x-7π2是偶函数;(4) 函数y=sin2x的图象向右平移π4个单位,得到y=sin2x+π4的图象.其中正确命题的序号是.

二、 解答题

13. 已知在△ABC中,sinA+cosA=23.

(1) 判断△ABC的形状;

(2) 求tanA-1tanA的值.

14. 已知f(x),g(x)都是定义在R上的函数,若存在正实数m,n,使得h(x)=mf(x)+ng(x)恒成立,则称h(x)为f(x),g(x)在R上的生成函数.若f(x)=sinx2,g(x)=cos2x.

(1) 判断函数y=sinkx(k∈R)是否为f(x),g(x)在R上的生成函数,并说明理由;

(2) 记l(x)为f(x),g(x)在R上的一个生成函数,若lπ3=1,l(π)=4,求l(x).

第15题图

15. 如右图,摩天轮的半径为40 m,圆心O点距地面的高度为50 m.摩天轮做匀速转动,每3min转一圈,摩天轮上的点P的起始位置在最低点处.

(1) 已知在时刻t(min)时点P距离地面的高度f(t)=Asin(ωt+φ)+h,求2 008min时点P距离地面的高度;

(2) 求证:不论t取何整数值,f(t)+f(t+1)+f(t+2)恒为定值.

巩固练习参考答案

《三角函数线学习要点及应用举例》

1. (1) {-1,3};(2) cos1<sin1<tan1;(3) (kπ-π4,kπ+π4)(k∈Z);(4) ①③

2. 2kπ+π3,2kπ+5π6)(k∈Z).

3. sinα=MP=|MP|,cosα=OM=|OM|,在Rt△OPM中,|OM|+|MP|>|OP|,即sinα+cosα>1.

4. 设α的正切线为AT,余弦线为OM,tanα=AT,cosα=OM,1+tan2α=1+AT2=OT2,又OTOP=OAOM,所以OT=OP·OAOM=1cosα,所以1 +tan2α=1cos2α.

5. 由于sin2x>cos2x|sinx|>|cosx|,由正弦线和余弦线知|MP|>|OP|,易知x∈kπ+π4,kπ+3π4(k∈Z).

《同角三角函数关系式在同角三角恒等式证明中的妙用》

1.左边=11+sin2α+11+csc2α+11+cos2α+11+sec2α+11+tan2α+11+cot2α

=11+sin2α+sin2α1+sin2α+

11+cos2α+cos2α1+cos2α+(cos2α+sin2α)

=1+1+1=3=右边.

2. 因为tanα=13,所以sinαcosα=13,设sinα=k,则cosα=3k,1=cos2α+sin2α=10k2,所以

左边=1cos2α-2sinαcosα+5sin2α

=10k29k2-6k2+5k2=54=右边.

3. 要证tanα·sinαtanα-sinα=tanα+sinαtanα·sinα,只需证tan2α·sin2α=tan2α-sin2α.

tan2α·sin2α=sin2αcos2α·sin2α

=(1-cos2α)sin2αcos2α

=sin2α-sin2αcos2αcos2α

=tan2α-sin2α.

故所证等式成立.

《三角函数图象综合问题选解》

1. 2+22

2. f(x)=sin2x+π4.

3. φ=π2,ω=23或ω=2.

《正、余弦函数有界性的三大应用》

1. [-2,2].2. [-4,4].3. -12-2,1.

4. (-2,2-1].

5. 设∠AOB=θ,则AB=asinθ,OA=acosθ,

所以S=asinθ·2acosθ=a2sin2θ,

当sin2θ=1时,S取得最大值a2,此时θ=π4,OA=OD=22a.

6. 原式化为sinx-ycosx=2-2y,即sin(x-φ)=2-2y1+y2.故|2-2y|1+y2≤1,解得4-73≤y≤4+73.

所以ymax=4+73,ymin=4-73.

16. 已知函数f(x)=Asinωx-π3+B(A>0,ω>0)的一系列对应值如下表:

x-π6π35π6

4π311π67π317π6

y-1131-113

(1) 根据表格提供的数据,求函数f(x)的一个解析式;

(2) 根据(1)的结果,若函数y=f(kx)(k>0)周期为2π3,当x∈0,π3时,方程f(kx)=m恰有两个不同的解,求实数m的取值范围.

17. 函数的性质通常指函数的定义域、值域、周期性、单调性、奇偶性等,请选择适当的探究顺序,研究函数f(x)=1-2sinxcosx+1+2sinxcosx的性质,并在此基础上,作出其在-π2,π2上的图象.

12.8第八单元单元测试 篇十二

随着时代的发展,计算机的应用范围迅速扩大,人们对软件的需求也急剧增长。由于软件系统规模的逐渐扩大,软件危机逐渐爆发,软件发展过程中存在的软件缺陷促使人们投入更多的时间和精力关注软件的安全性。如同提高软件效率一样,如何提高软件的质量已经成为软件开发过程中关键的环节,基于软件测试的软件质量保证方法在软件生产行业得到了迅速的发展和应用。软件测试作为保证软件高质量、高可靠性的一个重要的手段贯穿于软件开发的整个过程。随着软件工程学的发展,软件测试已经发展成为一个有巨大市场需求的行业。单元测试一般是在编码后进行的第一步测试,在进行测试的过程中需要大量的测试输入,将测试输入的实际运行结果与期望的结果进行对比以验证程序是否正确。

在软件功能越来越复杂的情况下,人机交互的手工测试一旦操作失误将会影响测试结果的准确性。同时手工测试不利于大规模的重复性测试。种种弊端表明传统的手工测试已经远远不能满足软件规模逐渐扩大的需求。鉴于手工测试对时间和人力的消耗大,测试效率低,近年来自动化测试技术被提出并逐渐市场化,测试自动化成为软件测试发展的趋势。自动化测试技术发展过程中,研究人员一直追求的是软件测试的准确性和自动化的高效性。最初的随机测试方法因为其存在的随机性导致大量不符合条件的测试用例产生,使测试效率降低。随机测试的种种不足促使研究人员去追求一种高效的、具有理论支持的形式化自动化测试方法。符号执行作为一种形式化的自动测试技术,在自动化测试领域得到深入的研究与认可。

1 单元测试概述

单元测试被看作程序设计的一个重要的组成部分,在程序设计的整个过程中要不断地进行测试。在软件开发的过程中,单元测试的重要性可以概括为以下几点:

(1)提高开发效率和软件质量当程序开发人员修改了某个bug后可以运用单元测试验证这些代码是否正确,该测试在开发阶段进行,而不用测试人员在后期反复地测试,从而提高了开发的效率和质量。

(2)测试驱动的开发进行测试驱动的开发,开发人员在开发程序之前明确要实现的功能,然后根据程序的功能编写测试代码,不断地调整开发的程序使其满足测试,直到该模块实现其功能。在编写测试代码的过程中开发人员需要充分地了解程序的逻辑,从而更有效地提高代码的质量。

(3)有助于回归测试随着软件开发的进行,程序的结构越来越复杂,模块之间的依赖性可能会对先前开发的程序模块的功能产生影响,单元测试可以对先前开发的代码进行再一次测试以验证程序的功能是否有变化。

(4)可以作为程序规格说明书在对程序的每个单元进行单元测试时,测试代码就相当于程序的规格说明书,它能够清晰地描述程序单元的功能,通过查看被测代码可以了解程序每个单元的内部逻辑。

然而,在实际的单元测试过程中,该框架能够调用已经写好的被测程序模块并对其进行测试;其次,要编写大量的测试代码,若程序中包含复杂的递归结构,则编写测试代码更加困难;最终,还需要写测试通过与否的标准。所有这些测试代码的人工完成阻碍了单元测试的实施,降低了单元测试的效率,同时人工完成的测试代码的可靠性得不到保证。

代码覆盖率是衡量单元测试性能的一个重要指标。但是运用单元测试对程序的某个单元进行测试时所设计的测试用例具有很大的随机性,可能只是覆盖到被测程序很小的范围。因此在单元测试过程中,它需要进行单元测试的程序人员详细了解程序的功能及其相应的逻辑,根据对程序的分析编写足够多的单元测试使其在测试过程中尽可能覆盖到每一条执行路径。这些单元测试执行框架存在的一个弊端是它不能自动建立单元测试的一整套任务,手动编写所有的单元测试是一个耗费体力的工作,故而在单元测试的发展过程中研究人员致力于研究能够自动生成单元测试的方法。

2 参数化单元测试基本原理

参数化单元测试解决了传统单元测试存在的弊端,它将程序规格与测试用例生成分离。运用参数化单元测试可以声明该程序将要实现的功能,这一部分需要人工书写代码,然后参数化单元测试工具会自动地执行被测代码并生成到达每一条路径的测试用例及其所对应的单元测试,这些测试集运用具体的测试输入执行不同的路径进而实现高代码覆盖率。

参数化单元测试比传统单元测试具有更全面的规范,它指定了程序的整类输入,而且参数化单元测试很容易书写,因为它仅仅描述了这个程序想做什么,而不是怎么实现目标。传统的单元测试的测试代码没有带参数,参数化单元测试则可以允许有参数,可以将参数化单元测试的模式[1]划为四部分:(1)Assume该过程设置测试输入需要满足的前提条件;(2)Arrange

该过程组建被测单元,并决定运用哪些参数进行测试;(3)Act该过程通过执行方法序列执行被测单元,并捕获结果状态;(4)Assert该过程验证被测单元是否正确。其中参数表示测试输入,它可以调用不同的输入值。与传统单元测试不同的是,参数化单元测试不运用明确的数值,它只是假设合法输入所应该满足的约定。

运用参数化单元测试对程序进行测试的过程中需要具体的测试用例,因此在进行参数化单元测试的时候需要实例化单元测试,这就要借助于某种技术自动推导出合理的输入,该技术要尽量以最少的测试用例覆盖最大的代码范围。参数化单元测试实例化的单元测试相当于传统的单元测试,两者之间的关系为:参数化单元测试可以实例化若干个传统的单元测试,传统的单元测试集可以泛化为参数化单元测试。参数化单元测试实例化的目标是获得高代码覆盖的具体的测试用例。在实例化中存在的问题是需要实例化多少个单元测试,需要选择什么样的值来实例化参数化单元测试等。近年来符号执行技术作为一种形式化自动测试技术在参数化单元测试领域得到了广泛运用。

3 基于符号执行的参数化单元测试

符号标记在静态数学意义上用来表示一些未知的但固定的值,一个程序在特定的执行过程中会有与其相关的许多不同的特定值。符号执行的思想是从控制流图的入口处用符号值代替具体的输入值来模拟程序符号化的执行过程。普通的测试用具体的值作为测试用例来执行程序,所进行的计算是算术运算,符号执行运用符号值来执行程序,所进行的是代数运算,可以将其看做是普通测试的扩充。符号执行是程序验证和程序测试的折中,一方面它具有普通测试所具有的测试方法,通过运行被测程序验证程序的可靠性,另一方面,符号执行沿着一条路径的一次执行积累的约束条件代表了一大类普通测试的集合,验证程序接受此类输入后是否正确,也验证了程序中不可行的路径。

为了完成符号执行对程序的验证,需要有一个完整的执行框架,总体来说包括三部分,即将源程序转化为中间语言的机制、路径遍历算法和约束求解器。符号执行器在对代码进行分析时将源程序转化为中间语言更适合于高效的程序分析,控制流图是一种中间语言的表示形式,在对控制流图进行遍历时符号执行器会预设一些路径遍历搜索算法,根据对遍历控制流图产生的每条路径的约束表达式运用约束求解工具进行求解判断程序的可满足性,并生成每条路径可满足的解数据集合。符号执行框架[2]的结构如图1所示。

运用符号执行技术实现参数化单元测试的过程为:给输入变量分配参数值,运用符号执行技术进行参数化单元测试,每一个生成的路径形成一个路径条件的组合,然后根据该路径条件的组合进行求解从而得到参数的实例化。符号执行根据输入参数构造执行过程中的路径条件,该路径条件以数学公式的形式存在,每一个路径条件描述了参数化单元测试的每一条执行路径,然后借助于约束求解器和自动公理证明技术来求解该条路径条件的可行解。运用符号执行技术在路径可行性判定的过程中可以采用一些规则尽量简化表达式。

参数化单元测试工具运用符号执行技术对源程序进行单元测试时需要进行代码插桩,被插桩代码驱使隐形解释器与程序的实际执行同步进行。隐形的解释器在参数化单元测试中所做的工作为[3,4]:程序执行过程中,对逻辑变量执行的操作构造符号表示,而不是具体的输入;及时地维护和演进整个程序状态的符号表示;记录程序产生分支的条件。符号执行过程中符号程序的状态与具体程序状态不同的地方是符号程序的状态是用表达式来表示逻辑变量的谓词,而具体程序的状态分配具体的值。符号程序的状态包括静态字段、实例字段、方法参数化、局部变量及其在操作数栈中的位置。在符号执行过程中符号表达式包括具体的数据类型,如整数、浮点数、对象的引用以及由这些基本类型组成的表示特定机器指令的函数,在存储值类型时可以采用元组的表示方法。符号状态是用来描述程序执行过程中的状态信息,具体包括该状态在控制流图中的位置,执行过程中变量和表达式到值的映射,以及从函数入口到该点处的约束信息。每一个状态的转变序列表示一条特定的执行路径,当活动记录的栈空的时候该路径终止,此时通过求解终止路径的约束状态获得测试用例。通过求解每条终止路径的约束状态,最终得到覆盖所有被执行路径的最少量的测试用例。

在进行单元测试时,一般情况下测试的是程序的一个模块或者一个功能,这样当测试失败时能够简明地标识错误的模块。但是实际中被测代码模块有可能会依赖于其他一些接口或者类,例如将文件作为该模块的输入、与网络和数据库进行连接等,这些都要依赖于其他功能模块。测试过程中一般有两种方法处理被调的函数,一种方法为通过函数摘要设置,另一种方法为对被调函数进行建模。在符号执行过程中当调用其他函数时,如果该函数已经测试过,我们可以运用该函数的摘要,不用再次执行这个方法。但当被调的函数未被测试过就需要展开被调函数,展开被调函数会使单元测试执行路径变得更加庞大,从而使路径爆炸问题更严重,同时也有可能要调用的函数还未被具体实现,这给单元测试带来一定的困难。

针对这个问题,进行单元测试的时候可以采用设置抽象层的方法使被测模块尽量独立,从而使单元测试更加健壮和具有更好的扩展性。mock对象在单元测试领域得到广泛应用,运用mock对象可以隐藏与被测程序不相关的部分,使单元测试运行效率更高并能产生正确的结果。软件测试人员经常采用mock对象来模拟实际软件模块的行为,借助于mock对象进行测试的关键步骤为:(1)使用接口对这个对象进行描述;(2)为产品代码实现这个接口;(3)运用依赖注入机制在被测代码中添加mock对象以便进行测试。这样在测试中就使被测单元独立,但在构造mock对象时需要考虑的问题是要创建多少mock对象,返回什么值以及怎样自动生成mock对象。在参数化单元测试中我们可以不用指定特定的测试输入,在自动构建mock对象时也可以采用参数化的方式,这样就不用指定一个特定的行为。运用符号执行技术进行参数化单元测试时构造mock对象也可以运用符号值来表示每一次调用mock对象方法的返回值,然后通过对路径约束条件的求解来计算具体的mock对象。

符号执行最初是作为静态程序分析技术被提出的,它只分析被测程序的源码而不实际执行程序,当可行路径的决策能够基于源代码进行创建的时候,符号执行方法是很有效的,如果程序含有动态类加载或者虚拟方法调用时将会使判断语句的可达性存在一定的难度。同时当程序需要通过指针访问内存或者当被测程序依赖于外部环境而该外部环境的源代码尚未声明,这些情况下运用符号执行会使测试变得比较困难,综合来说运用符号执行技术进行程序测试是不完备的。因此在进行参数化单元测试时我们可以运用动态符号执行。动态符号执行是一种白盒测试用例生成技术,它是传统的静态符号执行的扩展。动态符号执行采用实际执行和符号执行同时进行的方法,它使用实际的值执行程序,一方面减少了符号变量的数量,从而简化了路径条件避免其超出约束求解器的求解范围,另一方面在进行外部调用而且外部调用的返回值对被测程序的后续执行有影响时可以直接运用实际的值求解路径条件。通过结合被测程序的具体执行过程,在程序运行过程中搜集了相关的信息,使程序测试更加准确。同时动态符号执行克服了静态测试会产生误报错误的缺点。

动态符号执行通过监测程序具体的执行轨迹来获取额外的信息,每一个执行轨迹代表一条执行路径,这些执行轨迹相当于测试输入的等价类[5,6]。动态符号执行生成测试用例的过程可以描述为:(1)初始化输入数据开始执行程序,数据部分的初始化一般选择一个随机数,如果是结构化的数据部分,一般情况下初始化为null;(2)在具体执行特定路径的过程中运用符号执行搜集被测程序在分支结点处的路径约束信息;(3)根据所采用的路径搜索策略取反部分路径约束条件并用约束求解器求解改变后得到的路径约束表达式的组合,进而得到新的输入数据;(4)重复此过程直到所有可达的路径都被执行。动态符号执行的工作原理如图2所示。

动态符号执行在执行被测程序过程中常用的搜索策略是深度优先遍历的方法。深度优先算法采用一个固定的回溯模式,使得下一次的执行路径与当前执行完的路径享有最长的路径前缀,最终会导致路径聚居性的问题,使程序的执行花费较多的时间在一个局部的搜索空间。为了解决这个问题,通常将其与随机测试相结合,通过频繁的注入随机的测试输入使程序的执行从当前的局部空间转向另一部分空间。微软研究的Pex工具运用动态符号执行技术,在进行路径搜索过程中针对深度优先遍历存在的路径聚居性问题进行了改进,Pex将所有未被执行的分支划分为等价类,在执行过程中选择最不经常使用等价类中的分支进行执行,从而保证了分支之间的公平性,避免陷入路径聚居。本文将会在实验部分运用Pex对程序进行测试以验证符号执行实现自动化单元测试的具体过程及其优势。

符号执行技术在发展的过程中一直面临的一个问题是在执行过程中路径状态空间爆炸的问题。运用动态符号执行技术进行参数化单元测试在处理循环的时候很难确定循环的上界,对循环进行分析一直是程序分析领域的难题。我们在对程序进行分析的时候将循环判断条件作为分支判断条件语句,每个分支判断语句都会产生取真和取假的值,如果程序中存在循环,而且循环的迭代次数由输入变量决定或者在循环执行过程中被改变,就很难确定循环执行多少次能终止。程序执行过程中分支判断条件会使当前的路径再产生一条新的路径,在控制图中每个判断谓词都对应两条相应的分支,在运用动态符号执行对控制流图进行遍历时,n个分支会相应的产生2n条执行路径,执行过程中生成的路径呈“指数级”增长。对循环进行处理比较好的方法是采用循环不变式,但是循环不变式的获取一般情况下是很难计算的,运用动态符号执行进行单元测试对循环的处理运用最多的是对循环的次数设置一个上界,当达到循环上界还未覆盖到目标语句时停止循环的执行。

运用动态符号执行技术进行参数化单元测试仍然存在着路径空间爆炸的问题,这给提高代码覆盖率提出了挑战,近年来研究人员一直致力于研究更好的路径搜索策略以便获得更好的代码覆盖率。

4 实验与分析

实验部分借助于微软的Pex参数化单元测试工具。Pex是针对.NET代码的单元测试工具,它采用参数化单元测试的方法简化了获得高代码覆盖率的测试用例的工作。该工具可以集成于Visual Studio 2008中,当运行该软件时,它会自动分析被测代码并生成测试用例。Pex运用动态符号执行技术尽可能覆盖代码中的每一条语句。在测试的过程中,运用Pex的向导自动创建简单的参数化单元测试来查找.NET程序的错误,在此过程中可以手动添加参数化单元测试的前置条件和后置条件,最终运用约束求解器计算被测代码相关的测试输入。测试用例生成过程中用户不用提供测试输入,Pex执行过程中输入变量的初始化一般采用默认的值,例如整数默认值一般为零,如果参数为一个对象,该对象默认值一般为null。

参数化单元测试工具比较重要的一个因素是搜索策略的选择,前面已经讲到Pex运用了类似于深度优先搜索与回溯的搜索策略,同时它集成了一些启发式的搜索策略[7],在执行过程中它会根据被测程序的结构和已经执行的程序分支来决定下一次要执行的输入。Pex的最终目标是尽量覆盖到程序的每一条语句,但这是一个不确定的过程,运用Pex进行测试过程中用户可以自己设置时间上界和其他的执行边界。

Pex中约束求解器采用的是Z3约束求解器。Z3是一个可满足性模块理论求解器(Satisfiability Modulo Theories),最初SMT求解器主要是用来进行程序正确性证明的。Z3除了能够决定可满足性,它还可以计算可满足模块的模型,这种功能使其成为Pex理想的约束求解器。Z3根据其内置的对命题逻辑、固定大小的位向量、元组和数组等的决策过程进行问题的求解。同时Pex增加了集成于Z3的专门的字符串求解器。

本文中运用Pex参数化单元测试工具对一些简短的但结构比较复杂的程序进行测试,在测试的过程中运用Pex参数化单元测试向导创建被测程序的参数化单元测试,Pex自动创建的参数化单元测试是不包含前置和后置断言的,需要测试人员自行添加断言。在测试过程中程序人员可以根据被测程序要实现的功能添加测试断言以验证程序是否符号要求。对一个给定的参数化单元测试,当运行Pex时,它会自动分析被测代码,最终实例化为一类具有高度代码覆盖率的传统单元测试并生成每一个实例化的单元测试的测试用例,同时Pex具有提示用户修复bug的功能。

在本次实验中运用同样的方法对多个程序进行测试,通过分析参数化单元测试的运行时间和生成的实例化的单元测试的个数来验证参数化单元测试实现自动化单元测试的性能,具体实验数据如表1所示。

在实验过程中,选择的被测程序一部分具有简单的逻辑结构,一部分具有复杂的逻辑结构,在测试执行过程中Pex会自动设置生成新的测试用例的执行时间上界和约束求解时间上界,如果在规定的时间内未找到覆盖新的分支的测试用例则执行终止。根据实验结果得出Pex运用基于符号执行的单元测试测试具有较高的代码覆盖率,通过实例化尽可能少的传统的单元测试获得尽可能高的代码覆盖率。由实验的结果得出符号执行技术在处理某些结构复杂的程序时,例如包含嵌套的循环或者参数受循环体中语句控制时。由于被测程序的循环次数不确定,在程序运行达到设置的时间上界或者执行次数上界时程序分析过程终止,最终导致没有能够达到目标语句。综合来说在测试具有有限的搜索范围的程序时,基于符号执行的自动化测试具有明显的优势。

5 结语

软件测试作为软件开发的重要过程,越来越得到软件开发人员的重视,单元测试作为软件测试的第一个环节,其重要性不容忽视。传统的单元测试根据单元测试框架要求开发人员自己选择测试用例并书写单元测试,这是一个复杂和耗时的工作。鉴于传统的人工测试的低效性,近年来自动化单元测试在软件测试中逐渐得到广泛的应用。自动化单元测试减少了开发过程中的时间和人力的开销,同时也提高了软件的质量。单元测试中代码覆盖率是衡量测试性能的一个重要指标,研究人员一直致力于寻求能够得到高代码覆盖率的自动化单元测试方法。

本文主要描述了运用符号执行技术进行参数化单元测试的原理。符号执行是一种重要的形式化程序分析理论,在单元测试中得到广泛运用,近年来针对符号执行在实际工作中存在的缺陷引入了动态符号执行的方法,将动态符号执行和约束求解器结合进行自动测试用例生成得到越来越多研究人员的关注。本文在研究基于符号执行的参数化单元测试理论的同时运用微软研发的基于动态符号执行的自动化单元测试工具Pex进行实验,从实践中验证运用符号执行技术进行单元测试的性能。

参考文献

[1]Halleux P D,Tillmann N.Parameterized test patterns for effective tes-ting with Pex[R].Technical report,Microsoft Research Technical Re-port,Redmond,WA,2008.

[2]Clarke L A.A system to generate test data and symbolically execute programs[J].IEEE Transactions on Software Engineering,1976:215-222.

[3]Tillmann N,Schulte W.Unit tests reloaded:Parameterized unit testing with symbolic execution[J].IEEE Software,2006:38-47.

[4]Anand S,Pasareanu C S,Visser W.Symbolic execution with abstract subsumption checking[C]//Proceedings of the International SPIN Workshop on Model Checking of Software,2006:163-181.

[5]Godefroid P.Compositional dynamic test generation[C]//Proceedings of the34th Symposium on Principles of Programming Languages,2007.

[6]Csallner C,Tillmann N,Smaragdakis Y.DySy:Dynamic symbolic exe-cution for invariant inference[C]//Proceedings of the International Conference on Software Engineering,2008:281-290.

上一篇:理科教学工作经验交流下一篇:组织部按照服务发展提升年要求提高组织工作发展