科技写作小论文

时间:2024.4.21

实时嵌入式软件的测试方法的研究综述

摘要:实时嵌入式软件在很多的领域有着十分广泛的应用,对实时嵌入式软件进行充分可靠的测试是保证软件质量的重要手段。本文首先分析了实时嵌入式软件的特点,在这个基础上综述了在该领域的测试过程、测试技术、测试工具和存在的问题。最后给出了实时嵌入式软件测试方法的小结。

关键字:软件测试;实时嵌入式软件;测试过程;测试技术;测试工具

引言

所谓实时嵌入式软件,是指在实时嵌入式系统运行并起到核心控制作用的软件。因为其运行环境以及所要完成任务具有特殊性,实时嵌入式软件和一般的应用软件相比,有它自身的特点.这些特点主要表现在实时性、嵌入特性和反应性。这些特点向实时嵌入式软件的测

[]试提出了许多新的挑战。

1 实时嵌入式软件的特点

实时嵌入式软件有着普通应用系统所没有的新特性,这些特性决定了实时嵌入式软件的测试技术已经不能简单地沿袭传统的软件测试方法。

1.1 实时性

实时嵌入式软件的任务必须满足时间约束。它的处理速度并不一定非常快,重要的是需要准时和及时。实时软件的处理速度并不一定非常快,重要的是需要准时和及时。例如,它们的时间特性应该是可预见的。对于实时软件而言,其正确性不仅由系统的功能和行为特性决定,还依赖于系统的时间特性。与非实时软件相比,时间特性是实时软件的一个重要方面,它是决定实时软件成功与否的关键因素之一。实时软件的时间约束主要表现为软件或其中的进

[1]程的时间约束。

实时系统可分为:硬实时系统和软实时系统。硬实时系统中,系统要确保在最坏情况下的服务时间,对于事件响应时间的截止期限必须得到满足。这种情况下处理请求的时间约束异常关键,未满足约束的处理请求被认为是系统的失败,会造成重大的安全事故。在航空航天、军事、核工业等一些关键领域中的应用就是硬实时的。而软实时系统中的时间约束只是希望被满足,但实时任务偶尔违反这种需求对系统运行及环境也不会造成严重影响,如监控系统等和信息采集系统等。这种软、硬实时系统的划分,刻画了实时软件中时间特性强度,它对于软件的时间特性设计和测试有着重要的影响,决定了它在测试中的花销,即是否为时间特性进行单独测试以及时间特性的测试强度。

1.2 嵌入特性

嵌入性是指将计算机系统嵌入到对象体系中,实现对象体系的智能控制。嵌入式软件系统的一个突出特点在于,通常只为软件提供运行环境,而不提供软件的开发环境。也就说,嵌入式软件的开发环境和运行环境是不一致的。这使得嵌入式软件在开发环境下测试再充分,也不能说明在运行环境下该软件运行不出问题。由于嵌入式软件既得在开发环境中测试,又得在运行环境中测试,这不仅增加了测试的代价,而且还带来了嵌入式软件的测试策略问题,

[2]即哪些测试分配在开发环境进行,哪些测试分配到运行环境下进行。

嵌入式软件的另一个重要特性是专用性,它们只能为需求所指定的系统工作,而无法运行于其它系统中,它们一旦被加载到所要控制的系统中,软件的功能和行为也就相应的确定了.另外,在嵌入式系统中软件的运行与硬件有着紧密的联系, 因此,即嵌入式软件具有很强

[3]的硬件依赖性.这两个新特性也给其软件测试提出了新的挑战。

1.3 反应性

反应性是指在任何时刻都要对可能出现的事件做出适当反应的特性。具有反应性的系统称为反应式系统。由于嵌入式系统也是反应式系统,因此也具备反应性。反应式系统中的软件是由与环境保持同步关系的进程构成,这些进程交替经历两种周期:等待周期和响应周期。反应式系统的行为一般是无限的,因而其中的进程通常也都是无终止地、不间断地响应环境

[4]的激励。这样,反应性软件的行为只能用输入/输出序列来描述。

2 实时嵌入式软件的测试过程

嵌入式软件测试的过程包括单元测试、集成测试和系统测试。这三个步骤与一般的软件测试基本相同。不同的是嵌入式软件既需要在开发环境中测试,也需要运行环境中测试。

