前言:中文期刊网精心挑选了自动化测试范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
自动化测试范文1
自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,其目的是降低测试的劳动量,达到提高软件质量的目的。涉及到测试流程、测试体系、自动化化编译、持续集成、自动测试系统以及自动化测试等方面。
一、 软件测试自动化的概念
软件测试自动化就是执行用某种程序设计语言编制的自动测试程序,控制被测软件的执行,模拟手工测试步骤,进行全自动或半自动测试。全自动测试指在自动测试过程中,根本不需要人工干预,由程序自动完成测试的全过程。半自动测试指在自动测试过程中,需要由手工输入测试脚本或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。
为保证软件的质量,必须按照软件工程的方法,在软件生命周期的各个阶段进行有效的管理和度量,软件测试是软件生命周期的重要阶段。目前软件测试普遍采用传统的测试方法,即白盒测试和黑盒测试。在测试工具上大多采用手工测试,或编制一些简单的测试程序进行测试,既耗时间又不规范。更大的隐患在于当将软件分发给用户使用时,常常会发生问题,严重时导致系统瘫痪。自动测试技术目的在于消除手工测试中人为的错误,加快测试循环,有效利用资源,提高工作效率。同时,使测试具有一定的规范性,提高测试的可重复性。
二、软件测试与自动化的联系
测试是一种技术。根据IEEE的定义,软件测试是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别,尽可能发现存在的缺陷。它的目标是以较少的测试用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。
自动测试也是一门技术,但与测试技术有很大不同。自动化测试是利用策略、工具以及产出等,减少人工介入到非技术性、重复性、冗长的测试活动里,从而达到无人监守完成测试,并自动产生测试报告,分析测试结果等一系列活动。自动化测试的目标是对被测试系统进行自动测试。总的来说,自动化测试的目的就是用较少的开销,获得彻底的测试,并提高产品的质量。
软件测试是由一系列有序活动组成的,始于测试计划,着重测试开发。软件测试自动化是针对这一系列活动及其管理的自动化,包括软件测试过程规范管理的自动化和软件测试活动的自动化。
无论自动测试还是手工测试都不影响测试的有效性,即测试的有效性和测试方式无关。测试脚本的设计与选择和测试质量有着直接关系,好的测试脚本方案应该可以以有限的数量发现软件中的大部分缺陷。因此选择何种测试脚本进行测试十分重要。实验和经验表明随机选择测试脚本并不是测试的有效方法,好的测试方法应该是开发好的测试脚本。
什么样的测试脚本是好的测试案例?有四个特性可以描述测试脚本的质量,它们分别是有效性,可拓展性,经济性和可维护性。监测软件缺陷的有效性是最重要的一个方面。好的测试脚本应该是可拓展的。可拓展性的意思是,这个测试脚本可以测试多项内容,这样就有效减少了测试脚本的数量。另外还应从成本出发去衡量一个测试脚本的经济性,包括测试脚本的执行、分析和调试是否经济,以及测试案例的可维护性,即每次软件变更后修改测试脚本的成本。
通常对这四个方面要进行平衡。例如,一个测试脚本可以覆盖到很多的测试内容,但要其执行和调试的成本可能很大。可能在每次软件变更后需要对测试脚本进行大量的维护。一次高拓展性可能导致经济性和可维护性比较低。因此测试技术不仅要保证测试脚本具有发现缺陷的高可能性,而且还要保证测试脚本的经济性,避免过高的执行、分析和维护成本。
对于手动测试脚本来说,无论测试执行的次数是多少,其经济性和可修改性都不会发生变化。然而对于自动化系统测试来说,在该测试第一次被执行时,其经济性和可维护性都比手动测试脚本要低,但伴随着测试的持续反复执行,自动测试的经济性迅速增长,可维护性也伴随着提高,当一个测试需要被重复执行时,自动化系统测试开始显示它的价值。自动测试的方法越好,长期使用获得的收益越大。
三、 测试自动化的现状
目前对于软件自动化测试主要有如下几种方法:
1、手写静态测试自动化方法 该方法应用静态的测试脚本和固定的测试脚本在被测应用的GUI上运行。这种自动化实际上只是体现在测试执行过程中,并且脚本需要反复调试,健壮性差。
2、随机输入自动化测试方法 这种方法的原理是让计算机模拟真实用户去进行各种GUI操作,只不过是测试过程本身涉及的行为是随机产生的,顺序也是随机产生的,它虽然可以发现一些测试人员无法发现的缺陷,但机会是很偶然的,因为测试程序本身并不知道对于它所产生的每一步操作及被测软件系统应该是如何反应的。
3、基于捕获/回放(C/P)机制的测试自动化方法 这种方法的本质是由测试人员与包含被测GUI的软件系统进行交互,基于C/P的工具负责将交互过程的场景和GUI操作捕获,生成测试脚本,再将这些操作进行回放。其优点是脚本生成相对容易;但是缺点也很明显,交互过程对测试人员的操作要求极高,并且脚本的可重用性非常差,对于回归测试过程无法提供有效支持,这些缺点使得该方法无法完美解决GUI测试的主要问题。
4、基于模型描述的自动化方法 这种方法的关键是对被测系统的行为进行形式化表述,形成模型,然后采用有穷状态机FSM ( Finite State Machine)从模型中产生测试脚本。通过这种方法产生的测试脚本可以有效的测试系统的具体行为是否满足系统设计要求,同时可以根据测试标准有选择地进行测试脚本生成和运行,但是缺点在于目前的系统规模越来越大,对于系统行为的模型描述越来越困难。这也是为什么这种方法一直无法在业界推广的一个主要原因。
四、测试自动化的挑战
伴随着开发及软件所使用的技术的更新,软件测试正面临新的机遇与挑战,图形用户界面GUI、分布式处理和庞大的分散网络就是这些新技术的代表。
自动化测试范文2
关键词 Web;自动化测试;测试框架;数据驱动
中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2013)11-0000-00
随着Web应用的日渐庞大和复杂,Web应用的测试越来越得到人们的重视,同时对Web应用的测试的要求也更高。研究表明,一种良好的自动化测试技术可以实现许多手工测试不能完成的工作。同时,自动化测试技术大大减少了产品的周期和软件的测试成本,软件测试的效率和速度也有了显著的提高。所以,软件开发组织测试工作可以采用自动化测试方法,同时结合相应的测试框架进行,这样,既提高了效率,又降低了维护成本。
自动化测试框架是一个由假设、概念以及自动化提供支持的实践的集合。现在,许多企业和个人都认识到Web自动化测试框架的重要作用,并积极投身于其研发中,并不断有新的框架出来。本文中描述了几种常用的自动化测试框架,并在此基础上,研究了一种实用性强的开源Web自动化测试框架。
1 自动化测试的优缺点
自动化测试之所以得到人们重视,是应为其具有其他测试所无法替代的优点,概括一下有以下几点:1)效率高,测试时间大大减少。2)降低了测试成本,减少了开销。3)比手工测试完成的测试范围更广。4)测试可靠性、一致性和可重复性好。5)工作质量提高,资源利用好。6)软件推向市场时间更短。7)测试的复用性高。
尽管自动化测试有诸多优点,但在测试中仍然存在一定的局限性,具体表现如下:1)自动化测试并不适用于每种情况。2)测试的有效性并没有提高。3)自动化测试工具不具灵活性。4)对测试质量的依赖非常大。5)有时对软件开发有一定的制约。6)没有手工测试发现的缺陷多。
通过以上分析可知,让自动化测试完全取代手工测试是行不通的,只有将手工测试与自动化测试很好的结合在一起,才会发挥各自的优势,测试效果才会更好。
2 几种常用自动化测试框架
以下为几种常用的自动化测试框架,它是研究人员为解决脚本维护性问题而设计的。以这些自动化测试框架为基础,结合自己的经验与需求即可以设计出适合自己的自动化测试框架。
2.1 脚本模块化框架
该框架用创建的独立的小脚本代替被测试应用程序的函数和模块,采用分层的方式完成测试。脚本的实现层作为底层,测试用例的组合层作为上层。脚本模块化框架应用了封装和抽象的原则,提高了测试套件的可维护性。为掩盖应用程序的其他部分采取在一个部件前构建一个抽象层的方式完成。该框架易于掌握和精通。但因其底层脚本的实现依赖应用程序的功能,故缺乏灵活性。
2.2 测试库构架框架
测试库构架框架与脚本模块化框架很相似,只是其将应用程序分解后创建的不是脚本,而是过程和函数。被测对象的功能或模块通过创建库文件来描述,测试用例脚本直接调用这些库文件。这样,抽象度更高,测试用例组装更加灵活。
2.3 关键字驱动测试框架
该框架又叫表驱动测试框架,是一种比较理想的自动化测试框架。其测试逻辑的描述采用关键字和数据表实现。这些关键字和数据表可以用来“驱动”测试脚本代码,并独立执行测试工具,是应用程序和自动化测试框架彼此独立。这种测试方式与手工测试很像。
2.4 数据驱动测试框架
数据驱动测试框架是从特定的文件(如Excel文件、OOBC源文件、CSV文件、ADO对象文件等)中,把测试的输入和输出数据独立出来,通过变量传入测试脚本中。这些变量就是测试数据用来传递和验证应用程序的。在整个过程中,测试动作的控制(如数据文件的读取,测试信息和记录测试状态等)写进测试脚本中;测试数据不写进脚本,而只包含在数据文件中。这里,测试脚本只是一个传送数据的机制,或仅是一个“驱动”。
数据驱动测试框架是测试不同的输入、输出采用相同的测试过程,并将测试输入和预期输出以表的形式组织起来,一个测试作为表中一行。测试过程就是从表中逐行读入,即可实现执行每个测试输入和检验预期输出。将数据驱动测试过程以表组织在一起,执行新的测试就可以反复使用这个过程。这种测试需要执行的脚本大大的减少,大量的测试用例仅需少量的脚本就可实现,对由许多不同数据选项的应用非常有效。
3 开源Web自动化测试框架的研究
3.1 设计思路
本框架以开源框架Selenium为基础,进一步设计了此框架的“私有语言”,也就是数据驱动文件的编写规则。数据驱动文件的解析程序的实现就以这些“私有语言”为依据,Web应用的测试执行框架也是由这些“私有语言”和Selenium合并组成。依据这些编写规则,测试人员把数据和对Web应用的操作行为写入数据驱动文件中,测试框架负责对这些数据驱动文件进行解析,将这些解析后的数据传入并调用Selenium API的相应方法,从而使其自动执行。
3.2 框架结构
该框架是基于数据驱动的测试框架,并在其基础上进行了一些改进,开源Web自动化测试框架结构如图1所示。
此框架中,在Server端安装被测试Web应用,可以供远程访问,方便测试。Extended Selenium RC System作为测试执行引擎安装在Client端,它是本框架的核心,数据驱动文件解析系统是采用开源自动化测试工具Selenium开发的。它的主要功能是通过解析数据驱动文件,得到解析后数据及Web操作,而后调用Selenium API的方法,并将数据作为参数传入,这样对远程Server的操作即可实现。当Server的响应到达Client,Client进行各种元素验证,记录日志文件及保存测试结果等操作。测试工程存放在Project文件夹中,主要由若干XML数据驱动测试文件组成,在Project_Config.xml测试工程注册文件中对各种数据驱动文件完成统一的注册,然后又Extended Selenium RC System按注册的向后顺序对各XML文件依次进行解析。
3.3 设计数据驱动文件
相关操作和数据的文本文件构成了数据驱动文件。由自动化测试工具私有语言手动编写这些文件,接着对其变量赋值,并作为测试数据输入。这些变量使解析程序能通过外部的数据来驱动应用程序。软件自动化测试的一个重要环节是数据驱动文件的开发和维护。对测试文本做合理地修改和调整,可以扩大测试覆盖面,增加测试脚本灵活性,并且对被测试对象变量的应对能力大大提高。
本框架中,设计数据驱动文件的“私有语言”是重点,其设计包括以下几个方面。
3.3.1 对Web操作行为的定义
这一部分包括页面中数据的输入和对页面的各种操作。例如:将数据“efg”输入到页面标签中,具体设计如下:
< parameter value=”efg”/>
其中,方法结点用表示,表示向页面标签中输入数据。具体想哪个页面标签输入数据用表示,其中value属性可以是name或id等,表示定位关键字。具体输入哪个数据,用第二个 表示,value属性中放内容值。
3.3.2 验证部分
这部分是完成对页面标签及数据验证操作。同操作部分一样,方法结点与API的方法名称一致。例如:验证上例中页面中是否存在“efg”文本,具体设计如下:
其中与Selenium API中的isTextPresent(“”)方法相对应,表示要验证的内容结点,Value中放具体内容,本例中放的是文本“efg”。本例可以实现对页面中是否存在文本“efg”的验证。
3.3.3 设定测试环境
若Web应用要运行在不同操作系统上,就需要设计不同版本,虽内容差别不大,但若设计不同的测试工程,则工作量会大大增加。这个问题的解决,可以采取在同一数据驱动文件中写入不同版本的数据驱动文件来解决,并只需用测试环境结点加以标准区分,就可以在解析文件过程中通过操作系统类型与测试环境结点属性值得对比,来判断是否进行解析。
除了以上三个方面,还应对结点名称到API方法名的映射及结构等进行合理的设计,从而使数据驱动文件可控性更强,更具灵活性及更便于解释。
4 测试流程
首先将编写完的数据驱动文件添加到测试平台。接着解析数据驱动文件,实现测试脚本到执行引擎的映射。然后向Web服务器发送HTTP请求来模拟真实用户访问Web的场景,获得测试结果信息。最后,对得到的数据进行分析,得出测试报告及生成日志。
5 结束语
本文以数据驱动方法为基础,提出一种开源Web自动化测试框架,重点研究了数据驱动文件的编写规则。本测试框架可以应用不同的工程项目中,具有开发门槛低、独立性强、效率高等特点。特别适用于需要反复测试的回归测试阶段,大大提高了企业的经济效益。
参考文献
[1]赖利峰,刘强.Web应用程序的一种功能自动化测试模型与实现[J].计算机工程,2006,32(17):42-44.
[2]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2005.
[3]朱菊,王志坚,杨雪. 基于数据驱动的软件自动化测试框架[J].计算机技术与发展,2006,16(5):68-70.
[4]李晓会.Web系统自动化功能测试框架研究与实践[D].北京:北京邮电大学,2011.
[5]樊付星,黄大庆,周未.基于Web的自动化测试框架的研究与实现[J].电子设计工程,2012,20(20):36-38.
[6]黄侨,葛世伦.开源Web自动化测试框架的改进研究[J].科学技术与工程,2012,12(15):3630-3635.
[7]马春燕,朱怡安,陆伟.Web服务自动化测试技术[J].计算机科学,2012,39(2):162-169.
[8]Mike K. Choosing a Test Automation Framework[S].IBMDeveloper.
自动化测试范文3
关键字:软件测试;自动化测试;手工测试
1引言
无论采用哪种开发模型所开发出来的软件系统,由于客观系统的复杂性,加上人的主观认识不可能完美,每个阶段的技术复审也不可能毫不遗漏地查出和纠正所有的错误,再加上编码阶段也必须会引起新的错误,所以在软件使用以前必须经过严格的软件测试,通过测试尽可能找出软件开发各阶段的错误,从而得到高质量的软件。它不只是为了保证软件系统本身高质量,也保证整个软件开发过程是高质量的。不仅如此,软件测试还为风险评估准备信息,给开发人员或程序经理提供反馈信息。
软件测试可用手工来完成,目前大部分都是采用此测试方法。但是,软件测试的工作量很大,据统计,测试会占用到40的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60。而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求做准确细致的工作,计算机就最适合于代替人工去完成这样的任务。这种让计算机来代替人的部分手工测试工作的测试方法,我们称之为自动化测试。它的准确定义是使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施,测试脚本的开发与执行。自动化测试使测试过程简单并有效率,使测试过程更为快捷,没有延误。这就好比进行一项商业交易,我们已经知道了交易的具体过程,而我们所要做的是设计一套自动化的方法,使交易过程更简单,成本更低。
2自动化测试完成的工作
2.1前期准备工作
在对一个软件系统进行测试之前,我们可以先改进被测试的产品,使它更容易被测试。有很多改进措施可以帮助测试人员更好的使用产品,也可以帮助测试人员更好的测试产品。比如一些产品很难安装,可以直接改进产品的安装程序,或者是开发一套自动安装程序,目前有很多专门制作安装程序的商用工具。
我们也可以利用工具在测试执行的日志中查找错误,利用手工查找报错的方法容易让人感到乏味且易遗漏。这时我们可以仔细了解日志中记录的错误信息格式,写出一个错误扫描程序,使查错自动化。
2.2需求分析
正如软件生命周期有需求分析阶段一样,在制定测试方案之前也需要收集需求。定义自动化测试项目的需求要求我们全面地、清楚地考虑各种情况,然后给出权衡后的需求,并且可以使测试相关人员更加合理的提出自己对自动化测试的期望。
开发管理者、测试管理者和测试人员实现自动化测试的目标常常是有差别的。除非三者之间达成一致,否则很难定义什么是成功的自动化测试。为了避免这种情况,需要在自动化测试需求上保持一致。应该有一份自动化测试需求,用来描述需要测试什么。测试需求应该在测试设计阶段详细描述出来,自动化测试需求描述了自动化测试的目标。
2.3自动化测试工具的选择
我们可以自己根据要测试的软件系统自己开发一个测试工具,但花费代价较大,鉴于此我们可以使用已成熟的测试工具。对于测试工具的选择,要有专人针对不同的自动化测试,去评估究竟该使用哪种测试工具比较好。自动化测试工具又分单元测试工具、功能自动化工具和性能自动化工具,其中又分开源的和商业工具。究竟哪种工具更适合自己平台的测试,还需要有专业人员进行评估。
2.4自动化测试方案的制定
自动化测试方案包括指明测试中需要什么样的数据,并给出设计数据的完整方法;需要明确测试设计的细节描述,还应该描述测试的预期结果;完成测试设计文档,需要描述清楚测试设计的思路;编写测试脚本。对于脚本的开发我们需注意以下问题:
第一、开发脚本必须遵循一些规范化,就类似于程序员编程规范一样。我们的测试脚本就好比是我们测试人员的程序,同样要形成一个编写规范。因为养成这样的好习惯,是为了能方便维护脚本,避免增加后期的维护量和方便使用者使用;
第二、保证开发的脚本回放没有问题的基础上,适当增加出错处理来增强脚本;
第三、后期还可以在脚本中加入检查点,这样做的好处可以把原来需要人工去校验的地方让脚本去做;
第四、在脚本中增加数据驱动方法,使脚本能覆盖更多的分支路径,进一步提高脚本的集成度。因为前面已经说过了,脚本是不会执行那些没有被编写进去的功能点的,所以说后期测试人员一旦发现这个地方有必要让脚本来代替手工进行执行,就可以不断的增强我们的自动化脚本。
2.5可行性分析
可行性分析是指验证自动化测试项目的可行性,尽可能快地验证你采用的测试工具和测试方法的可行性,站在产品的角度验证产品采用自动化测试的可行性。同时要确定测试工具和测试方法对于被测试的产品和测试人员是否合适。选择一个快速,有说服力的测试套,它是评估测试工具的最好的方式,它可以证明你所选测试工具和测试方法的正确性。
2.6自动化测试的维护和扩充
自动化测试是一个长期的过程,为了与产品新版本的功能和其他相关修改保持一致,自动化测试需要不停的维护和扩充。自动化测试设计中考虑自动化在未来的可扩充性是很关键的,不过,自动化测试的完整性也是很重要的。如果自动化测试程序报告测试用例执行通过,测试人员应该相信得到的结果,测试执行的实际结果也应该是通过了。其实,有很多存在问题的测试用例表面上执行通过了,实际上却执行失败了,并且没有记录任何错误日志,这就是失败的自动化。这种失败的自动化会给整个项目带来灾难性的后果,而当测试人员构建的测试自动化采用了很糟糕的设计方案或者由于后来的修改引入了错误,都会导致这种失败的测试自动化。失败的自动化通常是由于没有关注自动化测试的性能或者没有充分的自动化设计导致的。
3自动化测试应用的范围
自动化测试并不是要求全程自动化,使用自动化测试代价也非常之高。自动化测试主要是用在存在大量重复性的手工测试项目和测试时间比较长的项目。很多测试小组都是在回归测试中采用自动化测试。所谓回归测试指在修改了原软件后,对其重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。它通常使用相同的测试用例和测试方法,自动化测试方法最适合。关于系统中模块的测试,对那些最有可能出问题或者不会破坏原先设计的重构任务进行自动化测试,性价比最高。
自动化测试绝不能代替手工测试,它只是手工测试的补充。对于那种不稳定软件的测试,开发周期很短的软件,一次性的软件等不适合用自动化测试。自动化测试是使用工具进行测试,工具本身并没有想象力和灵活性,根据报道,自动化测试只能发现15的缺陷,而手工测试可以发现85的缺陷。合理的运用自动化测试可以大大提高工作效率,反之则会是无休止的噩梦。无论测试自动化多么强大,现阶断,仍然是以手工测试为主。
4自动化测试的优势与不足
软件测试中,手工测试不够全面和彻底,因为它花费了很多时间。代码在修改或添加之后,运行预定义的人工测试集来保证修改不会产生新的问题。人工测试花费的时间越来越多,并给开发者带来挫折感,打击他们执行测试的积极性。而且,测试的工作量使得开发者不愿意改进或优化现有的代码。
当开发者测试他们自己的代码时,他们总是不愿意执行最苛刻的测试用例,因此就导致了最
有可能出错之处也是最不可能被全面测试到这样的情形。自动化测试无需人工干预就可以完成,它们缩短了开发过程。而且由于自动化测试可以简单快速的发现修改的代码是否能有效地运行,因此也就鼓励开发者优化和改进现有的代码。
测试自动化往往对测试人员的技术水平要求很高,测试人员必须充分理解自动化测试,但是,自动化测试不利于测试人员积累测试经验。
不要强行在测试的每个部分都采用自动化方式,寻找能够带来最大回报的部分,部分的采用自动化测试是最好的方法。可以采用手动确认测试和自动化测试相结合的方法。
5结论
任何工作的开展并非一朝一夕,新技术的开展将需要投入大量人力物力,而自动化测试就是我们测试工程师必须要坚持的一个长期的发展方向。为了不至于做事只做表面,建议每个测试团队中都必须要有专人去负责推动自动化工作的开展。还必须有专人负责维护脚本,规范脚本,甚至可以引入配置管理工具来统一管理脚本和把经验文档化。只有这样我们的测试财富才会从中不断积累,只有这样自动化测试才能走得更远。
参考文献:
[1] 《软件工程与软件测试自动化教程》,张克东,电子工业出版社
自动化测试范文4
摘要:本文讲述电力系统远动自动化测试基本功能,并结合测试仪在工程应用解决实际问题的案例,说明测试仪是一种快速准确判断自动化通道故障的高效手段。
关键词:电力系统;通道;规约;远动测试系统
0引言
随着电力行业的高速发展,电力调度自动化系统也得到了规模建设,且逐步占据了更加重要的地位。种类众多的自动化设备而带来的复杂的电力规约,再加上方式多样、网络拓扑结构日趋复杂的通信传输通道是电力调度自动化系统面临的新形式。在这种新形式下如何对自动化通道故障快速定位,实现通道资源的有效管理,如何确保电力自动化系统的正常运转、及时发现其中存在的隐患,这些都是调度自动化系统维护工程师会面临的问题。
在自动化系统中,远动通道是连接主站与子站系统的一个十分重要的环节[3],站端设备所采集的所有数据都要通过通道上传给主站,供主站分析和使用。而主站对厂站设备的操作命令也是通过通道下达到变电站自动化设备的。所以通道是连接主站与站端的神经,远动系统能否可靠稳定地运行,在很大程度上取决于远动通道是否可以很好地工作。自动化系统是一个复杂的网络通讯系统,有效地维护它需要结合多种手段,不是单一的通道测试、单一的规约分析可以完成的。电力远动测试系统是一个综合的测试系统,其具备从物理层、数据链路层、规约层及应用层的综合测试能力。
1电力远动测试系统功能
该测试系统由便携式测试仪和软件测试平台两部分组成,如图1所示,测试仪可独立或与软件测试平台组合使用,测试仪与软件平台间采用高速的USB接口互连,数据可在两个平台间实时交互。便携式测试仪采用32位处理器、实时嵌入式操作系统、超大液晶显示、触摸屏输入,可独立于软件平台进行通道测试、误码测试、规约测试、模拟主站、模拟子站的初步测试,支持RS232、FSK模拟四线、RS485、RS422、CANBUS、以太网等多种数据接口,能满足自动化专业常用的各种通道测试需求。软件测试平台是基于windows操作系统的平台软件,与测试仪配合可方便地实现各种复杂测试、分析、存储。
图1远动测试系统组成
测试仪有通道测试、规约测试、模拟主站和模拟从站四大功能。同时采用手持测试和直观的界面,给使用人员带来极大的方便。
1.1通道测试功能
在通道测试功能方面,该系统集成了数字示波器功能,能直观地看出对各种数字及模拟通道的信号完整性,如图2所示,其中图2 a)为手持测试仪界面,图2 b)为软件测试平台界面。能够测量模拟通道FSK调制信号的中心频率、频偏、信号真有效值、电平、数据传输波特率,能实时显示被测通道信号波形,可放大、缩小、暂停显示,并可存储波形数据等。数字通道能测量信号幅度、传输波特率、波特率抖动等。
a)手持测试仪测试界面b)软件测试平台界面
图2通道测试功能界面
在误码测试方面,能有效地对各种数字及模拟通道进行误码测试,量化通道传输质量。支持误码(以比特为单位)测试、块差错测试、误码秒测试和自定义测试等。
1.2规约分析功能
规约测试方面具备规约分析和报文捕获两大功能,如图3所示,其中图3 a)为手持测试仪界面,图3 b)为软件测试平台界面。规约模块具备良好的可扩充性和接口规范性,支持IEC870-5-101、IEC870-5-103、IEC870-5-104、DISA、CDT、部颁CDT、DNP3.0、SC1801、XT9702等自动化常用规约,并可根据需要灵活扩充。
a)手持测试仪规约分析界面 b)软件规约分析界面
图3规约分析功能界面
1.3主站模拟
模拟主站可模拟主站全部四遥(遥信,遥测,遥控,遥脉)数据;可发送报文列表,功能强大;可手动编辑报文发送;可模拟规约所规定的主站模式。主站模拟界面如图4所示,其中图4 a)为手持测试仪主站模块模拟界面,b)为软件主站模块界面。
a)手持测试仪主站模块界面 b)软件主站模块界面
图4模拟主站功能界面
1.4从站模拟
模拟从站可通过配置数据库灵活设定从站通讯参数、规约参数、工程数据、数据点号、数据描述、数据转换、数据计算等;可模拟规约所规定的从站模式。模拟从站界面如图5所示,其中图5 a)为手持测试仪从站模块模拟界面,b)为软件从站模块界面。
a)手持测试仪从站模块界面b)软件从站模块界面
图5模拟从站功能界面
2工程应用
我局购置远动自动测试系统,多次用于故障快速定位、复杂通道故障原因分析和新建变电站自动化设备投运等工作,大大提高了故障定位速度和准确性,提高了电力供电系统的产生效率。
2.1规约分析功能的应用
在集控站的建设过程中,曾发生过一次主站能正常接收报文,但前置程序解析后的遥测数据与子站始终不对应的现象。经主站和子站厂家共同检查分析,均确认各自配置正确,传输通道进行环回测试也没有误码,故障排查陷入僵局。自动化专业拿出远动测试系统传输通道上进行规约测试,发现子站发送的CDT遥测报文分重要遥测、次要遥测和一般遥测三部分传送,而在主站前置程序上只有重要遥测部分,其他遥测数据均无法解析,导致主站与子站遥测不对应。我们将规约测试结果告知厂家,修改规约配置文件后数据恢复正常。
2.2通道测试功能的应用
某局曾发生过一起正常通讯的变电站将老旧的载波设备更换为先进的光传输设备后,自动化数据中断的案例,通讯人员再三检查也找不到原因。通讯人员采用常用的磁石话筒听音,自动化数据已送到通讯设备,确认在改造前听到的信号音与现在相同。于是我们用远动测试系统,在通讯进线端子处进行规约测试,发现报文正常,至此故障排查陷入盲区。再次使用远动测试系统进行了通道测试,发现测试通道电平明显偏低。最后发现自动化出线端安装有一个通道防雷器,在防雷器的进线端测量通道电平在正常范围,将通讯线临时改接在防雷器前端后,主站端数据正常。利用通道测试功能,还曾经成功排除一起遥控操作有时能成功有时不成功的案例,最后检查的结果是因为该站采用模拟通道,而主站端和子站端的频偏设置不对应,导致通道误码严重。
2.3误码分析功能的应用
随着综合自动化系统和集控主站系统的建设,我局所有直管变电站均已实现了无人值守,集控人员除例行巡视和检修等一些特殊情况需到现场做安全措施外,大量的单一分合断路器与调整分接头的操作均通过遥控操作实现,但我们时常接到运行人员的通知,某某站遥控操作不成功,但遥信遥测数据接收正常。有一段时间,龙马集控就连续几天发生某站遥控不能操作的现象,通讯人员进行通道环回测试正常,我们检查自动化设备也是正常的,主站接收报文正常,发送报文也是正确的。采用远动测试系统,甩开两端的自动化设备,一端挂接远动测试仪,一端环回,利用远动测试仪的误码测试功能,导入一段从主站导出的通讯报文循环发送,结果发现该通道有间断性误码发生,进一步缩小环回范围,最终找到故障点在主站侧通讯卡接端子的下行线接触不良,导致下行通道间断误码,最终影响了遥控。
2.4模拟主站/子站功能的应用
该功能在新建变电站自动化设备投运前的通道调试中效果非常显著,我们就曾经使用该功能顺利完成了好几个调试时间很紧张的变电站的接入调试。在变电站投运前,因多种因素导致投运时间已确定,但光纤要随输电线路在投运前的2天才能架设到位,光纤到站后还得给通讯人员预留通道调试时间,自动化专业只能完成必须进行的四遥试验,如果通道或规约出现问题,试验很难完成。我们配合厂家技术人员提前完成变电站当地后台的所有试验,提前完成主站端图形绘制、数据库定义、图库关联、通道配置等,将站端转发表导入远动测试系统,用远动测试系统模拟子站功能,完成了主站的模拟调试;在站端使用远动测试系统的模拟主站功能,核对了通道配置、规约设置等。在通讯专业将通道完整移交给自动化专业后,我们只用了一天时间就在主站端对所有设备进行了一次真实的四遥试验,保证了该站的按期正常投运。
上述故障,如没有远动测试系统,单凭万用表和人工经验是很难及时准确排除故障、找到原因的。可见远动测试系统在实际应用中十分有价值。
3结论
远动通道是变电站自动化系统与调度自动化主站系统联系的纽带[3],也是自动化系统的生命线,如何确保生命线的畅通成为自动化专业和通讯专业都需要面临的一项艰巨任务,远动测试系统在远动通道故障快速定位、通道复杂故障分析测试、自动化设备投运预验收等环节都起到了举足轻重的作用。
参考文献:
[1]刘连浩,刘亮华,沈增晖.基于IEC104规约的电力远动测试系统的设计与实现[J].现代计算机,2008(5):107-109.
[2]陈少中,武建华.远动规约测试及故障分析系统[J].内蒙古电力技术,2009(B07):147-149.
自动化测试范文5
关键词: 自动化测试;面向业务;自动化测试框架
0 引言
传统自动化测试,通常针对被测系统特点专项开发自动化测试脚本,当系统功能变更频繁时,自动化测试维护成本很大;测试资产不便于统一的管理,重要测试资产不便于积累和复用;另外,自动化测试对测试人员的开发技术要求,限制了自动化测试的大规模普及和推广。为此,本文给出了一种业务与技术分析、脚本与数据分离的面向业务的测试框架BOSATF(Business Oriented Software Automated Testing Framework)。
1 BOSATF架构设计
1.1 架构设计原则
业务逻辑和测试脚本分离:框架提供协同工作平台,业务人员设计业务组件和业务流,自动化测试技术人员关注具体自动化脚本的开发,两个角色分工明确、高效配合。
测试脚本和测试数据分离:脚本和数据分别独立构建,同一测试脚本适用不同的测试数据,并使得脚本和数据的变更对整个测试工程的维护量降到最低。
框架功能模块高内聚低耦合:分层架构设计,模块内功能专一,模块间功能独立,在满足自动化测试框架基本功能需求的基础上,减少框架维护工作量。
1.2 分层架构设计
BOSATF由资源层、构建层、控制层、服务层和基础函数层等五大组件构成。
资源层提供框架运行过程中所需要自动化测试脚本、测试用例、测试数据和业务流程。各类资源逻辑上互相独立。
构建层负责资源层调度和管理,实现脚本、数据、用例、业务流程的统一管理,为构建层提供一致。
控制层协调构建层基础服务,遵循测试执行计划和测试机群管理规则,按照计划分配测试资源,保证测试执行有序进行。
服务层主要功能有日志信息的收集、缺陷的管理、测试过程中错误场景的恢复以及测试报告的生成。
基础函数层主要提供框架运行过程所需要的通用功能,包括日志管理、字符串格式转换、身份证号生成、保费校验和移动设备控件识别等功能。
2 BOSATF功能模块
2.1 测试用例管理
采用“业务流程分析法”,遵循“合并”和“拆分”原则,把手工测试案例转化成自动化测试案例,并建立映射关系,明确手工测试和自动化测试的对应关系,让测试人员实时掌握自动化测试进度,以便及时制定和调整测试执行方案。
实现自动化测试用例和成熟测试管理工具的互联互通,实现测试用例的导入、导出和多模式测试用例管理功能。
2.2 测试数据的管理
部分中间业务流程测试数据的准备时间占总测试周期的30%。针对这个问题,框架支持测试数据自动生成功能。根据被测功能特点,定制测试数据生成策略,批量自动生成测试数据。
框架同时提供“一次性数据”解决方案。针对部分业务模块测试数据无法恢复的情况,框架记录测试历史数据,避免数据的重复使用。
2.3 业务流程定义模块
该模块提供了可视化业务流程定义功能,降低了框架使用的技术难度。通过该模块,测试人员无需关注技术细节,只需要从业务人员视角定义业务操作流程,实现自动化测试脚本的自动组装。
2.4 测试执行管理
测试执行管理模块调用测试脚本、测试用例、测试数据、业务流程定义等相关服务,分配硬件执行机器资源,执行测试计划。同时,收集测试执行过程信息,为服务层的缺陷管理、测试报告管理提供基础数据依据。
2.5 场景恢复模块
目的是在出现故障的情况下能尽快的恢复系统,保证能快速、准确地正常恢复测试场景。根据故障的不同,明确地定义恢复的策略,制定不同的恢复机制,确保自动化测试在可预知风险前提下,快速恢复测试场景,按计划执行测试案例,保证测试进度。
2.6 缺陷管理模块
该模块采用与常用缺陷管理工具(QC、BugFree、JIRA)集成的办法,提供对发现缺陷的管理功能。支持缺陷状态的自定义,实现缺陷的自动提交,测试处理进度的自动追踪。
2.7 测试报告模块
以测试执行过程日志记录为基础,结合测试计划、测试执行管理等基础信息,提供多模式(TXT,Excel,Word,PDF)测试报告生成功能。
2.8 测试机群管理模块
该模块在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机技术的机群管理模块。
测试机群从职责上划分为五类:自动化控制调度服务器、资产管理服务器、资产备份服务器、测试执行机群及公共函数服务器。
3 结论
针对传统自动化测试框架不足之处,结合实际工作需求,提出了一种面向业务的软件自动化测试框架-BOSATF。它独立于自动化测试实施过程,作为专题项目开展工作,实现了业务流程管理和技术实现的分离,降低了自动化测试成本,提高了自动化测试大规模推广的技术可行性。
该框架在实现自动化测试框架基本功能基础上,结合虚拟化IT运维趋势,开发了基于虚拟机的机群管理模块。同时,框架提供了开放式集成接口,为与成熟的软件测试管理工具互通集成提供了途径。
实践证明,该自动化测试框架功能丰富、扩展便捷,有效降低了自动化测试难度,提高了测试工作效率。
参考文献:
[1]丁祥武、张钦、韩朱忠,SQL测试用例集的自动生成[J].计算机应用与软件,2012,29(8):185-188.
[2]黄彪贤、熊建斌、李振坤,金融软件功能自动化测试的分析及应用,计算机工程与设计,2012, 33(2):787-790.
自动化测试范文6
关键词:电气自动化 可靠性测试 设备
在20世纪50年代“自动化”一词被提出,电力、电机等产品的出现催生了电气自动化,而继电器和接触器的出现及应用使得机器可以按照人的意志和设定来完成事先安排好的判断和逻辑功能,促使了电气自动化的发展变革;在20世纪60年代,现代控制理论的提出和计算机的应用推进了自动控制和信息处理的结合进程,自动化进入综合自动化阶段,可以实现生产过程控制与管理的有效优化,电气自动化得到了质的飞跃;在20世纪70年代,随着通讯、IT、微电子等技术的快速发展,自动化对象逐渐延伸为大型复杂的系统,出现许多问题难以借助现代控制理论予以解决,通过研究这些问题使自动化理论和手段实现了革新,产生了综合利用系统工程、计算机、人工智能、通信技术等高新技术,应用于复杂系统的高级自动化系统,促进了电气自动化的快速发展;从20世纪80年代开始,电气自动化得到快速发展,目前已经较为成熟,电气自动化已是高新技术的重要组成部分,在工业、国防、医学、农业等领域得到了广泛的应用,极大地促进了人工智能、航空航天、交通、制造技术等诸多领域技术的发展,对国民经济的发展起到了重要的作用。
1、电气自动化控制设备可靠性测试的方式
要对电气自动化控制设备的可靠性进行定量的评价,必须通过相应的测试方式来进行有效的测试。而当前我国对于电气自动化控制设备可靠性测试的方式主要有三种,即实验室测试、保证实验及现场测试。
1.1实验室测试
实验室测试,顾名思义就是在实验室内进行的测试,这种测试方式是依照规定,利用某一可控的条件或者是环境条件,模拟设备使用过程中的使用条件,使被测试的设备可以如同在使用现场中遇到的应力一样进行试验,然后将累计的失效数与时间等数据经过数理统计,进而得出设备的可靠性指标。这是一种模拟的可靠性较高的试验,但这种方式很容易受到测试条件的限制。
1.2保证试验
保证试验是设备在出厂之前所进行的一种无故障性质的测试,又被成为“烤机”。这种测试方式主要是对设备可靠性进行保障的试验,需要的时间较长,对于那些大量生产的设备而言,只能通过对设备样品进行试验的方式来进行检测;另外,该方式在那些电路相对复杂、可靠性要求相对较高且生产数量又不是很多的自动化设备的测试实验中比较适用。
1.3现场测试
现场测试的方式就是在使用现场对电气自动化控制设备所进行的可靠性的测试,通过对各种可靠性数据的记录、统计及分析,得出设备可靠性运行的基本指标。现场测试可以分为三种情况,一种是在线的测试,测试的过程中,设备不需要停止运行;一种是停机的测试,测试过程中,设备需要停止运行;另外一种就是脱机的测试,也就是将被测试的设备或者是部件从系统运行现场去除,放到某一专用的测试设备上进行测试。尽管这一方式的工作环境相对真实,且需要测试设备的数量也比较少,得到的数据可以较为准确的反映出设备的可靠性,但测试过程中各种外界因素并不可控,实验条件在再现性上相对较差。三种不同的测试方式在具体的应用中各有优劣,这就要求电力系统在对电气自动化控制设备进行可靠性测试的时候,需要依照实际条件选择合理的测试方式,并对测试的相关问题进行严格的规范。
2、电气自动化控制设备可靠性测试方法的选择
可靠性测试方法选择的主要角度有:试验环境、试验场地、试验产品和试验测试程序这四个方面。
2.1试验环境。试验环境的选择对试验的效果来说是十分重要的。电控产品不论是在工艺上、规格上还是质量上,差异都很大。因此要根据被试产品的具体情况来选择与之相应的试验环境,以保证试验的客观性。
2.2试验场地。场地的选择也是有规则可循的。如果对产品的可靠性水平有较高的、严格的要求或者产品的实际应用环境较为恶劣时,要选择最严格的试验场地。如果是为了测定一般正常使用条件下的可靠性水平,则应选择工作环境最为典型的试验场地。如果是为了提供可靠的可比性资料,则应选择与实际工作环境相同或近似的试验条件的场地。
2.3试验产品。试验产品的首要要求是要有典型性。电控产品种类繁多、性质多样。因此在进行试验时一定要充分了解产品的相关信息,选取具有典型性和代表性的试验产品进行测试,这样才能保证试验的效果,实现试验目的。
2.4试验的测试程序。一个统一的、科学合理的试验程序是必不可少的,而且在实际试验中,试验人员要严格按程序进行试验。具体来说,一个统一的测试程序要包含以下重要因素:试验起始结束时间、时间间隔的确定、数据的采集、各种性能指标的记录、保障情况的记录、保障的排除等,并且这些要素都要有严格规范,以保证测试的准确性和可信性。
3、结论
随着电气自动化控制系统在我国电力系统当中应用的不断深入与发展,保证电气自动化控制设备运行的可靠性与稳定性可以说是一项重要的工作。
我们一方面要根据电控产品实际情况来选择可行的、高效的试验方法。另一方面,同时也是较为重要的一个方面,即我们要在我国电气自动化发展进程中,不断地完善和创新电控设备可靠性测试的方法,更要切实保证电气自动化控制设备可以安全、稳定的运行,对其可靠性进行系统全面的测试,找到影响其运行可靠性的因素是尤为必要的。但要保证设备可靠性测试的最终结果,必须做好测试方式的选择,注意测试中的各个环节,将我国的电气自动化推向一个新的发展进程。
参考文献:
[1]许卫国,关于电气自动化设备可靠性测试方法的探讨[J].科技传播,010(07):50-51.
[2]张宏喜.如何对电气自动化控制设备进行可靠性测试[J].价值工程,2011(06).
[3]吴钰琳,基于MTBF电气自动化控制设备可靠性测试的改进[J].硅谷,2009(12):27-28.