时间:2023-02-06 05:00:01
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇系统测试,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
【关键词】LVDS;测试
1.引言
随着现代电子科学技术的不断进步,雷达技术和体制的也在不断发展,DBF体制的相控阵雷达,机载预警雷达以及合成孔径(SAR)雷达等一些新体制的雷达不断出现在现代高科技战场。随着雷达体制的发展,其对信号带宽和大容量高速率的信号传输提出了越来越高的要求。LVDS这种接口标准为解决这一瓶颈问题提供了可能。目前LVDS技术在工业各领域已经得到了广泛应用,本文结合某雷达产品调试现状,提出了一套LVDS的全新测试方法,该方法简单易行,大大缩减了产品调试周期。
2.LVDS的基本原理
LVDS(LOW VOLTAGE DIFFERENTIAL SIGNALING)是一种低压差分信号传输技术,其基本原理如图1所示。其驱动器为一个恒流源驱动一对差分信号线组成,在接收端有一个高的直流输入阻抗,阻抗基本上不会消耗电流,所以几乎全部驱动电流都流经100W的终端电阻在接收器端产生。约350mV的电压,当驱动状态反转时,流经电阻的电流方向发生改变,于是在接收端产生逻辑状态的改变。
LVDS传输具有以下特点:
(1)高速率,LVDS的恒流源模式低摆幅输出决定了其高速的驱动能力,它允许单个通道的数据传输速率达到数百兆每秒。
(2)超低功耗,LVDS器件采用CMOS工艺,提供了低的静态功耗,负载(100W的终端电阻)功耗仅为1.2mW.
(3)低噪声和低电磁干扰,LVDS传输采用差分方式,接收端只关心两信号的差,噪声被抵消,同时由于差分传输,两条信号线周围的磁场也相互抵消,降低了电磁干扰。
3.提出方案
某型号雷达采用相控阵列天线,天线为N维阵列,从天线阵列下来的N路射频信号经过接收系统变换成数字中频信号,接收系统采用LVDS编码芯片将中频信号编码,一块LVDS芯片传输5路中频信号,接收系统通过专用的LVDS电缆将信号传输到信号处理系统,共N/5路数据组送到信号处理系统,其LVDS芯片将传送来的5路串行数据还原成5路并行数据。这N/5组并行传送的信号的直接送到波束形成插件内的FPGA内,完成数字波束形成、同时完成接收通道数据校正和发射通道数据校正等功能。
针对该型号雷达的波束形成插件调试记录及其插件的返修率进行统计分析发现,LVDS解码芯片本身质量引发的故障率为21%;表贴工艺引发的故障率为15%;印制线短、断路,阻值超标,故障率为18%。LVDS解码芯片自身为细间距芯片,在用探头点测时容易短路,一旦短路,容易致使芯片由于人为因素失效。
目前信号处理系统调试方法是在波束形成插件的程序中做扫频数据库,同时形成波束,这样在信号处理分系统调试过程中实际上并没有覆盖LVDS解码芯片,也不经过FPGA中的输入管脚,无法判断其状态好坏,只有在雷达整机上系统联调时才能测试其状态好坏,需要雷达系统人员配合,而且必须保障信号处理前端的状态正常才能测试。一旦发现问题,返工的周期也会影响雷达系统联调的总体时间进度,这样导致工作量增加,而且调试效果也不佳,售后服务返修件多数情况也无法处理。
针对以上情况,本文提出了一套简单易行的解决方案,通过搭建波束形成调试、测试工装,建立一个专门的波束形成插件调试、测试系统,可以在分系统测试时就完成LVDS解码芯片的功能测试、表贴工艺测试,以及LVDS解码芯片将信号送进FPGA器件的正交IQ信号M位数字信号的测试,测试是否存在表贴虚焊现象,是否存在印制线短路、断路现象,是否存在印制线阻值超标现象,测试结果简单明了,很容易判断故障的所在。
3.1 系统组成
整个测试系统由接收系统、信号处理系统组成,测试仪器与仪表主要有计算机和示波器各一台,整个测试系统连接框图如图2所示。其中时钟信号由接收系统产生提供,并通过
LVDS电缆传给信号处理系统。接收系统测试软件固化在其配置芯片中,信号处理系统端的测试软件通过计算机在线编程下载到FPGA芯片中。
3.2 软件设计
接收系统软件产生锯齿波信号,通过测试电缆送信号系统;实现方法:利用一个计数器产生所需锯齿波信号。具体如图3所示。
信号系统编写控制软件,根据接收系统送过来的信号所接通道,控制选择相应的LVDS解码芯片将解得的锯齿波测试信号送入FPGA器件,并能将接收系统送来的多位信号进行截位控制。重新设计FPGA控制电路,将收到的锯齿波测试信号采样、处理、还原成模拟信号、输出给示波器观测,这样测试结果快捷、直观。当所选通道经过的LVDS解码芯片和送入FPGA器件的IQ信号均正常,可以在示波器上看到如4所示的波形。
当波形产生插件故障时(比如LVDS解码芯片故障、送入FPGA器件的IQ信号虚焊、印制线制造故障),示波器上输出波形将不再是标准的锯齿波,不同的故障信号位可以根据故障波形基本定位。示意图如图5所示。
当输入的IQ信号较低位出现虚焊时,软件控制端口的截位控制选项值可以较低,上图中为05截位;当输入的IQ信号较高位出现虚焊时,控制软件控制端口的截位选项值需要较高,这样才能检测出故障,图6所示截位选择为0E。
3.3 改进后测试流程
在后续的调试过程中,采用了上述测试方法,基本解决了波束形成插件调试困难的问题,提高了调试效率。具体操作流程如图7所示。
3.4 改进效果比较分析
下面以一块波束形成插件的调试来比对改进前后的测试效果:
改进前:
配合人员:至少雷达系统和信号处理系统各1人,共2人;
测试平台:一套完整的雷达;
需要时间:5小时;
同时在测试过程中要受到整机性能的影响,雷达整机工作必须正常,特别是接收校正功能。在没有整机的情况下是无法进行测试工作,对于分系统的调试以及今后的售后服务插件的维修来说相当不便。
改进后:
配合人员:信号处理系统1人。
测试平台:信号系统和接收系统调试设备。
需要时间:1小时。
【关键词】系统测试缺陷管理
一、系统测试概述
软件测试是为了发现错误而执行程序的过程,从测试范围角度,软件测试可分为单元测试、集成测试、系统测试等。系统测试是把集成测试后的软件和硬件、人员、资源等相关元素结合起来,在真实的环境中对系统进行测试,挖掘出软件中隐藏的缺陷,从而保证软件的质量,系统测试的流程为:需求获取与评审,测试策略制定,系统测试设计,用例开发,测试准备,测试执行,发现剔除缺陷周期,测试周期结束,缺陷分析和结果报告
二、缺陷的发现和跟踪
(一)缺陷发现的方法
缺陷发现方法一般包括:软件测试,同行评审,客户反馈,管理评审,项目内发现等。软件测试的定义很多,如狭义论和广义论。狭义定义是:指通过检查代码和开发中有关文档,找出软件潜在的质量问题,从而保证软件质量;广义论定义是:验证过程的正确性,确认结果的正确性。同行评审是根据立项时定义的规程由软件开发者的同行对软件产品进行的技术评审。
(二)缺陷报告与跟踪
测试组执行测试用例后,发现实际输出与期望不一致时,需要报告缺陷。为了准确、完整地记录开发过程中的缺陷,跟踪修改过程,验证修正缺陷、统计缺陷数据,需要借助缺陷跟踪工具。跟踪工具可以执行新增、修改、查找、排序、保存等操作,从而有效的管理软件缺陷,还可以规范软件的缺陷管理过程,提高软件测试效率。以我们常用的Bugfree为例,缺陷跟踪系统的流程是:测试人员报告Bug,Bug处于激活状态,此时由项目经理或项目组长指派给问题的责任人。Bug修改后,Bug状态自动转为解决状态,并派给创建人员。然后由创建人员验证Bug。验证不通过,Bug重新激活,状态重新转为激活;验证通过关闭此bug,状态转为关闭,此时Bug生命周期完成了。回归测试时,发现已经关闭的Bug如果重新复现,需要重新激活。
三、缺陷分析
(一)缺陷分析作用
缺陷分析是对缺陷数据进行统计、计算、分析和编写分析报告的行为,是缺陷管理的核心,通过对缺陷数据分析,可以挖掘以下几方面的信息如:不同类型缺陷某一属性产生的概率、集中分布的模块、根据某个属性形成的发展趋势、缺陷产生原因,根据对缺陷数据的分析结果采取相应的措施和方法,如发现测试用例的不足,需要及时完善测试用例,从而达到提高缺陷发现率的目的
(二)缺陷分析
执行系统测试并产生缺陷数据后,测试人员就可以对系统测试结果。缺陷分析是指对缺陷的不同属性、用例执行情况等信息进行统计分析;并把这些信息绘制成图表。缺陷分析方法很多,本文从缺陷趋势分析和缺陷分布来分析两方面来分析。缺陷趋势分析,关注的是软件缺陷的严重性,缺陷对软件的影响程度。缺陷趋势分析是在软件正式之前发现的缺陷数据基础上,定期应用统计方法/工具进行分析计算系统测试过程中采集的缺陷数据;缺陷趋势分析的内容,主要是缺陷密度、缺陷重现率和缺陷周期。
(三)实例分析
以下是通过Bugfree工具统计的手机系统测试缺陷数据,统计时,分别从,从严重性角度、从缺陷产生原因解度、缺陷所属模块角度,统计出了缺陷的严重度分布,来源分布和,在各模块中的分布。缺陷严重度分布图1、缺陷来源分布图2,缺陷按模块分布图3。
从图1,2,3中可以看出,严重级别的缺陷所占比例,各个模块中存在的缺陷数量,也可以根据缺陷恢复状态来分析每轮回归测试中,已修改、新增、重新激活的缺陷数等信息。为了能充分挖掘测试过程中收集的基础缺陷数据,为后续的度量奠定基础,在缺陷的分析统计过程中,我可以根据实际,绘制各种类型的图表,如柱图,饼图等。
(四)度量分析
软件度量是对软件开发项目、过程及其产品进行数据定义,收集以及分析的持续量化过程。在缺陷数据统计的基础上,结合缺陷的属性从单属性和多属性方面进行度量分析。图1中可以看到,致命和严重故障占总缺陷的64%,说明软件处于不稳定状态,开发人员需要加紧缺陷的修复和分析缺陷产生的原因。图2给出了缺陷主要分布编码和测试阶段,缺陷来源可能是开发人员编码不规范或测试方法等原因。图3可以看出,该轮测试中系统的几个机能模块存在的缺陷数量和严重度。通话、电话本、短信、设置模块存在着致命或严重的故障,说明软件还达到稳定状态,后续测试中需要在这几个模块上加重人力和改进测试方法,以保证软件尽早达到稳定状态。
本文从功能、性能、可用性、客户端兼容性、安全性等方面讨论了基于web的系统测试方法。 / kF?RZNAX4 ^'8gnv [ 本 资 料 来 源 于 贵 州 学 习 网 计算机网络技术 Www.gzU521.com ] / kF?RZNAX4 ^'8gnv
随着internet和intranet/extranet的快速增长,web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在web环境中出现。web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息,容易为最终用户存取。
yogesh deshpande和steve hansen在1998年就提出了web工程的概念。web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于web的系统。它"使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、和维护基于web的系统"。目前,对于web工程的研究主要是在国外开展的,国内还刚刚起步。
在基于web的系统开发中,如果缺乏严格的过程,我们在开发、、实施和维护web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对web和internet的信心可能会无法挽救地动摇,从而引起web危机。并且,web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。
在web工程过程中,基于web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,internet和web媒体的不可预见性使测试基于web的系统变得困难。因此,我们必须为测试和评估复杂的基于web的系统研究新的方法和技术。
一般软件的周期以月或以年计算,而web应用的周期以天计算甚至以小时计算。web测试人员必须处理更短的周期,测试人员和测试管理人员面临着从测试传统的c/s结构和框架环境到测试快速改变的web应用系统的转变。
一、功能测试
1、链接测试
链接是web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段。链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证web应用系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有知道正确的url地址才能访问。
链接测试可以自动进行,现在已经有许多工具可以采用。链接测试必须在集成测试阶段完成,也就是说,在整个web应用系统的所有页面开发完成之后进行链接测试。
2、表单测试
当用户给web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
3、cookies测试
cookies通常用来存储用户信息和用户在某应用系统的操作,当一个用户使用cookies访问了某一个应用系统时,web服务器将发送关于用户的信息,把该信息以cookies的形式存储在客户端计算机上,这可用来创建动态和自定义页面或者存储登陆等信息。 转贴于
如果web应用系统使用了cookies,就必须检查cookies是否能正常工作。测试的内容可包括cookies是否起作用,是否按预定的时间进行保存,刷新对cookies有什么影响等。
4、设计语言测试
web设计语言版本的差异可以引起客户端或服务器端严重的问题,例如使用哪种版本的html等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了html的版本问题外,不同的脚本语言,例如Java、JavaScript、 activex、vbscript或perl等也要进行验证。
5、数据库测试
在web应用技术中,数据库起着重要的作用,数据库为web应用系统的管理、运行、查询和实现用户对数据存储的请求等提供空间。在web应用中,最常用的数据库类型是关系型数据库,可以使用sql对信息进行处理。
在使用了数据库的web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。
,l/u,H*wjY-gM8-[ 此文我的学习网计算机网络技术 Gzu521.com] ,l/u,H*wjY-gM8-
二、性能测试
1、连接速度测试
用户连接到web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。
另外,有些页面有超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,使用户得不到真实的页面。
2、负载测试
负载测试是为了测量web系统在某一负载级别上的性能,以保证web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问web系统的用户数量,也可以是在线数据处理的数量。例如:web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?web应用系统能否处理大量用户对同一个页面的请求?
3、压力测试
介绍了铁路区间信号系统测试评估平台的研制背景,给出平台的硬件分布式系统和软件系统结构。简要介绍了平台软件系统各个子系统的功能。阐述了平台专用数据库的设计过程。
【关键词】
区间信号;数据库设计
铁路区间信号系统是安全性苛求系统。在区间安全性控制和防护设备的研制、生产、使用过程中,运用现代技术手段对设备的可靠性和安全性进行科学、高效、全面、按标准的检测,以取代目前国内主要依靠专家经验进行的手工测试和实际线路试运行的非完善的方法,是十分迫切和必需的。
1.区间信号系统测试平台的结构
铁路区间信号系统测试评估平台(以下简称平台)硬件采用分布式结构,如图1所示。平台由主控机、数据库机和仿真机组成。被测系统通过网络与平台互联。网络通信采用TCP/IP协议。
平台软件系统结构框图如图2所示。其中:主控及测试案例自动生成子系统一方面向仿真子系统发送区间状态的仿真设置命令,另一方面动态监控现场信号状态等,实现测试案例的动态扩展和连续加载、测试结果的动态判定,并将测试结果存入数据。
传输信道仿真及区间现场仿真子系统为被测系统提供了一个模拟的传输仿真及现场环境。数据采集与处理子系统在被测系统与仿真信道之间进行数据处理及转换。测试用基础数据生成子系统通过读取区间拓扑数据文件,生成区间测试用基础数据。专用数据库子系统负责存储各种测试用基础数据和测试结果。
2.平台专用数据库设计
平台的数据库不仅是一般意义上的数据库应用,它还负责协调各个子系统之间的数据联系。平台数据的类型与结构在一定程度上反映了整个平台的测试水平。基于对平台数据以及平台分布式结构的考虑,经过深入的比较,选择SQL Server 作为平台的数据库开发工具。数据库设计一般分为四步:需求分析、概念设计、逻辑设计和物理设计。应用数据库设计理论,平台专用数据库设计的具体步骤如图3所示。
2.1需求分析
平台的数据按其对时效性的不同要求可以分为动态数据和静态数据两大类。动态数据是指具有严格时效性的数据,并且随着时间推移而动态刷新;静态数据则指相对稳定,不随时间变化的数据。
2.1.1动态数据及其传输
测试结果信息。平台的测试结果记录是一种比较特殊的动态数据,包括经信道传输前后的实时电信号(数据)。它们是评价被测系统的重要依据,必须完整、正确地记录。
动态数据传输首先必须满足实时性要求,当不能及时传送时,根据数据特性的不同,或丢弃,或重发。例如被测系统发送的数据如不能及时传送,或数据有误,则该数据必须丢弃。主控机发给仿真子系统的故障及干扰仿真命令、列车运行仿真命令,在网络传输出现差错的情况下,为了确保命令被正确执行,必须重发。
2.1.2静态数据及其复制
生成和校验正确后的静态数据,在平台对被测系统进行测试的过程中不再变化,具有相对的稳定性。同样需要对静态数据进行存储、查询、校验和修改等操作。
区间现场拓扑数据。包括闭塞分区、发送端、接收端的位置和相互关系。这种描述有两方面用途,一方面用于现场仿真的动态显示,另一方面是作为测试用基础数据生成的原始依据。静态数据的复制是通过开放式数据库互连(ODBC)机制实现的。
2.2概念设计
在数据库设计中,笔者使用实体-联系(ER)模型作为概念设计的工具,得到概念设计的E-R图。E-R图由实体、联系和属性3个基本成分组成。测试用基础数据所处理的基本实体是城市轨道交通区间的信号设备:接收端、发送端、闭塞分区;设备之间的关系也就是最直接的实体间联系。通过E-R图,可以十分清楚地描述测试用基础数据的结构。图4为列车运行线路数据的E-R图。
2.3物理设计
物理设计要根据具体的数据库管理系统(DBMS)和相应的操作系统、计算机硬件所能支持的存储结构、存取方法以及资源来进行设计。SQL Server 提供索引或表键机制来帮助SQL Server 优化对查询的响应。在测试平台上,对结果数据的查询,是将记录计数号与测试项目的组合作为索引。这是因为大多数的查询都要直接或间接地将该两项作为SQL语句中WHERE子句后的首列。
3.结语
建立在SQL Server上的平台专用数据库要兼顾通用数据库的设计要求和区间测试平台的特殊性。只有综合考虑这两方面的因素,才能使专用数据库既高效又安全。当然,随着平台水平的不断提高,专用数据库的功能必将随之扩展,日趋完善。
参考文献:
[1]
吴芳美.铁路安全软件测试评估[M].北京:中国铁道出版社,2001,23
[2]荆剑.基于计算机联锁安全软件测试评估平台的CL IEN T/ SERV ER 数据库[学位论文][D].上海:上海铁道大学电信系,1999:23
【关键词】强电能源;计量综合系统;测试
电能的计量系统的测试在实际的使用中主要有两种形式,一个是交流电,另外一种是直流电。在现在的测试中,虽然在方法和途径上有了一定的发展。但是在实际的应用中,仍然有些问题存在,现状并不是很理想。下面就将强电能源计量综合系统测试中的一些问题进行分析。
一、交流电
交流电能的计量系统是对各个方面的电能的消耗进行统计的。交流电能的计量装置主要包括电能表,电压电流互感器,还有二次回路。其中电能表有两种形式,一种是电子式的,还有一种是机电式的,又有有功和无功之分。在其测量过程中,每一个环节都可能会产生一定的误差,最后综合的计算之后就是整个电能装置所产生的误差,其中的误差包括电能表误差、互感器误差以及由于其二次导线而引起的误差。
在一般的用能单位,电能的计量方式是以高压的电流、电压互感器将高压的三相电,转变成为小电流低压电,然后将这些电压以及电流在电能计量室中汇集,再连接到三相电表中电表的读数与电流互感器与电压互感器变比的乘积就是电能的计量结果。
通过对目前的实际计量中的观测,发现在其中存在着一些问题,很多的的计量设备并不能达到合格的要求。通常对实际的问题中的一些分析总结,主要有以下的原因:
1.所使用的设备与国家的规定不符
在实际的计量中,所选用的有关的设备并不能与国家的有关规定相符合,导致在计量中所出现的误差较大,精确度较低,主要的表现有:
第一,计量器的使用时间太长,没有及时的进行更换,有的甚至已经有十几年的使用时间,很多的构件已经严重的老化,在计量的过程中,会产生很大的误差,严重的影响了计量结果的精确度。另外,由于现代科技的不断发展,很多新型的计量装置不断的出现,原来的很多落后的装置已经不能适应现在计量的需要,所以,要保证计量的设备可以跟得上社会发展的脚步,不断的更新。
第二,在电能计量中,没有使用专业的计量设备,而是以其他的来代替,在一些用于电力监测的仪器中,也有电能计量的功能,因此被用来进行电能的计量。这些设备虽然在一定的程度上可以测得电能值,但是精度却很难保证,会有很大的误差。因此,在电能的计量中,不能仅仅是考虑到经济的问题,而选择非专业的设备,用于计量的设备一定要是专门用于电能的计量的,只有这样,才能尽量提高计量的精确性,使计量的误差尽量的减小。
第三,在计量的时候,没有合理的选择电能表的型号,导致型号与要计量的对象不匹配,比如说将三相三线电能表接在了三相四线的电能表中,这样会造成负荷的不平衡,严重的影响测量的精度,会有很大的误差出现。所以说,在选择电表的时候,一定要注意电表的型号,选择合适的型号是进行精确测量的最根本的前提,只有型号是正确的,才能保证测量的正确性提高。
第四,互感器所标注的变比和在实际的使用中的倍率不同,这样在进行电能的计算的时候,就会出现误差。比如对在某一个铝冶炼厂的能源计量中,在最后的计算中,发现有关设备的整流效率居然比100%还要大。对其电能的计量装置检查中发现,该厂的进线是110kV的,按照理论上的计算值来说,它的倍率是1100,但是在实际的检测中发现,它的倍率是1150,这样就会在最后的乘积中产生较大的误差。因此,一定要保证实际测量中的倍率与互感器的理论倍率相同,减小因倍率不同带来的误差。
2.二次回路的错误接线
在实际的电能计量装置中,有很多的接线方式是错误的。在进行接线时候,应该通过专业的人士来进行指导,在根据现场的实际情况来进行接线,并且对于回路的连接方式要重点的来进行检查。比如说在一化工厂的检测中,他们所用的电能的计量仪器是多功能的仪表,接线的方式由两种,即三相四线和三相三线两种方式,在检测中发现他们用的是三相三线的方式,在接线的时候,将电压新号有接入,但是没有接电能表的另外一端没有接,这样就会有一定的误差出现,会造成电压的计量值会少33%。
二、直流电
直流电在电化学以及电冶金行业使用的比较多,所以在其生产管理上直流电的电能计量有着十分重要的作用,特别是在电解稳流系统中使用的直流量计。如果在实际的使用过程中,直流计量不准确,有误差出现,那么就有可能会导致电解槽烧漏,这样企业制造的工艺条件就会发生改变,这样将会使企业的电能利用率降低,并且还会导致企业的经济效益降低,有十分严重的影响,严重影响到企业的管理生产。
直流计量的系统与交流计量的系统有很大的差异,直流电流的计量系统主要有测量变换器、电流总加器还有电流。电压的隔离变送器以及直流的电能表等。直流变换器的作用就是将大电流按照一定的比值按照一定的比值变换成小电流或者是电压。
在近几年的检测中,发现有些企业的直流电计量中也有些问题存在。比如说有的电解铝的厂家,在企业的总电流的显示值以及危机的显示值都是312.3kA,但是在现场所测得的实际的计量电流为305.77kA,这样,电表的显示与实际的值要相差6.6kA,将这些电流用在实际的生产中,可以使生产值增长很多。
结语:
电能的计量系统是在现在的电能测量中主要的使用设备,在企业的生产以及人们的日常生活中使用的十分普遍,对于电能的计量有着十分重要的作用。所以一定要尽量的保证其精确度,使其误差尽量的较小,对在计量中所出现的问题,无论是使用者还是检测单位都要特别注意,对计量装置出现的故障以及问题要及时的解决,保证其可以正常的使用,更好的为人们服务。
参考文献:
[1]张斌.让电能计量更合理[J].计量与测试技术,2010(08)
[2]蒋紫娟.减少二次负荷对电压互感器二次压降的影响[J].科技资讯,2012(17)
[3]曹虎.电能计量装置综合误差分析及降低措施[J].知识经济,2010(12)
关键词 综合布线系统 ;链路段 ;测试;衰减
中图分类号V2 文献标识码A 文章编号 1674-6708(2011)57-0060-02
1 系统总体说明
本综合布线系统工程位于深圳机场1号候机楼内,属于航站区的一个组成部分,总建筑面积7.4万m2。 系统所采用的SYSTIMAX SCS系统,用于单模和多模光纤布线系统的现场测试之用。SYSTIMAX SCS只需要对链路衰减进行测试,而其他的光纤布线系统参数,比如带宽等也同等重要,但通常情况下它们不受布线系统安装质量的影响,因此不需要进行现场测试。
2 无源链路段
在布线系统的每个无源链路段上都应进行衰减测试,链路段包括位于两个光纤端接单元(配线面板,信息插座等)之间的光缆,连接器,耦合器以及分支部件,在链路段内的每根端接过的光纤都应进行测试。3种基本类型的链路段:水平链路段,干线链路段和复合链路段。
2.1 测试原则
如果光纤的远端连接激光器或LED的话,未端接的连接器将有光辐射。在确认光纤绝对与激光器或LED光源断开以前,不要用肉眼看光纤的末端。
多模水平链路段应在一个方向使用850nm或1 300nm波长进行测试。
多模干线和复合链路段应在一个方向使用850nm和1 300nm波长进行测试。
2.2 注意事项
由于测试方向对测试方法的准确性和重复性影响不大,因此只需在一个方向上进行测试。
水平链路段的距离通常较短,因此对各波长的衰减差异微乎其微,因此,只采用单波长测试就足够了。干线和复合链路段的距离较长,在这些链路中距离对不同波长的衰减是有差异的,因此需要对所有的波长进行测试。
水平链路段长度限制为90m,因此合格的链路衰减可以根据最长链路距离下没有引入较大的误码条件来获得。
2.3 衰减测试合格值
可适用于全部链路段的通用衰减公式如下:合格链路衰减(dB)=光缆衰减(dB)+连接器衰减(dB)+分支器衰减(dB)。连接定义为使用匹配连接器(例如ST,SC,LC),将两段光纤连接在一起的接合点。
3 测试步骤
3.1 测试跳线性能
为了与TIA/EIA-526-14A标准和TIA/EIA-526-7标准相符合,测试跳线的长度应在1m~5m之间,并应与被测链路段具有相同的光纤结构比如核心直径和数值孔径。AVAYA需要所有的多模跳线性能都应满足TIA-455 50B(FOTB 50B)中定义的要求。
在多模测试中,使用满足FOTB 50B 所定义要求的光源或带有特定轴心封装测试跳线的1类 CPR光源。如果光功率计使用相对功率测量模式,功率计的读数表示连接衰减;如果光功率计没有相对功率测量模式,计算连接衰减。
3.2 链路段测试
AVAYA要求多模现场测试要在TIA-455 50B (FOTB 50B)定义的条件下进行。对测试环境进行定义可以减少测量误差和测量的不确定性,这种特定的测试环境将使现场测试与部件的指标得到更好的协调。使用带有特定包裹测试跳线的1类耦合功率系数(CPR)光源可以很容易的接近或达到现场测试条件的要求。为了在测量中包括所有的连接,应使用由TIA/EIA-526-14A and TIA/EIA-526-7中定义的单一参考跳线方法。
3.3 六类布线系统测试方案
由于TIA/EIA和ISO/IEC的六类铜缆布线标准尚在制定过程中,因此本章节的依据主要来自TIA/EIA颁布的六类草案、IBDN铜缆设计/安装规范和GigaSPEED铜缆性能。
3.4 测试链路的选择
TIA/EIA和ISO/IEC关于铜缆水平系统的链路定义有以下3种:
链路定义不同,组成链路的元件不同,其端到端的性能规范也有差异,因此在测试前,需要首先确定采用何种测试链路模型。目前,绝大多数测试设备只能以"Basic Link"方式进行测试,而更为严格的"Channel"或"Permanent Link,需要测试设备的更新支持;同时,在使用测试仪器测试前,应比对测试仪所用内置测试标准是否与实际待测链路一致。不论采用何种测试模型,只要符合相关的指标要求,都可认为满足六类标准。
4 AVAYA GigaSPEED链路组成
4.1 测试设备的选择
由于六类系统对铜缆的性能要求超出传统五类系统一倍以上,更严格的测试指标要求更严格的测试仪器。在普通五类系统测试时,测试仪表的精度为二级;而在六类系统测试时,测试仪表的精度上升为三级。
4.2 测试内容
相比五类布线系统,六类布线系统现场测试标准中将增加许多新的参数:Insertion Loss(代替原来的Attenuation),PSNEXT,Pr-Pr ELFEXT,PSELFEXT,Retum Loss,Prop.Delay,DelaySkew,具体参数的内容可参见相关标准。在具体进行现场测试时,可选择信道(Channel)或链路(P-Link/B-Link)方式。
4.3 测试注意事项
1)测试跳线(用于P-Link/B-Link测试)。不同厂商的六类系统之间互不兼容,IBDN GigaSPEED系统应使用GigaSPEED专用跳线连接;
2)测试校准。为保证六类测试准确,六类现场测试仪应定期校准NVP值,详情请参考设备说明书;
3)结果判读。将严格遵循AVAYA Giga系统设计与安装规范及相关国际标准,这样才能确保最终的系统性能。当测试结果出现"Fail"时,应首先检查仪器设置是否准确,同时检查测试跳线的型号和连接是否准确,更重要的是,应检查链路连接部分,如模块的卡接、配线架的卡接、电缆路由等;当测试结果出现"*PASS"或"*FAIL"时,说明测试结果与测试仪器精度十分相近,仪器无法准确判别是否合格,一般情况下,根据标准规范,若只出现"*PASS",可以视同为合格,若出现"*FAIL",则认为不合格。
参考文献
1测试方法
在测试中,在服务器上部署2个或者以上的虚拟测试仪。通过物理测试口向虚拟网络单元打入测试流量来评估虚拟网络单元的关键性能指标。在虚拟化平台上配置虚拟测试仪。虚拟测试仪和被测网络单元连接到一个虚拟交换机上,硬件测试仪表和服务器相连,使其能够和虚拟测试仪以及虚拟被测网络单元相连接。测试vSwitch虚机之间交换性能:配置2个虚拟测试端口,和被测虚拟交换机相连,配置标准RFC2544测试套件,测试64字节、128字节、256字节、512字节、1024字节、1280字节和1518字节的吞吐量。测试虚机和物理网络之间的转发性能:在服务器上部署两个虚拟测试端口,在测试仪表的物理端口上仿真200个MAC和IP地址,在物理测试端口和虚拟测试端口之间建立双向流量,测试64字节,128字节、256字节、512字节、1024字节、1280字节和1518字节的吞吐量。测试虚拟网元(虚拟路由器)的三层转发性能:把物理测试仪表和被测服务器相连,在服务器上部署虚拟路由器网元,部署网元实例的数量和现网配置一致。测试仪表仿真路由,根据虚拟路由器的规格,向虚拟路由器通告最大路由条目,运行RFC2544测试,测试64字节、128字节、256字节、512字节、1024字节、1280字节和1518字节的三层吞吐量。在高性能服务器上,不同帧长的吞吐量测试结果符合设计指标;多VM环境下,在达到服务器性能极限之前,单个VM的性能指标没有明显影响。
2虚拟交换机可用性测试
在虚拟组中新增一台虚拟交换机,交换机在加入虚拟组以后立刻学习已有的MAC地址转发表,任何目的地址已知的单向流量在进入交换机以后都会直接查表进行转发,而并不是像传统交换机那样还需要自行进行学习MAC地址,从而验证其可用性。检测任何涉及到的MAC地址是否有丢包,丢包数在学习流发送完毕之后的测试整个过程中都必须为0。使用了由三台实体交换机组成的虚拟环境。其中的一个虚拟组由两台实体交换机组成,共享了一个MAC地址转发表项。学习流从测试仪的任意一个连接第二个交换机的端口打出,然后再打一条连续流到第一个交换机的任意口上,该流量不必很大,可略少于接口速率的一半。该连续流在出第二个交换机的时候不应该丢包。
然后把第三台交换机添加进入这个网络,让交换机学习MAC地址转发表,然后再向第三台交换机打一条略少于接口速率一半的连续流,目的打向第二台交换机的出端口,这个流量也不应该丢包。在两台交换机中创建一个虚拟交换机。连接好3台交换机,但仅打开其中的两台;在测试目的端口上配置1000个虚拟设备,其MAC地址采用RFC4814随机MAC产生;在所有测试源端口,每个端口也配置1000个虚拟设备,以线性速率发送学习流到被测交换机,每个需要学习的MAC地址均发送了10遍。检查在目的端口的接收速率是否等于发送的速率,并检查丢包是否为0。如果丢包为0,这个时候打开第三台交换机,并等待(等待时间是交换机加点到启动完成的时间),使第三台交换机同步MAC地址转发表。从新交换机(第三台交换机)的开始发送连续流,检查目标端口的接收速率是否为发送的速率,同时没有任何丢包。
作者:马志平 单位:广东省计算中心
关键词 UML;系统测试方法
中图分类号TP31 文献标识码A 文章编号 1674-6708(2011)48-0212-02
0 引言
系统测试在西门子是一种有明确定义的程序,用以保证功能按要求实现。然而,许多软件中,它还是一个手动的过程。测试设计者典型地导出他们的测试数据,也就是基于许多原始资料的必需的系统输入和预期的输出信息,包括文本使用规范和商业程序标准。然后创建了由一系列单独步骤组成的测试程序,在测试过程中需要测试者依据系统手动操作执行。自动化测试执行环境在任何时候都是很有用的,因此测试者们应该将这些句文测试程序转化为执行测试程序。 我们的测试方法目的是使测试设计、生成和执行尽可能的自动化和程序化,以便编制一个更加系统、有效的系统测试程序。我们的方法包括以下几个方面:
1)模拟系统行为
通过模拟撤销或半自动转化现存文本使用规范为适当的UML模块,我们相信可以改进测试设计阶段的效力。通过可视化捕捉系统和其用户之间的互动流程,可以抽象、演变、传达一种更好、更完整的测试设计。它可以使设计者识别并简单证明一种比原来编写复杂的、使用文本的程序描述更多样化的测试设想。
2)产生测试程序
使用以上外在可视的系统行为模块,能够更容易地手动或自动创建出一系列的测试程序,使得测试推导更为系统有效。我们的测试方法的另一优点是引入了有关系统功能的测试充分性或测试覆盖的概念。测试者现在还可以更好的量化他们的测试效果。
3)执行测试程序
程序自身的自动测试执行有助于减轻错误倾向和繁重的回归测试工作,然而在我们的测试手段中,测试步骤可能潜在的导致创建大量执行测试文件。本测试方法最主要的优点是它可以鼓励测试执行者在初始用户界面测试捕捉设计和创建测试文件或测试片段模块程序,这些程序可以促进再次使用原始文件和简化文件维护。一旦被捕捉和参数化,这些片段模块就会在测试生成过程中组合成完整的测试文件。
1 UML中的模型系统行为
在这一部分中,我们通过模拟系统的动态行为描述了UML应用案例和行为图表的应用。为了更好的传达本方法的观念,我们利用图例进行了说明。
1.1 使用案例规范
当使用案例图表可以有效地表示各种独立案例之间的相互作用时,使用案例规范和行为图表使测试设计者能够分别使用文本和可视化捕捉系统和用户之间的控制交流。
使用案例规范以表格的形式得以详细描述,并且提供用户刺激和系统测试步骤中的响应的描述文本。这些在成功设想和其他过程中都有描述,本文还提到了相关使用案例的命名问题,详细地使用案例应该贯穿测试的全过程。
当文本使用案例文件创建特别是使用文件模版时直接运行,当涉及到复杂案例和测试设想时这些文件很快就变得难以控制,这些复杂案例和设想包括多元的和嵌套的选择流程。随着复杂性的提高,测试设计者可能会在从这些文件中提取他的测试程序过程中忽略重要的测试设想。一种更简明的抽象、演变和传达的测试设想通过行为图表得以描述,因而,我们提供UML编辑工具帮助用户快速将现存文档转化为UML行为图表。
1.2 行为图表
行为图表是可以通过划分“泳道”,很好的反应用户输入和系统响应。第一对泳道显示了典型的测试设想、交互作用流程或适当的路径,其余的泳道表示了其他供选的通道。
下面描述的测试要求代表了大量的在整个过程中产生的和功能存储界面获得的首先影响测试生成过程的图表注释,还有许多可选择的和有代表性的没有出现在图表的我们也一一标出。
2 相关研究
使用UML自动生成测试案例的研究在近几年已经广泛地开展,许多文献讨论了与面向个人和辅助系统成员的自动测试程序的生成和执行相关的程序,这些程序更适用于单位和整体测试。
我们的方法中列出了更多的讨论UML应用于系统测试的文献和集中研究基于图形用户界面(GUI)测试程序生成的文献,包括西门子公司研究的早期的缺少目的性的非正式的操作指南等。
例如Beer等描述了面向GUI测试的整体设计和自动测试案例生成环境(IDATG),IDATG支持案例生成是基于:1)模型描述特定的用户任务;2)模型捕捉用户界面行为。这一工具也支持基于商业捕捉-释放工具的测试案例执行。Menon也发展了相似的环境,包括测试生成、存储、执行、Oracle创新和回归分析特征。
后两种方法和我们的方法最大的区别在于,在我们的案例的目标是通过GUI使系统功能和商业标准更为有效,而不是尽可能多的测试和存储用户界面功能。因此,为了测试案例生成,我们不仅需要开发行为模型,而且需要应用强大的数据模型技术(通过使用TDE完成)。更进一步的区别是我们在测试生成中使用UML行为模型,而其他两种方法则使用自己定义的模型符号。
3 结论
我们的方法得益于使用COTS工具,如Rational Rose、测试模型和成熟的内部工具,如TDE。他们共同为我们在预期的本技术的应用效果实验研究持续进行打下了坚实的基础。
本研究还确定了未来研究的主题:首先,我们要改进测试案例生成步骤地性能和文件执行的可靠性;第二,更加精确的数据存储的测定技术的应用也很重要,特别是当我们想要改进测试数据创建和数据在测试文件执行中的应用过程时;第三,适用特定的测试设想来检验系统的商业规范性,这些规则详细指定了对系统的限制,他们可以通过详细的使用概要更有效的检验其规范性。最后,我们为更进一步的编写和简化行为图表、获得更简明的系统测试模型建立更好的执行机制。
参考文献
【关键词】 糖尿病;伯乐D-10TM分析系统;糖化血红蛋白
DOI:10.14163/ki.11-5547/r.2017.05.036
随着生活水平提高、生活方式改变, 糖尿病发病率呈逐年上升趋势, 为临床中常见慢性疾病之一。糖尿病属代谢紊乱性疾病, 以血糖水平升高为主要临床表现[1]。研究指出, 血糖水平紊乱可引起机体各个系统受损, 其中最常累及全身血管、神经系统, 引起相关并发症发生, 严重影响糖尿病患者生活质量和生命健康, 为导致糖尿病患者死亡主要原因[2, 3]。糖化血红蛋白为临床中常用反映糖尿病患者近3个月内血糖水平控制情况[4], 研究指出, 红细胞在体内寿命约120 d, 葡萄糖与血红蛋白在体内形成特殊红细蛋白, 因此检测糖化血红蛋白水平可反映患者过去3个月内平均血糖水平[5]。临床中检测糖化血红蛋白水平方法较多, 本研究采用高效相色谱法检测糖化血红蛋白水平, 研究如下。
1 资料与方法
1. 1 一般资料 选取2014年4月~2016年3月潮州市中心医院门诊和住院检测糖化血红蛋白患者的全血1000份为研究对象, 所有标本均为本院采集, 标本均有效, 符合检测质量。其中男性标本544份, 女性标本456份;住院采集570份,
门诊采集430份;采集到检验时间10 min~2 h, 平均时间(40.5±26.6)min。
1. 2 方法 于清晨抽取患者静脉空腹血2 ml置入EDTA管中, 送检验科进行检测。将标本分为2份, 第一份采用伯乐D-10TM 糖化血红蛋白分析系统直接上机检测, 将检测结果记录为规格内。对第二份标本用WASH液进行稀释后上机检测, 将检测结果作为扩展人份。对规格内分析柱和扩展人份分析柱分别用离子交换高效液相色谱法测定。按照检测糖化血红蛋白水平将标本分为A组(糖化血红蛋白8.0%), 用统计学软件对三组规格内、扩展人份水平进行比较。
1. 3 统计学方法 采用SPSS19.0统计学软件进行统计分析。计量资料以均数±标准差( x-±s)表示, 采用t检验。P
2 结果
经检验后按照糖化血红蛋白分组, 得出A组有300例, B组有420例, C组有280例。各组规格内和扩展人份糖化血红蛋白水平比较, 差异均无统计学意义(t=1.5418、1.8517、0.8514, P>0.05)。见表1。
3 讨论
糖化血红蛋白为临床中反映机体近3个月内平均血糖水平, 为协助诊断糖尿病、判定糖尿病患者长期血糖控制水平关键指标, 具有重要临床检测价值[6, 7]。临床中准确、快速、经济、简便检测出糖化血红蛋白水平为提高检测效率和检测质量关键, 目前常用检测方法包括比色法、电泳法、等电聚柱法、手工微柱法、高效液相层析法、离子交换层析法、免疫化学法、离子交换高效液相色谱法等[8, 9]。随着临床研究和实践, 离子交换高效液相色谱法具有较高稳定性和准确度, 为目前临床中公认检测糖化血红蛋白金标准[10]。
伯乐D-10TM糖化血红蛋白分析仪器为美国伯乐公司生产检测糖化血红蛋白仪器系统, 其公司试剂包含种类较多, 包括活化剂、分析柱、缓冲液、标准品、清洗液等, 其说明书规定每包试剂检测份数为400份, 由于临床中400份检测时间较长, 在不同组上检测试剂消耗程度不同, 往往在达到400份检测数量后还有部分试剂残留, 造成严重浪费[11-13]。本次研究将残留试剂中分析柱进行再活化、校准, 与标准试剂分别对1000份糖化血红蛋白水平进行检测, 得出使用规格内和扩展人份两组检测水平比较, 差异均无统计学意义(t=1.5418、1.8517、0.8514, P>0.05)。表明残留试剂经活化、校准后在临床中再次使用对检测结果无明显影响。本次研究在实验过程中发现, 在日常应用中, 以无菌水、顶格检测替代清洗液, 可对残留试剂进行消耗, 在保障实验结果准确前提下可有效降低耗材浪费, 降低实验成本[14-17]。
综上所述, 伯乐D-10TM糖化血红蛋白分析系统检测糖化血红蛋白水平, 试剂检测人份分析柱扩展前后对糖化血红蛋白水平检测无明@影响, 临床中在保障检测结果准确前提下, 可应用扩张方式对试剂进行充分利用。
参考文献
[1] Liotta L, Di FA, Pazzagli M, et al. Glycated hemoglobin (HbA1c) measurement in frozen whole blood depends on baseline values of fresh samples. Analytical and Bioanalytical Chemistry, 2013, 405(1):429-434.
[2] Suzuki S, Koga M, Niizeki N, et al. Evaluation of glycated hemoglobin and fetal hemoglobin-adjusted HbA1c measurements in infants. Pediatric Diabetes, 2013, 14(4):267-272.
[3] Hempe JM, Mcgehee AM, Chalew SA. Two-dimensional analysis of glycated hemoglobin heterogeneity in pediatric type 1 diabetes patients. Analytical Biochemistry, 2013, 442(2):205-212.
[4] 璐, 孙伯欣.糖化血红蛋白与血脂检测在2型糖尿病检测中的临床评价.中国老年学杂志, 2013, 33(19):4856-4857.
[5] Chakraborty S, Ghosh SS, Das A, et al. Can EDTA, EDTA-fluoride, and buffered citrate tubes be used for measurement of HbA1c on the Bio-Rad D10?Clinical Chemistry & Laboratory Medicine Cclm, 2015, 53(1):e5-e8.
[6] Chakraborty S, Gupta D. A patient with undetectable hemoglobin A(1c). Clin Chem, 2013 , 59(5):856-857.
[7] Chakraborty S, Chanda D, Gain M, et al. Interference of the Hope Hemoglobin With Hemoglobin A1c Results. Laboratory Medicine, 2015, 46(3):221-225.
[8] 徐安平, 纪玲, 陈卫东, 等.毛细管电泳法糖化血红蛋白检测系统在缺铁性贫血患者中的应用.检验医学, 2016, 31(4):299-303.
[9] Chopra A, Tuteja S, Sachdeva N, et al. CdTe nanobioprobe based optoelectrochemical immunodetection of diabetic marker HbA1c. Biosensors & Bioelectronics, 2013, 44(1):132.
[10] Hsieh WP, Chieh JJ, Yang CC, et al. Stability study for magnetic reagent assaying Hb and HbA1c. Journal of Magnetism & Magnetic Materials, 2013, 326(1):147-150.
[11] Hsieh KM, Lan KC, Hu WL, et al. Glycated hemoglobin (HbA 1c)
affinity biosensors with ring-shaped interdigital electrodes on impedance measurement. Biosensors & Bioelectronics, 2013, 49(10):450-456.
[12] 许爱萍, 张羽, 曹季军. 不同处理方式在伯乐D-10TM糖化分析仪上检测HbA1c结果的影响. 检验医学与临床, 2013, 10(10): 1317-1318.
[13] 杨兴萍. 美国伯乐D-10糖化血红蛋白分析仪的性能评价. 检验医学与临床, 2011, 8(21):2683-2684.
[14] 张茜. D-10糖化血红蛋白分析仪的检测性能. 实用医技杂志, 2013, 20(11):1231-1232.
[15] 韩红梅, 侯明良. Bio-Rad D-10糖化血红蛋白分析仪临床应用常见问题分析. 糖尿病新世界, 2015(24):127-129.
作为软件的重要环节,软件测试越来越受到人们的重视。随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难。然而,为了尽可能多地找出中的错误,生产出高的软件产品,加强对测试工作的组织和管理就显得尤为重要。
从软件的生存周期看,测试往往指对程序的测试,这样做的优点是被测对象明确,测试的可作相对较强。但是,由于测试的依据是规格说明书、文档和使用说明书,如果设计有错误,测试的质量就难以保证。即使测试后发现是设计的错误,这时,修改的代价是相当昂贵的。因此,较理想的做法应该是对软件的开发过程,按软件工程各阶段形成的结果,分别进行严格的审查。软件的生命周期可用图1的表示。
为了确保软件的质量,对图1的过程应进行严格的管理。虽然测试是在实现且证后进行的,实际上,测试的准备工作在分析和设计阶段就开始了。
软件测试计划作为软件项目计划的子计划,在项目启动初期是必须规划的。在越来越多公司的软件开发中,软件质量日益受到重视,测试过程也从一个相对独立的步骤越来越紧密嵌套在软件整个生命周期中,这样,如何规划整个项目周期的测试工作;如何将测试工作上升到测试管理的高度都依赖于测试计划的制定。测试计划因此也成为测试工作的赖于展开的基础。
一个好的测试计划可以起到如下作用
1. 避免测试的“事件驱动”
2. 使测试工作和整个开发工作融合起来
3. 资源和变更事先作为一个可控制的风险项目经理圈子
测试计划的模板在各个公司中都大同小异,在个人实践中发现,测试计划制定中存在的问题具有相似,下面重点就这些相似的问题谈谈如何制定软件项目测试计划。
问题一:测试阶段划分
就通常软件项目而言,基本上采用“瀑布型开发方式,这种开发方式下,各个项目主要活动比较清晰。整个项目生命周期为需设计编测试实施维护。然而,在制定测试计划时候,有些测试经理对测试的阶段划分还不是十分明晰,经常*遇到的问题是把测试单纯理解成系统测试,或者把把各类型测试设计(测试用例的编写和测试数据准备)全部放入生命周期的“测试阶段”,这样造成的问题是浪费了开发阶段可以并行的项目日程,另一方面造成测试不足。
相应阶段可以同步进行相应的测试计划编制,而测试设计也可以结合在开发过程中实现并行,测试的实施即执行测试的活动即可连贯在开发之后。值得注意的是:单元测试和集成测试往往由开发人员承担,因此这部分的阶段划分可能会安排在开发计划而不是测试计划中。
问题二:系统测试阶段日程安排
划分阶段清楚了,随之而来的问题是测试执行需要多长的时间?标准的工程方法或CMM方式是对工作量进行估算,然后得出具体的估算值。但是这种方法过于复杂,可以另辟专题讨论。一个可作的简单方法是:根据测试执行上一阶段的活动时间进行换算,换算方法是与上一阶段活动时间1:1.1~1.5左右。举个例子,对测试经理来说,因为开发计划可能包含了单元测试和集成测试,系统测试的时间大概是编*阶段(包含单元测试和集成测试)1到1.5倍。这种方法的优点是简单,依赖于项目计划的日程安排,缺点是水分太多,难于量化。那么,可以采用的另一个简单方法是经验评估。评估方法如下:项目管理者联盟文章
1. 计算需求文档的页数,得出系统测试用例的页数
需求页数:系统测试用例页数≈ 1:1
2. 由系统测试用例页数计算编写系统测试用例时间转自项目管理者联盟
编写系统测试用例时间≈系统测试用例页数×1小时
3. 计算执行系统测试用例时间
编写系统用例用时:执行系统测试用时≈ 1:
4. 计算回归测试包含的时间项目经理博客
系统测试用时:回归测试用时≈ 2:1
注:以上比值是个人工程经验值,需要更正比值的测试经理可以在具体实践中收集数据
基于以上方法优点是需求为已知的,可以利用已知来推算未知,适用于需求是已知且相对稳定的情况下;缺点是处于研发状态的项目,需求不清晰的时候比较难计算。现套用一个例子加于说明:需求文档页数为500,系统测试用例页数推算为500,则编写系统测试用例时间为500小时,执行系统测试用例时间为1000小时,回归测试需要500小时,加起来总共为2000小时,按一天8小时计算,共计250个工作日/人;假如一个月为22个工作日,则共计约11人/月,即投入4个人需要3个月左右时间工作量完成。当然,这是系统测试需要的全部时间。根据测试阶段划分原则,设计用例时间可以和开发同步进行,只需在测试阶段中安排的时间为1500小时即4人2个月工作量。
项目管理培训
(测试经理在编写测试计划时候,测试进度中的计划开始/结束时间往往用如20050101-20051201的具体时间划分方式,这样引起的问题是当项目计划进行变更的时候,测试计划时间不得不随时调整,这种变更可能是频繁而琐碎的,可以替代的办法是取消这种方式,采用30工作日/2人或者2人月这种工作量记录方式,这样一来,只需在项目计划中跟踪阶段的具体开始时间即可,不必反复修改测试计划。)
项目管理培训
值得注意的是:国内大多数公司的测试时间都是不足的,不可能按照这样的理想比例进行运作,因为测试执行的时间实际上不可能占据整个项目周期的1/2,甚至要短于其中任何一个项目阶段时间。即使是微软的测试结束原则也并不是完成所有必需的测试,而是测试在按计划结束的那一天结束!在测试时间不足的情况下,可参考下面项目计划变更时的做法,因为计划变更也涉及到测试时间不足的情况。
参考文献:
[1]徐新海;林宇斐;易伟;;CPU-GPGPU异构体系结构相关技术综述[J];计算机工程与科学;2009年S1期
关键词:面向对象;软件测试;面向对象测试模型;测试过程
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2425-03
Research of Object-Oriented Test Techniques
ZHOU Juan
(Handan Foundry, Handan 056003, China)
Abstract: The paper describes how to test object-oriented analysis, object-oriented design,object-oriented programming, and the process of object-oriented testing, while taking the object-oriented software development model in software engineering as reference. According to the steps of unit testing, integrate testing. system testing, the testing strategies of object-oriented unit test , object-oriented integrate test , object-oriented system test were discussed in detail , and some interrelated problems are discussed.
Key words: object-oriented; software testing; object-oriented testing model; testing process
1 引言
从1982年在美国北卡罗来纳大学召开首次软件测试的正式技术会议至今,软件测试理论迅速发展,并相应出现了各种软件测试方法,使软件测试技术得到极大的提高,软件测试成为软件工程方法中保证软件质量的最重要手段。
传统软件测试技术是面向过程的测试,是从输入/处理/输出的角度检验一个函数或过程能否正确工作,而面向对象软件测试是针对相互协作而又彼此独立的对象的测试。面向对象软件开发的测试目标与传统的软件开发方法相同,都是为了确保软件能正确地和一致地解决待解决的问题,但由于过程性测试方法没有考虑到面向对象软件测试所要涉及的类、继承和多态性,因此这两者是有很大的不同,因而有必要对其进行深入的研究。
2 面向对象测试模型
面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA),面向对象设计(OOD)和面向对象编程(OOP)三个阶段。分析阶段产生整个问题空间的抽象描述,在此基础上,进一步归纳出适用于面向对象编程语言的类和类结构,最后形成代码。
针对这种开发模型,结合传统的软件测试步骤的划分,文献[1]提出一种整个软件开发过程中不断进行测试的面向对象软件测试模型,使开发阶段的测试与编码完成后的单元测试、集成测试、系统测试成为一个整体。该测试模型给出了面向对象测试OOT 与OOA、OOD 和OOP 三者的对应关系,如图1 所示。
OOA Test 和OOD Test 是对分析结果和设计结果的测试,主要是对分析设计产生的文本进行测试,是软件开发前期的关键性测试。OOP Test主要针对编程风格和程序代码实现进行测试,其主要测试内容在面向对象单元测试和面向对象集成测试中体现。面向对象单元测试是进行面向对象集成测试的基础。面向对象集成测试主要对系统内部的相互服务进行测试,如成员函数间的相互作用,类间的消息传递等。面向对象集成测试不但要基于面向对象单元测试,更要参见OOD 或OOD Test 结果[2]。面向对象系统测试是基于面向对象集成测试的最后阶段的测试,主要以用户需求为测试标准,需要借鉴OOA 或OOA Test 结果。
2.1 面向对象分析的测试(OOA Test)
传统的面向过程分析是一个功能分解的过程,是把一个系统看成可以分解的功能的集合。这种传统的功能分解分析法的着眼点在于一个系统需要什么样的信息处理方法和过程,以过程的抽象来对待系统的需要。而面向对象分析(OOA)是把E-R 图和语义网络模型,即信息造型中的概念,与面向对象程序设计语言中的重要概念结合在一起而形成的分析方法,最后通常是得到问题空间的图表的形式描述[3,4]。
OOA 阶段将问题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂实例和复杂关系,用属性和服务表示实例的特性和行为。OOA 的结果是为后面阶段类的选定和实现,类层次结构的组织和实现提供平台。因此,OOA 对问题空间分析抽象的不完整,最终会影响软件的功能实现,导致软件开发后期大量不可避免的修补工作;而一些冗余的对象或结构会影响类的选定、程序的整体结构或增加程序员不必要的工作量。因此,对OOA 的测试重点应该放在完整性和冗余性方面。 OOA阶段的测试划分为以下五个方面:1) 对认定的对象的测试;2) 对认定的结构的测试;3) 对认定的主题的测试;4) 对定义的属性和实例关联的测试;5) 对定义的服务和消息关联的测试。
2.2 面向对象设计的测试(OOD Test)
通常结构化的设计方法是用面向作业的设计方法,它把系统分解以后,提出一组作业,这些作业是以过程实现系统的基础构造,把问题域的分析转化为求解域的设计,分析的结果是设计阶段的输入。
而面向对象设计(OOD)采用“造型的观点”,以OOA为基础归纳出类,并建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象。OOD 确定类和类结构不仅能满足当前需求分析的要求,更重要的是通过重新组合或加以适当的补充,能方便实现功能的重用和扩充,以不断适应用户的要求。因此,对OOD 的测试,建议针对功能的实现和重用以及对OOA 结果的拓展,从如下三方面考虑[5]:
1) 对认定的类的测试;
2) 对构造的类层次结构的测试;
3) 对类库的支持的测试。
2.3面向对象编程的测试(OOP Test)
由于面向对象程序具有继承、封装和多态等新特征,使得传统的结构化程序测试策略不能完全适应面向对象程序的测试需要。主要表现在三个方面,即面向对象的封装不能实现传统测试方法中对数据非法操作的测试;面向对象的继承,使错误的传播概率提高,增加了测试的复杂度;面向对象的多态特征使程序内“同一”函数的行为复杂化,增加测试的工作量。
面向对象程序将功能实现分布在类中,类间通过消息传递来协同实现系统的功能。面向对象的这种程序风格将出现的错误精确地确定在一个具体的类中,因此,面向对象编程的测试OOP Test忽略类功能的实现细则,将测试集中在类功能的实现和相应的面向对象程序风格,主要体现为两方面(假设使用C++语言):
1) 数据成员是否满足数据封装的要求;
2) 类是否实现了要求的功能。
3 面向对象的软件测试内容及层次
面向对象软件测试即在测试过程中继续运用面向对象技术,进行以对象概念为中心的软件测试。Binder 在研究了面向对象的特征,如封装性、继承性、多态和动态绑定性等,认为这些特征的引入增加了测试的复杂性。对软件测试层次一种较为普遍的划分方法是根据测试层次结构,面向对象软件测试总体上呈现从单元级、集成级、到系统级的分层测试,测试集成的过程是基于可靠部件组装系统的过程。测试可用不同的方法执行,通常的方法是按设计和实现的反向次序测试,首先验证不同层,然后使用事件集成不同的程序单元,最终验证系统级。根据测试层次结构确定相应的测试活动,并生成相应的层次[6]。由于面向对象软件从宏观上来看是各个类之间的相互作用,因此,将对类层的测试作为单元测试,而对于由类集成的模块测试作为集成测试,系统测试与传统测试层相同。测试流程如图2所示。
3.1 面向对象的单元测试(OO Unit Test)
传统的单元测试是针对程序的函数、过程或完成某一定功能的程序块,面向对象单元测试OO Unit Test 在OOP Test 时进行,是对程序内部具体单一的功能模块的测试。一些传统的测试方法在面向对象的单元测试中都可以使用,如等价类划分法,因果图法,边值分析法,逻辑覆盖法,路径分析法,程序插装法等等。
当考虑面向对象的软件时,模块单元的概念改变了,封装规定了类和对象的定义。这意味在面向对象单元测试中,最小的可测试单元是封装的类或对象,而不是模块。
类包含一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在。同时,一个对象有它自己的状态和依赖于状态的行为,对象操作既与对象的状态有关,也可能改变对象的状态。所以,类操作时不仅要将操作作为类的一部分,同时要把对象与其状态结合起来,进行对象状态行为的测试。类测试可以分为以下三个部分:[7]
1) 基于服务的测试:测试类中的每一个服务(即方法);
2) 基于状态的测试:考察类的实例在其生命期各个状态下的情况;
3) 基于响应状态的测试:从类和对象的责任出发,以外界向对象发送特定的消息序列来测试对象。
基于服务的类测试主要考察封装在类中的一个方法对数据进行的操作。Kung等人提出的块分支图(Block Branch Diagram,简称BBD)是一种比较好的服务测试模型(如图3所示)。
服务f 的BBD是一个五元组,BBD = { Du, Dd, P, Fe,G} ;Du = { di | di ∈f 引用的全局数据或类数据} ;Dd ={ di | di ∈ f 修改的全局数据或类数据};
P = { X1θ1 ,X2θ2 , …, Xnθn , Xn+1θn+1 ∈ f 的参数表和函数
返回值,θi为(输入) 、(输出) ,或(输入/ 输出) ;若Xn+1 缺省,
则无返回值}; Fe = { f i | f i ∈被f 调用的其他服务};
G是一个有向图,叫做块体。它是按照控制流图的思想修改f的程序流程图而来的,表示f的控制结构中的符合条件判断被分解,每个判断框只有单个条件。
3.2 面向对象的集成测试
传统的集成测试是由底向上通过集成完成的功能模块进行测试,一般可以在部分程序编译完成的情况下进行。而对于面向对象程序,相互调用的功能是散布在程序不同的类中,类通过消息相互作用申请和提供服务,类相互依赖极其紧密,根本无法在编译时对类进行测试,所以,面向对象的集成测试通常需要在整个程序编译完成后进行。
在面向对象系统中,集成测试属于应用生命周期的一个阶段,可在两个层次上进行。第一层对一个新类进行测试,以及测试在定义中所涉及的那些类的集成。设计者通常用关系is a,is part和refers to来描述类与类之间的依赖,并隐含了类测试的顺序。首先测试基础类,然后使用这些类的类接着测试,再按层次继续测试,每一层次都使用了以前已定义和测试过的类作为部件块。
对于面向对象领域中集成测试的特别要求是:应当不需要特别地编写代码就可把在当前的软件开发中使用的元素集合起来,因此其测试重点是各模块之间的协调性,尤其是那些从没有在一起的类之间的协调性。
集成测试的第二层是将各部分集合在一起组成整个系统进行测试。以C++语言编写的应用系统为例,通常应在其主程序中创建一些高层类和全局类的实例,通过这些实例的相互通讯从而实现系统的功能。对于这种测试所选择的测试用例应当瞄准待开发软件的目标而设计,并且应当给出预期的结果,以确定软件的开发是否与目标相吻合。
3.3 面向对象的系统测试
系统测试是对所有类和主程序构成的整个系统进行整体测试,以验证软件系统的正确性和性能指标等是否满足需求规格说明书和任务书所指定的要求。它与传统的系统测试一样,包括功能测试、性能测试、余量测试等,可套用传统的系统测试方法。通过单元测试和集成测试,仅能保证软件开发的功能得以实现,不能确认在实际运行时,它是否满足用户的需要,是否大量存在实际使用条件下会被诱发产生错误的隐患。为此,对完成开发的软件必须经过规范的系统测试,即开发完成的软件仅仅是实际投入使用系统的一个组成部分,需要测试它与系统其他部分配套运行的表现,以保证在系统各部分协调工作的环境下也能正常工作[8]。
在系统测试中,不关心类的联系细节。同于传统的系统测试,面向对象软件的系统测试集中在用户可见的活动与用户可识别的来自系统的输出。为了导出测试案例,测试者应该使用分析模型中的使用案例,使用案例能够用于导出测试案例以发现不能满足用户交互需求的错误。系统测试应该尽量搭建与用户实际使用环境相同的测试平台,应该保证被测系统的完整性,对临时没有的系统设备部件也应有相应的模拟手段。系统测试不仅是检测软件的整体行为表现,也是对软件开发设计的再确认。
4 结束语
面向对象测试的目标与传统测试相同,但面向对象方法与传统顺序结构式方法在开发思想上有着根本的不同,尤其是面向对象所具有的类、封装、继承、动态连接等特性,使得面向对象软件测试在测试模型、测试方法、测试层次等方面都有别于传统的测试思想。从面向对象的测试模型可知,测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块) 转向了对象类。
目前,面向对象软件系统的开发在不断的实践中已逐步形成了自己的方法学,但对于面向对象软件测试,目前尚无普遍接受的充分性准则。本文根据传统软件测试模型将面向对象软件开发过程和软件测试相结合,形成一种面向对象测试模型,并对模型的相关步骤和具体实施提出了一些方法和技术,虽已在实践中得到了一定的验证,但也只是初步的,有必要在今后的研究中得到进一步的完善。
参考文献:
[1] Beizer B.Black-Box Testing Techniques for Functional Testing of Software and Systems[M].John Wiley & sons,1995.
[2] Coad P,Yourdon E.Object-Oriented Analysis[M].Yourdon Press,1999
[3] 汤庸.软件工程方法学及应用[M].武汉:中国三峡出版社,1998
[4] 郑人杰.计算机软件测试技术[M].北京:清华大学出版社,2000
[5] 陈文宇.面向对象软件的测试[J].电子科技大学学报,2001,6(30):613-617.
[6] 徐虹.面向对象的软件测试模型及策略研究[J].计算机与现代化,2005(3):15-18.
三年以上工作经验|男|29岁(1987年5月23日)
居住地:西安
电 话:165********(手机)
E-mail:
最近工作 [1年4个月]
公 司:XX有限公司
行 业:计算机软件
职 位:系统测试
最高学历
学 历:本科
专 业:计算机应用
学 校:华西大学
自我评价
对CMMI、ISO9000标准有深入研究与实践。了解6sigma,具有较强的分析问题、解决问题能力。具有较强的策划、组织能力,能独立承担相应职责。具备良好的沟通、协调能力。具有较高水平的数据整合与分析及报告撰写能力。熟练掌握办公软件。掌握TestDirector、QC、QTP等自动化测试工具使用。
求职意向
到岗时间:随时到岗
工作性质:全职
希望行业:计算机软件
目标地点:西安
期望月薪:面议/月
目标职能:系统测试
工作经验
2013/7 — 2014/11:XX有限公司[1年4个月]
所属行业:计算机软件
测试部系统测试
1.项目立项后与公司销售和开发人员和银行人员沟通需求。
2.根据实际的资源情况制定测试计划。
3.需求理解,根据需求编写测试用例,需求中的问题与银行客户沟通确认。
4.在windows或Linux上搭建测试环境,主要应用过的中间件:Tomcat、WebLogic和WebSphere。用过的数据库:SQL Server、DB2、oracle。
2011/9 — 2013/5:XX有限公司[1年8个月]
所属行业:计算机软件
测试部 系统测试
1.项目的测试工作,每个项目基本只有一个测试人员,所有的测试工作、测试期间资源协调和沟通全部由自己来控制。项目BUG的管理(BUG管理工具BugFree)
2.出具测试报告,包括功能、性能、压力的测试报告。用过的测试工具:LR(简单使用)、SOAPUI开源测试用具测试WebService服务。
3.在银行业务测试人员测试前编写完系统的操作手册,并对业务测试人员对系统操作进行简单的培训。
教育经历
2006/9— 2011/6 华西大学计算机应用 本科
证 书
2007/6大学英语四级