2.1 单元测试

单元测试是依据详细的设计描述,对每一个功能相对独立的程序模块进行测试。所有单元级测试都可以在开发环境上进行,除非少数情况,特别具体指定了单元测试直接在运行环境下进行。由于开发机的处理能力远远超过目标机,这使得我们可以在开发机中虚拟运行环境进行测试,但由于虚拟环境和真实环境仍有差别,故需要在真实运行环境中进行一次简单的测试,保证真实环境和虚拟环境的运行结果没有差别。

2.2 集成测试

为了找出系统逻辑结构错误和各个功能模块之间的数据传递错误,需要在嵌入式软件集成过程中进行集成测试。我们可以将系统划分为两部分来进行测试,首先可以在虚拟环境中测试软件是否存在逻辑结构错误以及测试各功能模块之间是否有传递错误。然后在真实的运行环境中测试软件是否存在与硬件有关的错误。

2.3 系统测试

系统测试是将整个软件作为一个整体,在实际环境中运行。测试该软件与环境中其它部分的兼容情况,并对整个系统的功能以及性能进行综合测试。系统测试通常直接在运行环境进行,因为它要测试软件与系统中其它所有元素的交互情况。模拟仿真工具不可能提供与真实状况无差别的环境。

3 实时嵌入式软件的测试技术

3.1 实时性的测试技术

实时嵌入式软件的本质特征在于其时间特性,所以它的正确性不仅由其功能和行为决定,更重要的是依赖于它的实时性。验证实时嵌入式软件的功能和行为的正确性仍可采用传统的测试技术,而实时嵌入式软件的实时性测试是测试的核心内容。

实时嵌入式软件的实时性测试有两种方法,分别是静态时间分析和动态实时检测。

3.1.1 静态时间分析

静态时间分析就是不执行被测程序,而通过对程序结构进行分析来预估程序或任务的执行时间。静态时间分析因为不执行被测程序,也就不知道程序实际运行时的分支走向和循环次数等不确定因素,因此它不能得到程序的实际执行时间。但是静态分析可以完成另一个很重要的功能:确定程序在最坏情况下的执行时间,即程序的最大执行时间是否满足时间约束条件。由于实时嵌入式系统需要在任何情况下都在指定的期限前完成任务,计算程序的最大执行时间具有十分重要的意义。同时,静态时间分析不仅应计算单个任务的执行时间,而且应

[5]考虑实时系统的多任务调度问题。

3.1.2 动态实时检测

动态实时检测就是通过动态的执行程序来测试程序的时间特性.在线仿真器ICE、模拟

[6]器和插桩工具是三种最常用的方法。

在线仿真ICE是可以在系统运行实时数据的情况下,提供相对较好的调试能力,它提供一面通向嵌入式系统内部的窗口,可以对程序进行逐步化跟踪并查看数据的变化。在线仿真ICE通常用来模拟嵌入式系统中的中央处理器,将待开发的嵌入式系统连接到一个终端,使得该终端能为调试和控制系统提供一个交互式的用户界面。嵌入式系统缺乏监测软件问题的机制,比如内存管理单元读取缓存失败等。如果没有在线仿真器ICE,嵌入式系统开发将变得非常困难,因为无法得知软件在运行时出现的问题。而有了在线仿真器,就可以测试每一行源代码,从而找到究竟是哪一段程序出错并纠正错误以解决问题。使用ICE能够较轻松的实现软件运行时间的测量。但该方法最大的缺点也是在于其结果只是测量值,优点是测量无须改变程序,而且测量相当精确。

模拟器通过软件手段模拟执行某种嵌入式处理器内核。简单的模拟器可以通过指令解释方式逐条执行源程序,分配虚拟存储空间和外设,供程序员检查;高级的模拟器可以利用计算机的外部接口模拟出处理器的I/O电气信号。但值得注意的是,模拟器是以一种处理器模拟另一种处理器的运行,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有较大差别。另外,它无法和在线仿真器ICE一样,仿真嵌入式系统在应用系统中的实际执行情况。但它在时间测量方面的优缺点是与在线仿真器ICE一样的。

插装工具的方法,则是通过在程序特定位置插入探针从而记录程序的执行时间。这种方法的缺点在于改变被测程序,增加了程序的复杂性,使程序执行速度减慢,而且记录的时间不准确,甚至程序的执行结果也会受到影响。

3.2 嵌入特性的测试技术

嵌入式软件的嵌入特性使得嵌入式软件的运行环境(目标机环境)和开发环境(宿主机环境)的不相同,这使得嵌入式软件的测试要分为宿主机测试和目标机测试。

3.2.1 宿主机测试

在宿主环境中可以进行逻辑或界面的测试、以及与硬件无关的测试,因此不需要依赖目标系统的支持。基于宿主机的测试能极大地提高被测软件执行可视性和可控性,因此测试过程中我们能够以较少代价、较高的效率发现和定位软件设计中的错误: 另外,基于宿主机的测试在完全脱离目标平台的情况下完成对嵌入式软件的测试工作,可以尽早发现软件设计中的错误,避免了在软硬件集成时才来发现和定位问题,从而减少了软件的测试成本、降低了开发风险。目前,已经有很多的研究工作是把嵌入式软件的测试转移到宿主平台环境中进行

[7]。

3.2.2 目标机测试

无论在宿主机上进行的测试如何完善,基于目标系统的测试仍然不可替代,因为有些问题只有在目标机上测试时才能够发现,例如软硬件接口。当然,基于目标机的测试并不能仅仅依靠目标系统来完成全部的测试,为了解决目标机平台测试时可视性和可控性有限、测试效率低的问题,基于目标机的测试一般都是采用宿主机/目标机交叉的测试模式,被测软件运行在目标系统中, 宿主机负责控制目标系统的运行并且反馈目标系统的状态来实现测试,这样一方面实现了软件在真实的目标环境下的测试,而且又充分利用宿主机上丰富的资源和

[8]工具,高效、低成本的完成嵌入式软件的测试工作。

3.3 反应性的测试技术

嵌入式软件的反应性测试更多地是强调逻辑内涵,即软件的功能和行为特性。在测试过程中时间约束只是保证软件功能完成的影响因素,并不单独加以强调。

反应性系统在任何时刻都要对可能出现的时间做出适当反应。由于“激励-响应”在反应式系统中占主要地位,因此这类系统常常包含大量复杂的控制行为。

并发性是反应式系统最重要也是最基本的特征,任何反应式程序中均包含若干并发进程,即这些进程并发执行。所以,反应式不能简单地将它定义为输入数据和输出数据的函数,而需

要表示为一个输入序列和输出序列的二元组。输入时间的各种序列组合使程序的输入数据空间急剧膨胀。同样的输入数据在不同时刻会产生不同的结果,这给测试工作带来了特殊的困难。由于反应式软件的输入数据空间很大,如何选取测试用例是反应式软件的关键问题之一

[3]。

4 实时嵌入式软件的测试工具

在嵌入式软件测试每个阶段内部通常要进行功能测试,语句覆盖率测试以及性能分析测试等操作。尽管很难找到通用的方法,辅助测试工具也并不完善,但还是需要借助一些软件测试工具帮助测试。

4.1 覆盖率测试工具

覆盖率测试工具通常采用软件插桩技术。在软件中插入一些生成数据的函数,自动生成测试数据并传入目标板。同时,在目标系统中运行一个预处理任务,对这些数据进行预处理,并将处理后的数据返回主机,这一切都需借助于目标处理器完成。通过以上过程,测试者得

[9]以知道程序当前的运行状态。

4.2 内存分析工具

嵌入式系统的内存十分有限并且使用时会受到各种限制,在嵌入式软件过程中时常会遇到一些一般软件运行时很难遇到的内存问题。这些问题出现后通常难以查找,内存分析工具正是用来处理这些情况,保证测试可以顺利进入功能测试阶段。目前有两类内存分析工具:软件工具和硬件工具。基于软件的内存分析工具可能会对代码的性能造成很大影响,从而严重影响实时操作。基于硬件的内存分析工具价格昂贵,而且只能在工具所限定的运行环境中

[10]使用。

4.3 性能分析工具

由于资源有限,嵌入式软件对性能要求远高于一般软件,开发人员通常会尽可能优化自己的代码。对于嵌入式软件而言,通常80%的资源消耗在20%的代码上,因此如果能准确定位主要消耗资源的代码,就可以使得优化工作事半功倍。性能分析工具正是这样一种工具,它不仅能指出哪些任务消耗最多的资源,还可以指示开发人员需要优化的函数,此外它还能

[9]帮助开发人员发现在系统调用中存在的错误以及程序结构上的缺陷。

4.4 GUI测试工具

很多嵌入式应用带有某种形式的图形用户界面进行交互,有些系统性能测试是根据用户输入响应时间进行的。GUI测试工具可以作为脚本工具在开发环境中运行测试用例,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。很多嵌入式设备没有GUI,但常常可以对嵌入式设备进行插装来运行GUI测试脚本,虽然这种方式

[11]可能要求对被测代码进行更改,但是节省了功能测试和回归测试的时间。

5 总结

嵌入式软件的测试主要是为了保证嵌入式软件系统的高可用性和高质量。嵌入式系统的特殊性,使得嵌入式软件的测试在整个软件的开发过程中都占有非常重要的地位。为此,对嵌入式软件测试的研究势在必行。在具体的嵌入式软件测试过程中,应该根据嵌入式软件自身特点,开发具有针对性的测试工具来提高嵌入式软件测试的效率和质量。

[1] 赵振宇.嵌入式软件测试技术研究及应用[D].北京邮电大学,2011.

[2]Qian H, Zheng C. A Embedded Software Testing Process Model[C]. Computational Intelligence and Software Engineering, Cise, International Conference on. IEEE, 2009:1 - 5.

[3]孙昌爱,靳若明,刘超等.实时嵌入式软件的测试技术[J].小型微型计算机系统,2000,21(9):920-924.

[4] 吕琳.实时嵌入式软件测试研究与应用[J].电子科技,2006,(8):28-30.

[5] 范东丽.嵌入式软件测试技术的研究[D].哈尔滨工程大学,2006.

[6] 刘芳.嵌入式软件测试技术的研究[D].北京邮电大学,2009.

[7]Karmore S P, Mabajan A R. Universal methodology for embedded system testing[C]. Computer Science and Education, International Conference on. IEEE, 2013:567 - 572.

[8] 许鹏,郑金芳.嵌入式软件测试方法分类分析[J].电子制作,2013,(9):73-73.

[9]吕金和. 嵌入式软件测试[J]. 软件导刊, 2010, 09(9).

[10] 平婕,秦军,康建华等.嵌入式软件测试关键技术研究[J].有线电视技术,2010,(8):45-47,50.

[11] 任志伟.嵌入式软件测试技术研究[J].软件导刊,2013,(9):21-23.


第二篇:怎么撰写一篇高质量的科技小论文


怎么撰写一篇高质量的科技小论文

时间:2010-10-06 08:53来源:未知作者:未知点击:

怎么撰写一篇高质量的科技小论文

247次

怎么撰写一篇高质量的科技小论文,要注意以下几点:

一、 选好课题

写小论文,首先要考虑写什么,也就是课题的选择。选择课题是写好小论文的关键。要注意以下原则:价值原则,即选题的理论价值和实用价值。要对其他的同学有所启发、指导和参考的意义;可行原则,指主观和客观条件的可能性,即撰稿者个人的专业知识、理论修养、知识面、手头资料、实验条件、周围环境,不可贪大求深,应该量力而行;新颖原则,指课题应是他人未曾研究或研究过但未解决或完全解决,要注意“文贵创新”。

二、 拟定题目

文题如目,好的题目能够叫人拍案叫绝,一眼难忘。它好似推销产品的广告词,对吸引读者起着关键作用。好的科技小论文题目要讲求三个字:准、小、新。准,指的是题目要用精练的文字将论文内容确切的揭示出来。如某位同学撰写的科技小论文的题目是《肥皂的去污原理和最佳洗衣浓度》,一看题目,就可以知道论文阐述的内容,一目了然。小,指的是题目的角度小。角度小,就具有较好的指向性,文章的思路随之明朗,容易写得集中、紧凑。题目过宽,往往由于我们投入研究的精力少,范围窄,专业知识不深,而难以驾驭。如某位中学生撰写的科技小论文的题目是《静电除尘黑板擦的研究与制作》,题目小且具体,学生可以作深刻的阐述。新,指的是力求在题目中透露出新鲜的立意。选题新鲜,才有阅读价值。没有独特的见解,没有新的发现,即使表达再好,论证再有力,也是瞎子点灯白费蜡。

三、 写好开篇

文章开头处于定调的特殊位置,历来为写作者们重视。古人云:”若起不得法,则杂乱浮泛”。开头部分虽短,却是全篇的有机组成部分,提示作者的思绪和对众多材料的截取,因此落笔之前必须对全篇有总体把握。

科技小论文的开头,不一而足,并无固定的格式,但却有章法可循,这就需要对各种开头的技法细加领悟,根据写作实际灵活运用。

1、 例题引路法

写作科技小论文,开篇引题,显示了研究问题的实在性,激发读者顺藤摸瓜的愿望。如某同学撰写的《一道容易解错的力学题》一文,作者开头就摆出了一道同学们很熟悉而又容易出错的力学题,并将错误的解答过程陈述给读者,引起读者的强烈的兴趣,而急于读完全文,以知道这道题究竟错在何处。

2、 揭示背景法

将研究的问题,放置到当前社会经济发展的大环境和大背景下,让读者在较高的层次体味其研究的意义乃至方向性。如《乡镇工业环境污染防治对策》一文是这样开头的:“改革开放以来,乡镇企业迅速崛起和蓬勃发展创造了大量的物质财富,使农村经济发生了一系列深刻变化。在一些发达和比较发达地区,乡镇企业已成为农村经济的重要支柱和国民经济的重要组成部分。但是,伴随着乡镇企业的迅速发展,乡镇工业对环境的污染和对生态的破坏影响日益突出。

这一开头就将研究的问题与命题的发展趋势,当今乡镇工业对环境的污染和对生态的破坏影响紧扣一起,使人们认识到治理环境污染的紧迫性。

3、 指出危害法

许多争鸣、纠错的小论文,常常指出某些弊端,让人们骤然心惊,晓知解决问题的紧迫性。

4、 概述论点法

在前言部分,作者将主要观点集中呈现给读者,给人一种整体感,这无异于交给读者一串钥匙,往下阅读便是尝试去打开一扇扇大门。

5、 设置疑问法

设置疑问主要是给读者留下悬念,让其在好奇心的驱使下迫不及待地关注研讨的问题。

以上是写好科技小论文开头的五种方法,值得说明的是开头的方法不胜枚举,且各种方法常常是有机结合,渗透并用。

四、 分述要点

经验材料繁多复杂,怎样使它们井井有条地统一于中心论点呢?在小论文的主体部分,采用分条论述的方法,往往得心应手。这种写法的好处是条理性强,层次清楚,给人全面深刻的立体感。当然,每个观点,都必须是深思熟虑的结晶,概述性要强,客观性要强,创新性也要强。

五、 用好材料

科技小论文不是简单地将手头材料罗列成文,深透的说理,规律的导引是其本质特征。观点和材料是相辅相成的,论文的价值体现在论题的价值,论题的价值又通过材料的论证体现,二者的有机融合,就会形成一篇很好的科技小论文。

六、文稿写作常识

为了减少编辑发稿时的困难,也为了减少论文排版时的差错,作者在撰写科技小论文时,还要注意掌握一些文稿写作常识。

一般来说,要注意以下问题:文稿用标准稿纸书写清楚(或者用电脑打印)。每格一字,标点单独占一格。不需排印的说明文字一律用铅笔标注。书写时应使用规范的简化字,防止错别字,更不要杜撰生字。除成语、古文和引用文献的数字外,一般数字用阿拉伯数字。公元的世纪、年、月、日、时、分、秒均用阿拉伯数字。年份不能简写(如19xx年不能简写成99年)。五位以上的数字可用“亿”、“万”作单位。四位以上的数字连写,不用分节点;外文字母、化学符号等要写得端正清楚。外文应用印刷体书写,大小写必须分明,并用铅笔标明玩儿文种,正斜体和上下角标。此项内容请以中学教材中的写法为准,化学结构式中各个线条位置的排列必须准确;数学公式和化学方程式应另行居中书写,并使用规范字体;使用规范的标点和其它的符号。书写时,破折号占两格、省略号占两格、连接号占半格,其余符号占一格。并注意顿号、逗号、冒号、分号、引号的书写位置;文稿中涉及到的计量单位应使用法定计量单位,文字叙述中用法定汉语名称;文稿中的表格应由作者填写清楚。表号和表名一般在表前,说明在表后。同一表格另页再写时,前面应注明“续表”字样。表内文字末尾不加标点符号,回行顶格;文字能叙述清楚的内容,一般不用插图。使用插图必须起到图文并茂的作用。要注意文字与插图的衔接搭配,插图均应按序编号。

更多相关推荐:
科技论文写作指导感想

《科技论文写作指导》学后感姓名:杨卫国学号:20xx3658班级:水利水电工程11-01班时光飞逝,不知不觉间《科技论文写作指导》课程已经结束了。在这几周的学习中,虽然我不能说我对科技论文写作了解得多深,但是通…

实验报告和科技论文写作的区别和联系

实验报告和科技论文写作的区别和联系摘要随着科学事业的日益发展,越来越多的学生步入研究生阶段进行深造,科技论文作为必要的毕业条件,体现了学生的基本素质和科研水平,本科毕业论文质量的高低是衡量本科教育教学成败的一个…

科技论文写作

科技论文写作科技论文写作是科学研究不可分割的一部分,好论文才有好结果,才有引用价值。不成文,便成仁,毫不夸张。一个研究结果只有在被别人使用时才有意义。而想被别人使用,文章必须能引起其他科学家的兴趣,而且得保证其…

科技论文写作的一般格式

科技论文写作的一般格式论文写作一般涉及有:题目、作者姓名和单位、摘要、关键词、引言、正文、结论、致谢、参考文献。。。。。。等等以上方面内容,但不一定每篇论文都要由以上内容,可视论文需要取舍,现分述如下:一、题目…

科技论文写作心得

短短几周的英语科技论文写作课程结束了,老师为我们做了详尽细致的讲解。科技论文是科学技术研究成果的书面表达形式。把自己科学研究的结果用科学论文的形式发表出来,向同行们介绍最新的进展并接受同行的批评或建议,是科学研…

关于邹教授对高质量科技论文写作与投稿讲座的总结

关于邹教授对高质量科技论文写作与投稿讲座的总结讲座时间:20xx-10-12晚上7:00~9:00参加人员:学工办主任伍主任、科技协会全体全体会员、志愿者协会、能源学院全体新生讲座概述:讲座主要是讲述高质量科技…

科技论文写作

毕业论文抄袭的危害性分析——陈明20xx110474毕业论文是普通高校本科教学计划中最后一个综合性实践教育环节,也就是本科毕业生在大四时候需要完成的一项重要任务,这个有关到能否顺利毕业的,大学生必须完成论文才能…

申论政论文写作模式

申论政论文针对某一个政策方针观点领导意见展开论述观点重要性落实的建议申论政论文写作模式第一部分提出论点200字概括材料开门见山地提出观点或治本措施或大政方针政策的某一层面内容或重要的精神指示意见等200字第二部...

科研论文的写作格式

科研论文的写作格式科研论文是作者的科学思维通过科学实践所获得的科研成果进行总结归纳后按论点和论据所写成的论证性文章一篇优秀论文既要求内容丰富新颖科学性强又要富有理论性和实践性且文字通顺层次清楚逻辑性强科研论文的...

论文写作规范

开题报告文献综述外文翻译论文反抄袭软件论文目录就差论文正文了其他都全了开题报告主要包括以下几个方面一论文名称论文名称就是课题的名字第一名称要准确规范准确就是论文的名称要把论文研究的问题是什么研究的对象是什么交待...

华中科技大学硕士学位论文格式范文(最新标准)

分类号学号密级学校代码硕士学位论文XXX系统的设计与实现学位申请人XXX学科专业软件工程指导教师XXX教授或副教授答辩日期20xx1025AThesisSubmittedinPartialFulfillment...

科技论文写作 B 答案大全

西南交科技论文写作B离线作业一不定项选择题有不定个选项正确共9道小题1科技论文具有ACED不选全或者选错不算完成A创新性B艺术性C专业性D应用性E科学性2科技论文写作应遵循ABCE原则不选全或者选错不算完成A严...

科技论文写作(51篇)