功能安全测试范文
功能安全测试范文(精选12篇)
功能安全测试 第1篇
关键词:安全仪表功能,工厂验收测试,离线测试,在线测试,测试流程
1 引 言
安全仪表系统 (SIS) 在石油、化工等流程工业领域中的应用越来越多[1]。人们对SIS的依赖性逐渐增强, 同时, 系统安全功能失效导致的危险也在增加。安全仪表系统作为保障生产安全的重要措施, 需要在危险发生时正确地执行其安全功能[2], 系统投入运行前和运行后严格而有效的测试验证是维持所需安全完整性等级 (SIL) 和保证系统功能安全的关键。虽然IEC61511对安全仪表系统的分析、设计、实施、运行和维护给出了相关的指导原则, 但对于安全仪表系统如何进行合理、有效的测试, 尤其对安全仪表功能 (SIF) 器件及系统测试的要求、测试方法和测试流程等各方面并没有进行详细阐述。
目前, 我国在安全仪表系统测试验证的要求、技术方法与测试流程等方面的专项研究刚开始, 现有工程上的安全仪表系统的测试验证基本上采取常规过程控制系统的测试方法进行, 缺乏针对SIS的具体测试技术方法、流程和规范的指导, 测试的要求也不明确, 无法满足SIS的测试要求和整体安全生命周期的功能安全管理要求。因此, 研究安全仪表系统投入运行前和运行后各阶段SIF的各部件及系统的具体测试要求、测试技术方法和测试流程来保证SIS的功能和性能具有重要的现实指导意义。
笔者阐述了安全仪表系统投入运行前与运行后进行的测试内容和要求, 给出SIF各组成部分的离线测试和在线测试的内容和指导原则, 对实施离线测试和在线测试的流程、测试要求及方法等方面进行了详细的分析和讨论。所提出的系统和部件的测试方法、流程和测试要求等内容可为规划和管理安全仪表系统SIF整体生命周期的测试验证提供有力的指导, 也为安全仪表系统的分析、设计、开发、运行和维护等各阶段活动提供参考。
2 SIS投入运行前的测试及要求
在SIS安装到企业现场前需要对逻辑演算器和相关软件一起进行测试, 这种测试称为工厂验收测试 (FAT) , 有时也称为集成测试, 目的是确保逻辑演算器及相关软件满足安全要求规范中定义的要求[3], FAT测试可以较容易地将错误尽早地辨识出来进行校正。进行FAT测试前, 需要编制计划确定实施测试的类型、测试用例、测试描述和测试数据、与其他系统或接口的独立性、测试环境和工具、逻辑演算器配置、判断测试完成的测试准则、测试失败时的校正流程、测试人员的资格、测试的地点这几部分。其中, 测试的类型包括黑盒系统功能性测试 (把系统视为一个“黑盒”的测试设计方法, 从而无需使用系统内部结构知识, 有时又称为行为测试、功能性测试、密封盒测试) 、性能测试 (定时、可靠性、可用性、完整性、安全目标和约束) 、环境测试 (EMC、寿命和应力测试) 、接口测试、在各种降级和/或故障模式下的测试、异常状态下的测试、SIS维护和操作手册的应用。对于每一个测试, 应包含所使用测试计划的版本、项目测试的说明、测试活动的日志、使用的工具、设备和接口等内容。工厂验收测试应该进行建档, 它是整个安全系统文档的一部分, 根据IEC61511-1要求, 应包含测试例子、测试结果、目标和测试标准是否满足等内容。如果测试过程中出现失败, 则应把失败原因写入文档, 并进行分析, 采取相应的改进措施。
在安全仪表系统的SIF正式投入使用前, 需要对SIF的部件进行校准测试和性能确认。校准测试设备应出于认可的标准性能组织, 用于对传感器、控制器到终端输出设备整个回路进行满量程的至少三点校准 (5%、50%和95%) , 以防止标定错误。对阀门也应该进行校准测试, 以校验其行程的全开和全闭位置。
SIF中每种类型的部件都应有校准程序。一般来说, 应该使用部件制造商推荐的校准程序。在有额外要求 (如传感器或阀门的响应时间) 以满足SIF的特殊功能时, 在校准过程中这些都应该进行测试。SIF元件校核的程序应验证新近校验的现场传感器与过程的实际读数是合理一致的。表1给出了校验任务的指导方针及校验SIF部件的资源。
3 SIS投入运行后的测试
是否应将SIF作为一个集成系统进行测试或对SIF的不同部分在不同的时间进行测试有不同意见。很多标准中并未要求SIF所有测试必须同时进行。在引入危险物质前, 作为预启动验收测试的集成测试必须进行以确保SIF可实现安全要求规范中所规定的功能。这些未检测到失效的测试是逐步进行还是整体集成进行功能测试并不重要, 重要的是失效能被及时发现并进行了校正[4]。通常, 根据SIF的完整性要求安排测试。SIS的不同部分可能要求不同的测试频率, 校验测试的频率与平均失效概率 (PFDavg) 计算时所使用的测试频率一样。
用于发现可能导致SIF失效最主要的手段是离线功能测试, 它是在被保护的过程不处于工作状态下进行的, 可以验证所有的SIF性能。由于有很多过程的作业周期大于为保障安全完整性要求所进行的测试周期, 而离线测试必须停产, 流程工业中系统停车的成本较高, 启动生产和停产的过程通常又是过程生命周期中危险性最高的阶段。因此, 能在过程运行的情况下, 具备执行在线测试的能力是必需的。无论测试是离线还是在线进行, 都需有一定的方法, 在一定的要求下来实施以确保能以较高的概率检测出可能发生的故障。
每个SIF都应该有具体的书面测试流程, 内容包括:SIF包含的安全功能列表;每个安全功能的设备描述及位置;每个安全功能的功能逻辑;检查程序;校核和测试方法;校核、测试、检查及维护活动的频率;指定可接受的性能限值 (若无指定限值, 为量程±2%偏差) ;若需要的话, 指定测试顺序;指定应该进行测试的人员;指出进行测试时的过程状态;如果SIF逻辑映射在BPCS中, 测试应该显示SIF驱动的终端控制设备;在测试完成后验证SIF的操作状态;内部和外部诊断测试;核对附属服务元件是工作状态的;定义一种方法, 保证测试能够进行并有记录。所有的测试程序都应包含测试的系统, 在流程中每一页中都有页码及修改的日期。在测试流程中应制定维护每一个流程的负责人。
4 安全仪表系统的离线测试
离线测试可对SIS中的每个SIF (包括应用软件、硬件设备及用于在线测试的相关逻辑设备) 进行完整的测试。要将每个SIF及其相关输入、输出及逻辑都辨识出来进行校验, 制定的测试程序要明确每个SIF是如何进行验证的。实现测试所必需的所有装备 (包括具备追踪功能的校准设备等) 都应进行标识和校验。SIS的全面功能测试包含所有的SIF各部分及其动态性能, 如热电偶、变送器、输入周期时间、逻辑周期时间、输出信号周期时间以及所有必需的终端控制单元, 以确保满足性能指标[5]。
确定离线测试如何进行是非常关键的, 下面给出SIF部件进行离线测试的测试内容、方法和流程。
4.1 SIF部件离线测试内容
验证对象为传感器, 测试内容包括检测部分、开关或变送器、布线和逻辑演算器输入模块等;验证对象为逻辑演算器, 测试内容包括与每个输入设备相关的软件和硬件、集成输入、跳变 (trip) 设定点、运行顺序、诊断和计算等;验证对象为最终控制单元, 测试内容包括逻辑演算器输出模块、布线、执行设备 (如继电器) 和影响过程运行的最终控制部分;验证对象为单个SIF和整体系统的功能, 测试内容包括安全参数在某个指定时间内必须动作的响应速度、将SIF输出带入安全状态的手动停止功能、用户实施的诊断、测试后的SIF可操作性。如果SIF元件经过维修或被替换、替代过, 那么校验和测试有所不同。对于现场设备 (如变送器、继电器、开关、阀门等) 要进行校准, 验证开关设定和阀门行程, 同时, 验证SIF修改或替代器件能正确运作, 如所有修复或替代器件输入/输出的功能测试;对从替代传感器到SIF中其他器件信号流的功能性校验;从逻辑演算器到替换阀门的信号流的功能性校验。对于逻辑演算器及I/O模块, 如果逻辑演算器系统包含有内部诊断和报告可以验证器件的可操作性, 那么所替代的逻辑演算器器件其输入至输出的功能测试就不必要。
4.2 各部件的离线测试方法与流程
4.2.1 传感器离线测试方法与流程
利用测量源来模拟传感器的输入和毫安模拟工具模拟传感器的输出来测试传感器。使用模拟测量输入给传感器是最可靠和常用的技术, 可用于测试传感器、连线及接收设备。在输出端使用电流模拟仪器来测试连线与接收设备。
每一个部件离线状态都应进行检查并基于与过程离线状态相应的预期值进行验证。下面给出验证SIF中传感器运行的测试方法和流程, 以测试毫安压力传感器 (传感与变送一体) 为例。利用4~20 mA的信号模拟器通过下面步骤来验证传感器的故障情况, 测试流程如图1所示。
4.2.2 逻辑演算器离线测试方法和流程
当测试逻辑演算器时, 利用SIF特定的功能测试程序, 包括书面流程、逻辑框图、控制线路图、电气控制图表和检查表。通过人为创造故障条件并利用HMI来测试每个SIF以验证其在HMI上的响应, 观察最终控制单元。
利用被测试逻辑设备的PLC编程器及HMI对所编程的逻辑功能进行逐项测试。彻底检查和核对内部的校验用换算系数。通过人工改变输入和输出值来测试量程范围。利用认证的检测仪和PLC来测试每个传感器, 验证PLC获得的测量值经换算是否与检测仪的测量值一致。若两者的差值超过测量范围2%, 则其性能是不可接受的。下面给出复杂逻辑系统的功能测试的流程和要求。
(1) 测试人员要求:只有具备SIS维修资格的人员才可进行该SIS测试工作。
(2) 书面测试流程:如果相关的过程单元没有完全停止工作, 且强制输入和输出用于功能测试工作的一部分, 那么在批准进行逻辑演算器测试工作之前需制定详细步骤的功能测试流程。
(3) 重新激活紧急停车点:所有的SIS点都必须在完成测试任务后恢复。在完成功能测试后, 激活的I/O必须根据主单进行检查, 并将此检查进行记录作为变更管理的依据, 此记录应该与对象的SIS记录一起存档。
(4) SIS系统功能测试依据现场变化和维修。要拿到记录有SIS系统现场变化或修改信息的参考文档, 包含控制流程图、SIS逻辑框图、梯形列表和数据映射字典、SIS示意图。
(5) 当对逻辑演算器软件进行变更时, 所使用的流程应遵循公司指南或以往惯例。
(6) 与主机程序比较:通过使用安全PLC配置站的上传-比较工具功能将逻辑演算器SIS中逻辑程序跟主机内程序进行比较。如果没有发现程序上的变化而只有计划性的修改, 那么不需要对现有未变的SIS逻辑进行输入-输出功能检查。
(7) 程序比较列表:打印出程序比较列表并将其与传感器和过程执行器的功能检查的文档一起备案。
(8) 功能检查:SIS逻辑的任何改动都需要进行功能性检查, 检查流程为:通过通讯模块将逻辑器中的数字量和模拟值输入读取到BPCS, 在BPCS操作工作站上进行监测。在PLC逻辑中的信号以及由逻辑演算器接收到的任何输入信号并不能直接输入到BPCS时, 将安全PLC配置计算机连接到逻辑器。当模拟输入现场值范围改变时, 安全PLC配置计算机用于校验正确的SIS程序值。为功能性检查与SIS变化相关的模拟和数字输入, 确认PLC逻辑能正确读取数字输入状态和0%、50%及100%的模拟输入信号值;任何一个输入点都不禁止, 除非需要禁止一个不需要的停车功能。为功能性检查SIS变更相关的数字或模拟输出需激励一个逻辑输入信号使得其输出值发生状态变化或产生一个已知模拟值, 或者是禁止相关的输出寄存器并输入一个强迫值, 输出设备响应必须进行现场确认。
(9) SIS所有的停车操作和预警以及与变化逻辑相关的优先跳变指示应该进行验证。
(10) 在测试任务完成后, 所有的功能测试检查期间所禁止的点都应该回到允许状态。
(11) 存在任何逻辑变更等情况必须记录建档。
(12) 周期性功能测试包括制定测试计划、明确测试要求、批准计划、记录功能测试、进行缺陷校正和填写缺陷报告。
4.2.3 终端控制单元的离线测试
SIF阀门的测试应确定阀门是否能满足安全要求规范中提供的功能要求。通过人工打开 (或关闭) 阀门或单独启动 (或停止) 电机的测试需重复两、三次, 以保证阀门能正确动作。通过人工改变线性控制装置如控制阀的输出值, 观测HMI的反馈值和设备本身来观察设备的响应。记录HMI每个阀门现场的反应和在HMI的显示值。除了满行程测试之外, 有些情况下, 阀门测试涉及到泄漏测试, 这时对阀门的最大泄漏速率有规定。如果阀门行程速度很重要, 则需测试确定并记录行程所需时间。行程时间应包括从输出信号变化到阀门位置变化的时间, 而不仅仅是阀门行程动作的开始和结束时间。
4.2.4 人机交互界面 (HMI) 离线测试
所有人机交互界面上的SIF变量的显示, 无论是操作员站的显示还是面板上的灯, 都应按变量逐个进行核实。测试过程中应对过程变量的正常范围、预报警及跳变点的设置以及其他变量信息进行验证和存档。应分别记录测试前 (as found) 值和测试后 (as left) 值。只要提供SIF的信息, 应对所有显示界面的标识和访问控制进行验证。如果HMI用于SIF的启动输出功能或者人工停车功能, 则该功能也应进行测试。
4.2.5 通信的离线测试
对所有与其他系统 (如基本过程控制系统) 的通信均应进行测试, 以验证来自SIF的数据和信息能正确传输到其他系统。所有传输的信息除了与SIF上的信息相比外, 还都应将所发送的信息与接收到的及系统中显示的信息进行比较。应该对阻止BPCS操作员站的信息传输给SIF逻辑演算器的安全措施, 尤其是用于防止对SIF应用软件进行非法更改的措施进行验证。在BPCS操作员站对SIF中的逻辑进行更改测试, 以验证其不可更改性。防止来自配置站对逻辑的改变的安全措施也需进行测试, 如果必须通过配置站对逻辑进行更改, 则需验证其他可编程电子系统 (PES) 不可以执行该功能。如果使用了密码保护技术, 测试确保其不能轻易的被一般黑客软件所破解。
4.3 SIF离线测试的最后流程
在测试完后应确认所有的输入、输出及逻辑均处在正确状态, 如去掉所有的旁路和跨接等, 将所有的终端控制单元恢复到预启动的位置, 准备好系统的启动。通过比较每个SIF的检查表单, 验证任何用作旁路的临时跨接都处于正常状态。对逻辑演算器和SIF部件进行最后的检验, 目的是保证所有的SIF工作均已完成, 系统能安全恢复到正常运行。检验应该包括:核实所有的警报都被清除;核实所有被识别的问题和故障已经被标明;检查任何被代替的元件和设备, 以确保处于合适的工作状态;核实所有的开关和手动开关都处在合适的位置上;查看所有SIF的压力和设备测量计, 确保处于合适的工作状态;查看配管、管线终端和连线以保证其是安全的。这可能包括用力拉来测试接线端状况;在过程处于非作业状态时, 核实所有的终端控制单元均处在正确的位置;核实所有的仪表气源提供调节器均处在其合适的设置状态下;核实现场功能箱和外壳是牢固的, 能抵挡天气造成的影响;核实所有的导线管和导线管进出板是牢固不受天气影响的;核实所有的从过程主阀门到传感器和开关是打开状态, 所有泄压阀是关闭的。
5 SIF的在线测试
在线测试若不能正确实施, 很可能造成过程扰动或无意间关闭系统。因此, 为保证在线测试能顺利进行, 在线测试必须有详细周密的计划、设计和程序。SIF的在线测试对过程和测试人员都会造成压力, 有必要在严密控制的条件下, 运用已验证的方法来实施在线测试, 务必在不影响过程安全的情况下完成。任何用于在线测试而安装的设备如旁路或测量仪器都应在其测试过程中与相关的逻辑一起进行彻底的测试。一旦输入或输出被旁路, 专门负责控制系统的操作者应该运用与SIF独立的方法持续监控该过程。倘若测试中, 过程要求遇到过程响应, 操作者应该能够人工执行SIF或者其他所安装系统的停车。一旦手动控制阀打开或关闭, 专门的现场操作员应能够在过程要求响应时迅速打开或关闭隔断阀门。所有在线测试之前, 操作者必须完全理解并在测试过程中发生停车要求时, 能够采取正确的处理措施。测试过程中遇到意外时, 涉及SIF在线测试的所有人员都应该知道如何处理。
5.1 SIS在线测试准备
在线测试之前, 需对将要进行的测试进行评估。由对过程和SIF熟悉的仪表人员、电气工、操作工以及相关技术人员组成的测试组来实施测试, 测试前至少做好以下几项准备工作[5]:
(1) 告知接班的操作员, SIF系统是要进行测试还是正常工作;
(2) 审查SIF系统的描述;
(3) 审查安全仪表系统的测试程序;
(4) 讨论在线测试是否影响其他系统如BPCS、报警或其他的SIF;
(5) 讨论工作范围, 究竟检查什么?是流量、压力、温度还是液位等;
(6) 讨论当激活报警时, 技术人员应该如何通知操作者;
(7) 讨论当系统旁路时, 哪些设备将不再起作用;
(8) 审查测试过程中需要特殊预防措施的操作;
(9) 讨论在进行测试的输入处于旁路时, 如果未经计划的SIF发生, 应采取怎样的操作及维护措施;
(10) 讨论在旁路存在的情况下, 如果操作者必须启动SIF, 应采取什么样的操作及维护措施;
(11) 讨论应采取什么程序以保证一旦SIF测试完成, SIF将恢复到工作状态, 如自动校核、各自审查等。
5.2 SIS各部件的在线测试
5.2.1 传感器的在线测试
需要在线测试的过程传感器在安装时, 应该有一定程度的冗余使得在测试一个传感器时, 另一个仍然能够进行必要的测量。如果过程生产的可靠性要求高, 应使用2oo2或2oo3表决型传感器。然后, 设计者再确定是否使用旁路以便于测试。对于2oo2或2oo3表决型传感器, 测试时可不必旁路。当使用在线诊断来检测传感器失效时, 设计者应确定阈值逻辑是否会发生改变。例如, 如果失效传感器表决结果是进行停车, SIF的逻辑可能从2oo3表决降低到1oo2表决。相反的, 如果失效传感器表决脱离停车状态, 它将从2oo3表决降低到2oo2表决。如果传感器是1oo2结构, 则必须有旁路, 使得每个传感器能在线测试, 同时保持其他传感器的测量性能。在这种测试中, 逻辑将降低到1oo1, 这是比1oo2更低的SIF。在测试中应采取合适的预防措施, 以保证不影响安全。
传感器的测试频率可以高于或低于SIF部件的测试频率, 这取决于部件的MTTF (Mean Time To Failure, 平均失效前时间) 及表决配置。模拟传感器是以冗余配置方式安装的, 模拟信号的比较和信号偏离的报警可提供诊断使得单个传感器的测试间隔可适当延长。当产生偏离报警时, 应进行传感器的测试和核对。
5.2.2 逻辑演算器的测试
不建议在过程处于运行状态时进行逻辑演算器的在线测试。逻辑演算器是SIF中典型的最可靠部分, 经过系统投入运行前的FAT测试或离线测试后, 一般没必要对逻辑演算器进行在线测试, 除非逻辑演算器中的逻辑发生更改。当逻辑发生改变时, 逻辑演算器也应该在SIF投入运行之前, 重新进行测试。
5.2.3 终端控制单元的在线测试
终端控制单元的在线测试是SIF相关测试中最为困难的。如果测试进行的不合理, 任何阀门的在线测试均可导致过程中断。阀门测试可利用过程旁路, 实施全部行程或部分行程测试以检查阀门的动作情况。无论是使用单一还是冗余的阀门, 在线测试需要附加的设计要求, 如全流量旁路、部分行程测试设备、测试装置等。任何阀门测试均应进行评估, 以确定在测试中检测什么故障模式。对于部分行程测试阀门, 其不能确定阀门是否能完成全开或全闭功能, 这只能通过全部行程测试来确定。
5.2.4 人机接口的在线测试
HMI的在线测试只有在对操作者提供的信息发生改变的情况下才需要进行。任何显示给操作者关于SIF状态的信息发生改变时, 都应进行测试, 以验证其合适性。在过程正常运行情况下, 只要HMI显示屏幕自身故障, 就应该进行测试, 这种故障常常是由于输入或是显示器器件本身引起。当修理完后替换为新HMI, 原有的SIF中所指定的HMI的所有特性均应进行测试。
5.2.5 通信测试
SIF及其他系统的通信应与逻辑演算器同时进行测试。在有任何通信故障指示的时候, 也要进行通信测试。如果与其他系统的联系对SIF的安全完整性有影响, 应使用包括在完整性评价中的测试间隔。任何通信连线的在线测试都不应降低SIF执行其功能的能力。
从SIF到其他任何系统的通讯发生改变时, 都应进行测试。不建议当SIF还在给过程提供保护时对通讯进行变动, 因为这些变动会导致SIF的细微故障或造成程序错误, 而这些故障可能使得SIF无法执行其功能[6]。
6 结 论
(1) 安全仪表系统是工业安全防护层中非常关键的一环, 是减少生产事故、降低风险的有效措施。在SIS投入运行前和投入运行后, 科学、合理地做好测试验证工作是保证安全仪表系统满足安全要求规格, 维持所需安全完整性等级, 实现其功能安全的重要组成部分[7]。研究安全仪表系统的测试要求、流程与相关的技术方法是科学实施SIS整体生命周期功能安全管理亟待解决的问题, 对于提高我国安全生产检测和安全监控水平至关重要。
(2) 确定安全仪表系统在正式投入使用前进行工厂验收测试的内容和要求, 并依据所编制计划执行集成测试, 对SIF的部件进行校准测试和性能确认, 是SIS投入运行前一项重要测试工作。采用何种测试技术方法, 明确离线测试的内容、在线测试的准备和要求, 以及SIS系统的传感器、逻辑演算器、终端控制单元、人机接口和安全总线通信等各组成部分在线测试和离线测试的流程和技术方法, 对于指导安全仪表系统的SIF测试具有重要的指导意义。
(3) 如何衡量功能测试的价值与实施测试所需的花费往往是影响是否进行测试的决策主因。有效的安全测试受本地条件的影响很大, 危险、资源甚至现场的情况都会相差很大。但不管测试方案如何使用, 都必须非常的实际, 要求测试在保障SIF的安全等级的同时, 尽量地的减少维修和运行成本。
参考文献
[1]李战平.安全仪表系统在长北气田的应用与研究[J].自动化技术与应用, 2009, 28 (2) :117-120.
[2]方来华, 吴宗之, 等.安全仪表系统的开发与要求[J].中国安全科学学报, 2009, (4) :159-168.
[3]IEC61511-1~3.Functional Safety-Safety Instrumented Sys-tems for the Process Industry Sector[S].2004.
[4]IEC61508-1~6.Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems, International Electro technical Commission[S].2000.
[5]ISA-TR84.00.03, Guidance for Testing of Process Sector Safety Instrumented Functions (SIF) Implemented as or Within Safety Instrumented Systems (SIS) [S].ISA-The Instrumentation, Systems, and Automation Society, 2002.
[6]方来华, 吴宗之, 刘骥.安全相关控制系统中的安全总线分析和研究[J].化工自动化及仪表, 2007, 34 (1) :1-6.
做好功能测试和测试分析的方法 第2篇
做好功能测试和测试分析的方法有那些? 我们要规划测试流程,首先要熟悉整个项目的规划。
因此积极参与到项目中的每个环节当中去是非常必要的。
至于测试流程,每个公司有每个公司的实情,就如HTSM一样需要结合实际来定制一样,测试流程也需要结合公司的实际情况来规划。
我稍微列举一下几个必要步骤:
首先项目立项,立项以后,基本上每个阶段的时间都有了一个大概的评估。
因此立项之后立马着手于测试计划的编写,当然这个不是最后的方案,测试计划也会根据实际项目的进行而调整。
但是还是要先把初稿编写出来,自己心里有一个大概的框架。
完成测试计划后,拿到需求文档并积极打听开发的设计方案。
根据获取到文档信息,圈定测试范围,思考测试手段。
最后编写测试方案。
需求分析会后,对整个测试范围更加清晰,并可以分解测试点时,开始编写测试分析。
测试分析不需要太详细,但一定要有清晰的思路。
测试分析主要用于指导“你要测什么?”。
编写准入测试用例,可以用于提供给开发自测。
因此此类用例可写得比较详尽。
编写全部的测试用例。
注意测试用例包含的各元素(不会的网上有模板)。
注意用例前置条件要写得清晰明了,因为用例主要用于“你要怎么测?”。
执行准入用例。
虽然开发已经执行过一次,但测试的角度与开发的角度明显不一致。
执行后也可用于判断是否可以进入测试阶段。
执行用例全集。
此过程可判定软件质量,大型项目建议做日报以及周报。
做到及时汇报软件质量情况。
编写准出报告。
根据准出标准,判定软件实现是否已达到与需求一致。
编写用户使用手册。
为了让用户快速上手使用软件,编写手册供用户参考使用。
参考的文档:需求文档、开发设计文档、开发详细设计文档、开发接口文档、开发字典表等涉及的文档。
下面整理了一下本次大家的提问的问题,对部分问题做了解答:
1、公司刚成立不久,请问做客户端的测试流程要注意什么?
回答:首先感谢你的提问。
不太清楚贵公司的具体方针是什么,因此也没办法给太详细的答案。
我个人觉得测试的具体方案跟流程都是需要结合公司实际运营情况来决定的。
可能需要你自身的学习并应用到实际当中去。
按照我的理解给以下建议,希望可以帮到你:
(1)明确需求。
一定要监督需求文档的完整以及可读性,起码可以到能拿出来分解测试需求的情况。
毕竟测试先知来自需求。
(2)跟开发沟通在开发之前可以提供设计文档。
一定要了解开发的设计思路,这里可以发现一部分开发功能是否真的就达到了需求的要求。
(3)选一个适合公司应用的测试模型。
比如V模型或者W模型。
(4)客户端是指APP还是PC的客户端呢?APP的.话,注意兼容性测试是否有实体机测试,并且要做相应的风险评估。
(5)积极与需求、开发沟通并调整部门间的合作关系。
2、老大,WEV和APP测试有什么区别?
回答:WEV?WEB?还是wap?我个人没有做过wap相关测试,可能没办法给一个详细准确的答案。
但是我测试WEB跟APP的时候好像没啥区别,基本测到的项目都是一致的。
一定要说的话,可能使用到的工具有些区别。
测试APP还要考虑到手机上的一些特性,比如耗电,不同制式的网络(2G,3G,4G,wifi),接电话断开对app的影响,与其他APP的兼容等等。
3、如何对一个功能进行深入的剖析?请问在功能测试方面怎么深入?
回答:问题觉得有点小广,不过我个人从以下几个方面来考虑的。
(1)首先必须是业务,对业务一定要熟,一定要熟!熟到能发现业务逻辑不合理的程度就最好了。
(2)了解你测试的系统。
比如开发的设计方案等,各接口的调用。
(3)脚本测试跟探索测试结合。
当然哪个为主哪个为辅就要结合公司实际情况来应用了。
(4)多应用传统的测试方法来对功能进行测试分析。
4-1、想要了解一下WEB架构的测试。
最好能从计划开始?
4-2、一个项目的产生,在真正工作中,一个测试工程师的工作流程是啥?
回答:两个问题的答案相同,我做web测试跟app测试没啥区别,所以基本都是一套。
(1)项目立项以后,立即咨询项目经理关于项目时间的安排(有些项目经理会直接提供)。
根据项目经理给的时间,按照公司实际的测试流程划分每个测试阶段的时间。
例如:
a.XXXX-XX-XX到YYYY-YY-YY编写测试计划
b.XXXX-XX-XX到YYYY-YY-YY编写测试方案
c.XXXX-XX-XX到YYYY-YY-YY进行测试分析
d.XXXX-XX-XX到YYYY-YY-YY编写准入用例,详细用例
e.XXXX-XX-XX到YYYY-YY-YY执行准入用例,判定是否可以进入测试流程。
如果不通过则打回开发,延后进入测试时间。
这里需要评估风险,一定要跟项目经理沟通预留时间。
如果准入通过则进行下一个步骤。
f.XXXX-XX-XX到YYYY-YY-YY执行详细用例
g.XXXX-XX-XX到YYYY-YY-YY编写准出报告
h.XXXX-XX-XX到YYYY-YY-YY编写用户手册
i.跟踪生产质量
(2)整个测试流程就按照测试计划描述那样,按时间完成则可。
5、探索式测试有哪些方法?
回答:我认识的探索性测试,是一种测试风格。
也就是说他比较强调个人的思维或者特性。
他没有跟传统的测试方法一样有指定的测试技术(等价类,边界值之类的)。
我个人比较喜欢采用的思考方法有:
测试先知扩展。
根据预期结果扩展思维进行测试。
测试条件扩展。
根据不同的测试条件组合扩展测试。
在测试过程中发现bug的路径或者类似路径,进行测试。
不知道你认为的探索是什么样的呢?又是怎么去进行测试的?这一块感觉还有很多谜,可以多多讨论。
6、Linux使用的多吗?
回答:感谢提问,不知道这个问题具体要了解什么方面的内容呢?用不用linux看公司方案。
不过我从进入测试行业开始基本都是基于linux下操作。
7、我想知道金融支付方面该怎么去测,金融测试该怎样高质量的去编写测试用例,去测试?金融测试流程是什么?
回答:话说在没有跟别的测试同行沟通之前我可能会给你一个很肯定的答案。
前段时间在微信群跟别的测试同行沟通过一次,才发现这个问题也是要结合公司实际情况来考虑的。
比如我们公司,安全方面是比较好的,所以很多情况下我们基本不考虑篡改地址信息这种测试方法。
但是如果你们公司安全包装比较差的话,这里是一个很重要的测试点。
这里还是列一下我知道的:
基本编写测试用例还是采用传统的测试方法。
比如金额的输入考虑等价类跟边界值的情况,特别是边界值,很容易出现问题。
如何去测试?我们是采用测试接口以及连接对方测试环境进行联调的方式进行。
当然,联调对方接口各种环境问题出现也是痛苦的一部分。
估计大部分测试这块的同行都要受的折磨。
不知你认识的金融测试又是怎么样的呢?
8、请问如何提高测试效率?
回答:好问题!提这个问题,说明你认为现在的测试效率比较底下的。
不知道具体阻碍你测试效率的是什么呢?因为不了解实际情况,我只能说首先找到阻碍你测试效率的因子,然后对应去解决问题,这样应该会有一个好的提升。
思考以下几个问题:
(1)对业务不熟悉吗?没测试一个功能点都需要找人确认?
(2)对被测系统了解吗?每次提出的问题都是无效bug?
(3)相关的技术了解吗?每次定位问题都需要开发帮忙才能定位?
(4)对测试环境配置了解吗?每次预置条件的设置都需要花大量的时间在上面?
欢迎多多探讨。
9、请问,功能测试进行到什么程度才算完成?需求覆盖率,很难找到bug还是项目进度时间限制?功能测试是如何贯穿在整个项目的各个阶段?
回答:好问题!我们是算需求覆盖率的,这个基本可以体现在测试用例上面。
不知道你们领导希望你们的交付结果要到什么样的情况呢?这个基本是看公司定位的。
我们项目主要大范围地划分为需求,开发(包括单元测试),系统测试(即功能测试,包括了自动化的冒烟测试),业务测试,预生产测试,生产上线测试这几个阶段。
10、Bi测试如何开展?
回答:很感谢你的提问。
但是很抱歉,你的问题我可能没办法回答。
我没有测过Bi系统。
11、零基础怎么开始测试?
回答:感谢提问,首先从掌握公司业务开始。
懂得公司业务逻辑了,才能发现问题,这是测试的基本。
然后尽可能补一些测试基础知识。
比如传统的测试方法,linux基本命令,sql语句等。
后续再考虑较为高阶的性能以及自动化等知识。
12、功能测试分析方法常规使用的有哪些?怎样能够较快的引入到日常工作中?
回复:好问题!测试分析方法用的就是传统的测试方法,没错就是你知道的等价类边界值因果图判定表之类的。
我之前数过有10几种吧,具体就不一一列出来了。
下次有时间会整理一个出来,一起来探讨探讨。
13、请问功能测试,就是手工测试吗,测试小白怎么进入测试行业呢?
回答:嗯,描述不太正确呢。
自动化也可以测试功能的。
掌握一些基础知识,就可以入行了XD。
当然能学点语言类的就更好了。
可以参考问题237。
如果还是不能解答到你的疑问,可以多多探讨喔。
14、一直做功能测试,除了管理,还有其他方向可以走吗?
回答:嗯,可能我没有太理解到你的疑问。
为嘛功能测试就只能走管理了呢?管理也不是那么好做的,如果以后公司要发展自动化,那么做为没有接触过自动化的你要如何管理自动化这块呢?又要如何给自动化的同事指导呢?特别推荐学习测试女巫,她也是从功能做到自动化的,虽然不认识她但是我个人非常崇拜她。
脑功能轻微失调简易测试法 第3篇
有些孩子学习吃力,写字丢三落四,原因可能出在脑功能轻微失调上。下面,家长可以通过行为评定法来简单判断一下。
行为评定法——
家长根据自己对孩子的日常观察填写下表:
按孩子的活动程度进行评分,“没有”记0分,“较少”记1分,“较多”记2分,“很多”记3分,总分得15分或15分以上,可以初步判定为脑功能轻微失调。
指鼻与翻手
以下几种观察测试法,可以用于测试孩子脑功能发育情况,也可以作为训练方法来训练孩子提高这方面的协调能力。
指鼻试验——
1)让孩子闭目静坐半分钟。
2)家长发口令,让孩子根据家长的口令用食指指点自己脸上的部位,先右手后左手,速度不要求很快。
3)每次练习3分钟。
这是传统的协调动作实验,学习障碍儿童往往不能很好地完成,表现失误多,但多练习定有收获。
翻手试验——
1) 让孩子闭目静坐半分钟。
2)让孩子坐在桌前,将两手平放在桌面上。当翻过来手掌向下时,拇指沿着桌边下垂,两手食指靠拢;当手掌再翻过来向上时,两手小指靠拢。
3)每次练习5分钟。
学习障碍儿童常有交替运动困难,表现为动作笨拙,肘部摆动幅度大,甚至乱翻一气。家长应保持一定的耐心。
两臂伸展试验——
1)让孩子闭目静坐半分钟。
2)家长发口令,孩子起立,两臂向前伸直,坚持2分钟。
若出现舞蹈病样动作,手指和手臂抬高,并伴有脸扭歪,嘴外鼓和两手举过头顶则是脑功能轻微失调的典型表现。
脚尖走路试验——
1)让孩子用脚尖走20步。
2)再让孩子用脚尖返回来。
3)重复做两次。
观察手臂有无外展等联合动作,严重者唇舌不协调抖动。
脚跟走路试验——
1)让孩子用脚跟走30步并返回。
2)重复做两次。
安全仪表系统的功能安全测试研究 第4篇
关键词:安全仪表系统,功能安全,测试,研究
1 安全仪表系统投入运行前后的测试研究
1.1 安全仪表系统投入运行前的测试内容与要求
安全仪表系统在安装前需要通过工厂验收测试, 工厂验收测试指的是利用演算器与软件进行测试, 以确保演算器满足要求规范的检测手段。通过测试可以及时发现错误的信息, 将系统校正过来。工厂验收测试前需对测试类型与数据进行独立性检测, 确定合适的测试流程与地点。工厂验收测试的结果通常会记录在系统文档中, 当测试失败的情况发生, 失败原因就会记录在文档中, 这时系统就会采取相关措施进行测试改进。安全仪表系统正式使用前, 必须对系统部件进行性能检测与校准。相关设备必须与传感器和终端形成完整回路, 现场元件校核结果必须与传感器实际读数相匹配, 以满足安全仪表系统的特殊功能。
1.2 安全仪表系统投入运行后的测试内容与要求
安全仪表系统投入运行后需要对集成系统进行测试, 这称为预启动验收测试, 目的是及时发现系统运行中的失效情况, 保证安全仪表系统达到安全要求规范。这项测试中需要考虑到安全仪表系统的完整性, 利用不同测试频率对系统进行测试, 其中离线功能测试是重要手段, 能实现系统性能的验证, 但对于作业周期较长的系统, 离线测试的成本较高, 因此掌握在线测试技术是目前应具备的能力, 能有效促进检测效率的提高。安全仪表系统测试包括安全功能逻辑、程序检查与校核等, 有时还会根据活动频率安排测试顺序, 测试完成后就会得到系统操作状态结果。
2 安全仪表系统的离线测试
离线测试能实现系统完整的测试, 对系统的逻辑与参数进行精确识别与校验, 所有装备都是离线测试的对象, 能测试出系统各部分的动态性能, 确保系统满足标准的性能指标。下面对几种不同部件的离线测试方法与流程进行分析:
2.1 传感器的离线测试
通常采用模拟传感器来测试传感器, 这种方法常用于测试传感器以及其他接收设备。进行测试输出时常用电流模拟仪器来进行信息接收与分析。部件离线状态时需要御用相对应的预期值进行结果验证。测试毫安压力传感器的测试中, 通常利用10m A的信号模拟器验证系统故障情况。当传感器感受到压力时会开启系统出口, 检测到回路后通过电流的调整就能验证输出设备的错误量程, 然后将模拟器中断开, 将压力传感到下游阀门用于验证设定点的报警记录, 最后通过增加压力实现对设定点的报警清除, 在适合位置记录好跳变位置, 供于系统检测分析。
2.2 终端控制单元的离线测试
安全仪表系统的阀门必须满足安全要求规范, 通常通过反复人工启动与关闭的操作就能保证阀门正确运行。终端控制单元的离线测试中, 利用控制装置与控制阀就能得到检测结果, 通过得出的反馈值对设备进行观察记录。与阀门测试相关的是泄漏测试, 在系统的运行中必须将最大泄漏速率控制在科学的范围内, 通过对行程时间的记录, 计算出行程速度就能做出相关的判断。
在测试完相关部门的状态后, 需要恢复终端控制单元的位置, 保证所有离线检测工作的完成, 为正常启动系统提供良好的准备。离线测试后要求所有的警报都被清除, 确保所有部门处于正常的工作状态, 保证管线连接处于安全的状态。如果接线端处于非作业状态, 必须重新归置控制单元的位置, 将现场导线管与传感器正常联通感应, 关闭现场所有的泄压阀, 保证监测后系统能正常的运行。
3 安全仪表系统的在线测试
在线测试有利于维持系统的稳定性, 在设置在线测试之前必须制定详细的程序计划, 严格控制检测条件, 选择合适的验证方法进行线测试。在线测试相关设备必须进行全方位的测试, 如果出现旁路现象, 必须完全监控控制系统;如果手动控制阀出现异常, 相关工作人员需要应时相应实施相应的措施。安全仪表系统的在线测试前需要审查安全仪表系统的测试程序, 设置技术人员进行预热检测, 记录好检测范围与对象, 还要做好特殊情况的预防措施。
传感器的在线测试中首先需要安装传感器, 安装过程中必须提高设备生产的可靠性, 以保证系统正常的在线运行。在传感器的在线测试中, 通常使用表决型传感器进行测试。如果传感器出现失效现象, 相关实施者应及时改变已确定好的系统阈值逻辑, 同时保持传感器的其他测量性能, 保证在线测试的安全性与可靠性。在测试中可根据不同部件的性质来决定测试频率, 如果出现信号偏离的现象, 相关测试人员必须及时进行报警, 对相关传感器进行核对与重新测试, 确保传感器在线监测的准确性。
4 结束语
随着工业技术的不断发展, 安全仪表系统也处于不断的完善之中。近年来, 安全仪表系统在工业流程中的应用日益增多, 但是其功能失效形式也不断增加, 相关研究学者正在研究系统运行的测试等级与系统功能安全因素, 为安全仪表系统的实施与运行提供了参考。现阶段, 相关学者对系统运行前后不同阶段的测试方法和测试流程进行系统的研究, 不断地推动了安全仪表系统的功能和性能的进步, 为安全仪表系统未来的发展奠定了基础。
参考文献
[1]鲁晓玲.安全仪表系统的功能安全评估研究[D].首都经济贸易大学, 2008.
[2]靳江红, 吴宗之, 赵寿堂, 胡玢.安全仪表系统的功能安全国内外发展综述[J].化工自动化及仪表, 2010 (05) :1-6.
[3]靳江红.安全仪表系统安全功能失效评估方法研究[D].中国矿业大学 (北京) , 2010.
[4]杨海兵.功能安全在工业过程安全仪表中的研究应用[D].杭州电子科技大学, 2012.
[5]沈学强, 白焰.安全仪表系统的功能安全评估方法性能分析[J].化工自动化及仪表, 2012 (06) :703-706.
功能测试总结精华 第5篇
1.留意分机电话号码
2.输入相同的字段名称(一般为必填项的)后,选择信息(可以有不同选择的,如:下拉框): 输入同一个名称后,分别选择不同的状态,进行保存时,验证是否可以正常操作。
3.修改信息时,注意进入到修改页面后信息是否可以被修改,并查看修改后的信息与添加页面的信息是否一致
4.修改信息时,在修改页面输入异常数据或超长字符后保存
5.注重关联测试
6.测试登录时,别忘了修改密码时的相关测试
7.在搜索栏输入关键字后,敲空格
8.重复点击页面上的按钮,观察系统反应
9.测试删除时,删除完所有信息后,点击删除按钮,观察系统的反应
10.上传下载文件检查,对上传下载的文件名也要进行检查,有时下载下来的文件名是乱码
11.界面测试不光要考虑合理的键盘输入,还应考虑是否可以通过鼠标拷贝粘贴输入
12.在分类树结构中进行操作时,关注当编辑子分类时,上级分类应该是只读的13.分页测试时,应注意在页码栏处输入较大数字的情况
14.如果是不用选择对象就可以直接进入的按钮,没有必要在没有选择对象时提示“请选择要操作的对象”,而在全选或者选择一个后才可以进入按钮对应的页面
15.测试时,留意不同浏览器下文字的字体、颜色变化。
16.选项卡形式的文字切换时,文字有链接时,鼠标滑过时颜色更改就可以进行选项卡切换;文字无链接时,需要手动点击鼠标才可以切换;
17.测试时注意留意浏览器标题栏:查看标题栏显示的信息和网页标题是否一致;
18.对于页面有表格的,表格中字段宽度应有重点优先级;
19.按钮实现功能时尽可能放在同一个页面;
20.检查多次使用back键的情况:在有back的地方,back,回到原来页面,再back,重复多次,看会否出错;
21.点击提示:点击浏览过的信息颜色需要显示为不同的颜色,以区分于未阅读内容,避免重复阅读;
多功能测试台的阀块设计 第6篇
【关键词】阀块设计;过渡阀块
在测试装置的设计过程中,最重要的一个环节就是液压阀块的设计,但大阀块油孔较多且为避免油路之间的干涉又增加了较多的工艺油孔,导致液压阀块结构复杂。
1、阀块的设计原则
首先,设计阀块前,先要确定油路是否可集成。每个块体上包括的元件数量应适中,元件太多阀块体积大,设计、加工困难;元件太少,集成意义不大,造成材料浪费。
其次,在阀块的设计中,油路应尽量简捷,尽量减少深孔、斜孔和工艺孔。阀块中孔径要和流量相符合,特别应注意相贯通的孔径必须保证有足够的通流面积,注意进油口的方向和位置,应与系统的总体布置及管道连接形式相匹配,并考虑安装操作的工艺性,有垂直或水平安装要求的元件,必须保证安装后符合要求。
最后,油路及各孔道的布置。首先根据系统的总体布置确定各油口的方位,互相沟通的元件应尽量置于互相垂直的相邻面上以简化孔道布置,然后先走通主油路,再完成小通径的油路和控制油路。
2、大阀块的设计
首先考虑油路集成,以换向阀、溢流阀、减压阀共用进油口、回油口,换向阀和节流阀共用回油口。考虑到各阀的进油口和回油口之间的尺寸不相等,其中减压阀的进、回油孔之间的距离最小,为了达到油路集成的目的,根据最简单的数学思路——勾股定理,以减压阀的进油孔A、回油孔B之间的距离为基准,换向阀的P、T,溢流阀的A、B在大阀块上不与减压阀平行而是倾斜放置,即减压阀的A、B间的距离作为直角三角形的一个直角边,换向阀和溢流阀的进、回油口做斜边。设计的开始也考虑过将节流阀也做倾斜放置,但这样做集成的意义不大,并且相比于将节流阀与阀边平行放置,倾斜放置的尺寸标注较麻烦,相应的给大阀块的孔径加工带来不便。其次,采用这种倾斜放置的方式不仅实现了油路的集成,又给小阀块的结构设计及加工带来了方便。
根据阀块的设计原则中的孔道布置原则。考虑到油孔之间、工艺孔之间及两者之间不能相互干涉,要从几个方面总体考虑。由于阀块内部管道较多所以液压阀块内的孔设计是要分层,进油管与回油管尽量不放在同一层,以免两者相通。因此,分了三个层面设计孔的布置。如果把各个阀的控油孔放在第一层,把进、回油孔,泄漏孔分别放在第二、第三层,在孔加工时就会出现多孔道相贯通。要想不出现干涉必须把泄漏孔放在第一层,进、回油孔放在第二层,控油孔放在第三层。另外就是孔径大小的设计,孔径的大小与液压元件的通径有关。需要测试的阀类的最大通经只有直径是30mm,在检测小通径的阀时,需要把其它几种具有大通径的阀块叠加起来,阀块之间通过螺栓连接。由于大通径的阀块和小通径的阀块进出口的尺寸和位置都是不一样的,所以直接把它们累加起来,阀口之间不能很好的对接,甚至是大阀块把其上阀块的进出口完全堵死而不通。曾考虑使小阀块的底面的进出口和大阀块上面的进出口的尺寸和位置完全一样,而小阀块上面的进出口和要检测的阀的进出口尺寸和位置一致,从侧面打孔实现上下孔径对接,原理上可行,但实际上在加工阀块的时候是相当麻烦的,比如溢流阀,它的进出口和外控口都在一条直线上,如果只打一个侧面孔的话,那么进出口和外控口就会被连通;如果打多个侧面孔使上下两个面上的各口相连通,又很难保证上下两个面上的各孔都在一条直线上。故通过从侧面上打孔的方法不好实施。现采用加大每一个大阀块上面的各孔孔径的方法,小阀块仍按要检测阀孔的具体尺寸和位置来设计,这样一来,上下两阀块的孔口就很容易对接了。
在设计液压阀块时,对一些主要压力点要留有测压孔,在阀类性能测试中压力测量中使用,并且以便以后使用过程中出现问题时进行检查。
3、小阀块的设计
液压阀块上孔的位置要与液压元件的孔完全对应,当不对应时,还需要设计过渡阀块。在检测小通径的阀时,需要把其它几种具有大通径的阀块叠加起来,阀块之间通过螺栓连接。如常用减压阀有10mm、25mm、30mm三种通径。由于大阀块上的孔径设计为32mm,如果对25mm通径的减压阀进行测试,由于液压元件的孔与液压阀块上孔的位置不对应,就需要设计过渡阀块,使阀块上面的尺寸与液压元件对应,下面的尺寸与其下面的阀块对应。
对于小阀块的设计以25通径的减压阀为例。25通径减压阀进、出油孔之间的距离要比32通径减压阀进、出油孔之间的距离小,并且控油口的位置也不同,所以不可能直接对接。为使小阀块的底面的进出口和大阀块上面的进出口的尺寸和位置完全一样,而小阀块上面的进出口和要检测的阀的进出口尺寸和位置一致,通过在小阀块的侧面打孔,使小阀块上下两面上的进出口通过从侧面上打的孔相连通。
在大阀块的设计中,换向阀、溢流阀采用相对于减压阀倾斜放置,这样就简化了小阀块的设计和加工。并且由于大阀块上换向阀、溢流阀、减压阀的孔径尺寸是按照液压元件尺寸设计,所以在对32通径的阀类测试时无需加小阀块,可直接放在d大阀台进行。既而省去了32通径换向阀、30通径减压阀、30通径溢流阀的阀块设计。
为了保证测试过程的密封性,同时也防止漏油,在设计小阀块的过程中在阀块底面的进、回油孔处要开密封槽,放入相应的O型密封圈。
4、结束语
液压阀块的投入使用对液压系统的集成有了质的飞跃,同时简化了系统的安装,增加系统运行的可靠性。液压阀块得到了液压领域的广泛推广与应用。目前国内液压生产厂家已经设计、制造出用于各种液压系统的液压阀块,并且渐趋形成定型化,标准化产品。
参考文献
[1]周恩涛.液压系统设计元器件选型手册.北京:机械工业出版社,2007:50-65
[2]王建国.机械制图.呼和浩特:内蒙古大学出版社,2003:10-30
[3]方桂花.《液压传动》.北京:地震出版社,2002:1-10
作者简介
功能安全测试 第7篇
功能安全标准 (ISO26262) 是从电子、电气及可编程器件功能安全基本标准IEC61508[1]派生出来的, 主要定位在汽车行业中特定的电气器件、电子设备、可编程电子器件等专门用于汽车领域的部件, 旨在提高汽车电子、电气产品功能安全的国际标准[2]。
I S O 2 6 2 6 2从2005年11月起正式开始制定, 经历了大约6年左右的时间, 已于2011年11月正式颁布, 成为国际标准。中国也正在积极进行相应国标的制定。
ISO26262主要内容包括:
●提供了汽车生命周期 (管理, 研发, 生产, 运行, 服务, 拆解) 和生命周期中必要的改装活动。
●提供了决定风险等级的具体风险评估方法 (汽车安全综合等级, ASILs[5]) 。
●使用ASILs方法来确定获得可接受的残余风险的必要安全要求。
●提供了确保获得足够的和可接受的安全等级的有效性和确定性措施。
功能安全受研发过程 (包括具体要求, 设计, 执行, 整合, 验证, 有效性和配置) , 生产过程和服务流程以及管理流程的影响。
安全事件总是和通常的功能和质量相关的研发活动及产品伴随在一起。ISO26262强调了研发活动和产品的安全相关方面。
符合性要求
1) 如果要宣称符合ISO26262, 那必须是符合其每个要求, 除非有如下情况之一:
●根据ISO26262-2中, 对不适用的要求进行安全行为的裁剪;
●针对不符合项, 提出其说明理由, 并对理由根据ISO26262-2进行评估;
2) 所有安全行为的输出物都在ISO26262中有明确的规定。
3) 下文中出现的列举各测试方法的表中, 有不同的序号表示方法:
●连续的序号, 比如1.2.3:所有的方法应被用于对应的ASIL等级, 如果出现所列表中之外的方法背用于测试, 则需要进行说明。
●可选的序号, 比如1a, 1b, 1c:可以选择某个或多个方法进行测试, 并优先考虑更高推荐指数的方法。如果多个方法被组合选择用于测试, 则需要进行说明。
4) 针对ASIL的各级, 表中的每个方法都有对应推荐指数:
●“++”:最高的推荐指数
●“+”:建议使用
●“0”:不建议使用或不需使用
测试概述
ISO 26262-8[3]中的第9章节描述了“Verification”的目标、要求和建议、工作输出等。Verification是用于确保实现与需求的一致性, 在安全生命周期的几个阶段中都会用到。包括概念阶段、产品开发阶段、生成和运营阶段。本文主要描述在产品开发阶段中的测试环节中, 需要用到的各种测试要求和建议。
测试计划
1) 在测试执行前, 都需要建立测试计划, 其主要包括几部分:
●测试范围:用于测试的产品内容;
●测试方法:用于测试的各种方法;
●测试标准:测试通过或失败的标准;
●测试环境:如果需要用到各种测试环境, 比如仿真环境等, 需要进行说明;
●测试工具:用到的各种测试工具;
●出现异常后的对策;
●回归策略:在测试对象发生变更时, 指定其如何进行回归测试, 比如全部回归、部分回归、和其他测试案例一起回归等。
2) 测试计划的制定还需考虑到以下几个方面:
●测试方法的完整性;
●测试对象的复杂度;
●测试经验;
●测试技术的成熟性和风险。
测试规格
1) 测试规格需要选择和指定用于测试的方法, 并包括测试案例、测试数据和测试对象。
2) 每个测试案例需要包括:
●序号:唯一的ID
●测试对象的版本号
●测试对象的条件和配置:针对测试对象的不同配置, 需要选择合理的测试案例进行测试
●测试环境
●输入值和顺序
●期望行为:报刊输出值、输出范围、功能表现等
3) 测试案例需要根据测试方法来分类。针对每个测试方法, 除了测试案例外, 还需考虑以下几方面:
●测试环境;
●相关性;
●测试资源。
测试执行和测试报告
4) 按照上述章节中制定的测试计划和测试规格, 进行测试的执行。
5) 针对测试结果, 其测试报告需包括以下几个方面:
●测试对象的ID;
●测试计划和测试规格的引用;
●测试环境、测试工具、标定数据;
●测试结果和期望值的符合度;
●测试通过或失败的结论, 如果失败, 还需要指明失败原因和修改建议;
●针对没有执行的测试案例, 说明原因。
ISO26262中的测试阶段
ISO26262中涉及到测试的阶段共包括“硬件集成和测试”、“软件集成和测试”、“产品集成和测试”这三部分。下面章节分别介绍这三部分的要求和建议。
硬件集成和测试
ISO26262中“Par t 5:Product Development:Hardware Level”, 针对产品开发的硬件部分提出了专门的集成和测试要求和建议。
⒈硬件集成和测试需要按照安全计划和验证要求来按计划进行;
⒉硬件集成和测试需要按照产品集成和测试计划来进行;
⒊针对变更, 需要按照标准规定中的变更管理来对测试策略进行影响分析;
⒋测试的设备可以按照国际标准 (比如ISO17025) 或公司标准来进行标定;
⒌硬件集成测试的测试案例需要按照表1的方法进行设计;
⒍针对硬件安全需求, 硬件集成和测试需要对其安全机制实现的完整性和正确性进行验证, 其方法如表2所示。
⒎硬件集成和测试需要按照表3的方法进行外部压力环境下的鲁棒性测试。
软件集成和测试
软件单元测试
软件单元测试是在软件开发过程中要进行的最低级别的测试活动, 软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。ISO26262中规定了其相对应的要求和建议:
⒈软件单元测试需按照“ISO26262-8章节9中”的验证要求来有计划的定义和执行。软件单元测试的对象是具体的软件实现单元, 在基于模型的软件开发过程中, 软件单元测试的对象是其单元模型。
⒉软件单元测试需要按照表4中列的方法进行, 以完成以下目标:
●检查是否符合软件单元设计的具体要求;
●检查是否符合软硬件接口要求;
●检查功能是否正确实现;
●检查是否有异常功能;
●检查软件实现的鲁棒性, 比如错误处理效率等;
●检查功能所需资源的完整性。
3.软件单元测试中的测试案例需要按照下表5中的方法进行分析设计。
4.软件单元测试中, 对于需求的覆盖度、代码的覆盖度都需要进行衡量, 具体方法如表6所示。如果覆盖度不够, 还需要增加其他测试案例。
●代码的覆盖度都可以借助一些软件工具来实现;
●如果是基于模型的开发, 其软件单元测试需要利用类似的模型的结构化覆盖指标来衡量;
●如果通过代码的打桩来进行测试覆盖度的衡量, 必须保证打桩的代码和正常的代码的执行功能是一致的;
●对于覆盖度衡量目标, 都需要给出一个合理理由来表示其不同的级别, 对于无法覆盖的代码, 可以通过检查等其他方法来进行验证。
5.软件单元测试需要尽可能的在真实的目标环境上执行, 如果利用其他环境, 则需要评估其与真实环境的差异、源代码和目标代码的差异, 分析设计测试案例, 以便在接下来的测试阶段中得到执行。
●测试环境的不同, 会导致源代码或目标代码的不一致, 比如不同处理器的位数不一样, 会导致编译后的目标代码不一致。
●如果能利用目标环境中的相同处理器来运行软件单元测试案例, 那是最有效的, 但如果不行, 则可以用处理器模拟器来代替, 否则软件单元测试只能在开发系统中进行测试。
●软件单元测试可以在不同的环境中执行, 比如模型在环测试 (MIL) 、软件在环测试 (SIL) 、处理器在环测试 (PIL) 、硬件在环测试 (HIL) 等。
●在基于模型的开发系统中, 软件单元测试可以在模型级别进行, 但模型与代码的执行比较测试必须要做, 以保证模型与自动生成的代码的结果一致性。
软件集成和测试
软件集成和测试主要对实现的各软件模块进行集成, 并验证其嵌入式软件实现是否符合软件架构设计。该阶段的要求和建议如下:
⒈软件集成计划应该描述层次化的集成单个软件单元进软件组件中, 直到嵌入式软件完全集成, 并且应该考虑如下:
●软件集成功能的相互关系;
●软件集成和软硬件集成的相互关系。
注意:对于基于模型的开发, 可以先集成各模型, 然后对集成好的模型进行自动代码生成以完成整体软件的集成。
⒉软件集成测试根据I S O26262-8:2011, 第9章计划, 定义并且执行。软件集成测试的测试对象是软件组件。对于基于模型的开发, 测试对象可以是和软件组件相关的模型。
⒊软件集成测试需要按照表7的方法进行, 以完成以下目标:
●检查集成的软件是否和软件架构设计一致;
●检查集成的软件是否满足软硬件接口规格;
●验证功能的正确性;
●检查其鲁棒性, 比如错误检测、错误处理机制的有效性;
●检查是否有足够的资源来支持。
⒋测试案例需要按照表8中的方法进行分析设计。
⒌对于软件架构级别的需求测试覆盖度, 可以用来衡量测试的完整性, 以及用于证明没有设计之外的功能实现。如果有需要, 可以增加新的测试案例, 或者提供一个合理的理由说明。
⒍为了评估测试案例的完整性, 同时确保没有多余的功能, 根据表9列出的指标需要衡量出其结构覆盖率。如果覆盖率不够高, 要么需要添加额外的测试案例, 或者提供一个合理的理由说明。例如, 结构覆盖率的分析可以用于发现测试案例的不足、无用代码、无效代码或者多余功能等。
●结构覆盖率可以利用工具计算出来。
●如果是基于模型的开发, 结构覆盖率可以通过模型级别的模型结构覆盖率来统一计算。
⒎作为产品发布的一部分, 嵌入式软件需要被验证其包含设计的所有功能。如果嵌入式软件包含了设计之外的功能 (比如用于调试的代码) , 则这些功能需要被验证是不影响软件的安全需求的。如果这些设计之外的功能在真实产品中保证不会被激活执行, 那也是符合这个要求的;否则删除这些功能, 也需要按照需求变更流程来统一处理。
⒏软件集成测试需要尽可能地在真实环境中运行, 如果不行, 则需要评估测试环境与真实环境的差异性, 并针对这些差异, 在后续的阶段的真实环境的测试中设计专门的案例来执行。
●测试环境的不同, 会导致源代码或目标代码的不一致, 比如不同处理器的位数不一样, 会导致编译后的目标代码不一致。
●针对各种测试, 需要建立合适的测试环境。比如目标处理器的测试环境、仿真处理器的测试环境、开发测试环境等。
●软件集成测试可以利用模型在环测试 (MIL) 、软件在环测试 (SIL) 、处理器在环测试 (PIL) 、硬件在环测试 (HIL) 等测试手段进行测试。
软件安全需求验证
本阶段的目标是验证嵌入式软件符合软件安全需求, 其所规定的要求和建议如下:
⒈软件安全需求的验证需要制定计划, 定义再执行。
⒉为了验证嵌入式软件实现了软件安全需求, 表10列了所需的测试环境。注意:已有的测试案例, 例如在软件集成测试阶段使用的可以重用。
⒊对于软件安全需求实现的测试需要在目标硬件平台上完成。
⒋软件安全需求验证的结果需要考虑下面这些因素来评估:
●和预期结果一致;
●软件安全需求的覆盖率;
●成功或失败的标准。
(未完待续)
参考文献
[1]IEC61508:Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems[S/OL].http://zh.wikipedia.org/wiki/IEC_61508
[2]ISO26262-1:2011, Road vehicles--Functional safety-Part1:Vocabulary[S]
[3]ISO26262-8:2011, Road vehicles--Functional safety-Part8:Supporting processes[S]
[4]ISO26262-2:2011, Road vehicles--Functional safety-Part2:Management of functional safety[S]
HeNCORS系统功能测试 第8篇
关键词:HeNCORS,可用性,符合精度,初始化,兼容性
0 引言
连续运行参考站系统 (Continuously Operating Reference Stations, CORS) 是集成了卫星定位 (GPS、GLONASS、COM-PASS、GALILEO等) 、通讯、有线及无线网络和气象采集等技术, 是一个不间断地面信息源采集系统, 是坐标框架建设和维持的主要技术手段和基础设施, 不仅服务于测绘领域, 在气象辅助预报、地震监测、规划建设、交通导航管理等领域也发挥着重要的作用。
河南省连续运行参考站系统 (简称HeNCORS) , 在省内共建设56个连续运行参考站, 覆盖整个省域, 平均站间距离61km。通过测试该系统的动态静态定位精度、空间可用性、时间可用性、服务时效性、接收机兼容性等, 客观的评价HN-CORS各种技术指标水平, 总结该系统成功和不足之处。测试设备为7家厂商的10种不同型号的接收机, 共103个等级控制点, 点位均匀分布全省。
1 测试内容
测试内容包括:野外测试、数据分析及结论。从应用实践角度考虑, 测试主要涵盖以下几个方面:
1.1 定位精度:进行动态定位, 分析评定点位的内符合、外符合精度;检查利用CORS联网解算的已知点坐标准确性。
1.2 空间可用性:能够得到RTK固定解的范围。
1.3 时间可用性:固定解条件下, 符合指标的样本占总样本的比例。
1.4 服务时效性:也称初始化时间, 即流动站从浮点解到固定解的时间。
1.5 设备兼容性:不同厂家不同型号的设备在系统中使用的兼容情况。
2 测试方法
2.1 定位精度测试:
动态测试时, 在已知控制点安置好仪器对中整平或用对中杆扶正, 首次固定后采集1次, 然后初始化3次并采集数据, 共4个结果。采样率为1秒, 每次记录30秒的固定解, 结果取平均值;静态时, 在已知点安置好仪器, 连续采集2小时静态数据, 与周围参考站同步解算, 求取点位坐标后与已知坐标进行差值比较。
2.2 空间可用性测试:
设计均匀分布全省的测试点, 通过测试点位的RTK固定解情况界定其可见可用性。在河南省边界配合车载测试 (车速40~120千米/小时, 采样率为1秒) , 将GPS接收机天线固定于车顶, 记录车辆的运行轨迹, 进而分析在省周边是否可用。
2.3 时间可用性测试:
选择5处条件良好的点位, 连续采集24小时RTK固定解, 采样率为5秒。计算各历元定位结果的差值, 以三倍设计精度为限差, 统计限差之内样本数量占总样本数量的比例, ≥95%为合格, <95%为不合格。
2.4 服务时效性测试:
与动态定位精度测试同时进行, 记录接收机从浮点解到固定解的时间 (即初始化时间) , 每个点位4次, 列表统计分析。
2.5 设备兼容性测试:
选取目前市面常用的各类GPS接收机 (徕卡、天宝、拓普康、南方、华测、中海达、苏州一光等厂家的设备) 进行RTK测量, 考查各类设备利用本系统动态定位的情况。
3 数据分析
3.1 定位精度分析
坐标系统采用WGS 84, 大地坐标通过七参数转换获得西安80坐标, 分析其平面精度, 高程精度方面使用大地高精度代替。
3.1.1 动态定位
1) 内符合精度:反映定位的稳定性。
设各观测值与平均值的差值为, 则各观测值的内符合精度为
2) 外符合精度:反映定位的准确性。
设l赞为观测值向量L=[l1, l2, …ln]T的真值, 各观测值相对于真值的改正值, 则外符合精度为
对103个点位取393次差值结果, 点位内符合、外符合精度统计如下:
分别取393次的和, 以平均值为分水岭, x, y方向间隔为0.005m, 内符合H方向间隔为0.010m, 外符合H方向间隔为0.025m, 统计各区间分布图, 如下:
可以看出, 393次独立定位结果的精度分布符合正态分布, 样本质量良好。
3.1.2 静态定位
采用徕卡AS10、天宝R8、南方S86、华测X90、拓普康HIPER、中海达V8共6台双频接收机, 共联测10个已知点。基线处理软件采用GAMIT软件 (Ver.10.35) , 星历采用IGS快速精密星历, 起算点为CORS站点成果, 计算得到的坐标与已知坐标的较差统计如下:
3.2 空间可用性分析
下图分别为RTK固定解条件下的省内测试点位图和省外樊魏高速公路轨迹图, 可以认为能够获得RTK固定解的范围覆盖全省。
3.3 时间可用性分析
测试中以5s采样间隔采集RTK固定解, 连续采集24小时数据。平面限差采用5cm, 大地高限差采用15cm, 测试结果如表3.3。
3.4 服务时效性分析
所有结果均为固定解, 测试过程中, 各型号仪器初始化时间大部分在20秒以内。结果表明, 本系统定位时效性良好, 满足设计指标要求。
3.5 设备兼容性分析
设备兼容性测试包括7个厂家共11种不同型号的设备, 每个点位选择同一厂商不同仪器测试, 表内结果为定位平均值和已知值的差值:
表中所有结果均为固定解, 可以看出, 平面差值、大地高方向差值均在两倍中误差之内, 本系统兼容性良好, 完全满足设计指标要求。
4 结论
本次测试科学地组织国内外主流GPS厂商常用仪器, 测试的内容包括系统的动态静态定位精度、空间可用性、时间可用性、服务时效性、设备兼容性等, 通过对测试数据的分析得出结论:
利用本系统进行动态定位和静态定位, 在平面和高程方向上内、外符合精度均达到设计要求;可获得RTK固定解的范围可覆盖整个河南省, 省边界周围能够也得到固定解, 优于系统设计指标;系统运行稳定, 时间可用性指标高于95%, 达到系统设计指标;初始化时间普遍小于20秒;系统对第三方设备兼容性好, 能够兼容市面常用品牌的接收机。整个测试表明, HeNCORS系统建设是成功的, 所有指标均达到或优于技术设计要求, 可满足用户需求。
参考文献
[1]武军郦.连续运行参考站自动化系统的关键技术[J].测绘通报, 2003 (12) .
[2]隆华平, 胡友健, 曾云.GPS连续运行参考站网络的解的精度及其稳定性研究[J].全球定位系统, 2005 (02) .
[3]刘经南, 刘晖.连续运行卫星定位服务系统:城市空间数据的基础设施[J].武汉大学学报:信息科学版, 2003 (03) .
[4]唐卫明, 楼益栋, 刘晖, 陈日高, 杨秋.GPS连续运行参考站系统定位精度检测方法研究[J].通信学报, 2006 (08) .
功能安全测试 第9篇
1 保护装置的测试范围和必要性
因为现代电网的结构和运行方式越来越复杂, 所以对继电保护产品的可靠性要求越来越高。因此, 每一个继电保护产品在出厂前都必须经过各个环节的严格测试, 并形成详细的测试报告。一般, 常规保护装置的测试范围包括: (1) 绝缘测试。 (2) 各种硬件组件的功能测试, 其中包括数据传输接口、LCD、LED和键盘接口;测量通道的校对;通信接口;其他。 (3) 软件的选择性功能测试, 其中包括启动值的选择;跳闸时间的设定;定值的设定。开发过程包括下面的测试阶段, 其中包括模块测试;综合测试;验收测试。
继电保护产品只有通过了上述各种测试, 才能在现场得到应用。因此, 继电保护的测试是保证继电保护产品质量, 进而保证电网安全运行的必要手段。
2 对继电保护测试的要求
传统的继电保护只具有单一的保护功能, 仅能够设置很少的参数。而现在的微机继电保护能够提供更多更复杂的功能。例如:
(1) 整体的保护系统 (距离保护+定时限过电流保护+接地故障保护+其他) 。
(2) 辅助功能如故障定位、暂态录波、自动投切等。
(3) 控制技术。同时, 最大可能地考虑用户的一些特殊要求, 现在一般的数字保护装置能够灵活地设置各参数。在许多情况下, 这些设备甚至可以处理上千条信息。保护设备功能的不断增加, 使之变得更加复杂, 这就要求更高的品质保证。所以, 保护继电器当配置参数时或各种运行和故障条件下, 在一定的时间内必须要求反馈正确的信息。
从测试过程的不同阶段可看出, 测试的大部分时间都消耗在文档的整理和对测试结果的评估上, 而不是测试本身。因此, 这就需要应用测试系统能够管理测试的过程。
3 系统硬件结构
整个测试装置的硬件由数据处理单元 (DSP) 、D/A、低通滤波、功率放大器、A/D及监控计算机组成。其配置如图1所示。
3.1 采用DS P数据处理单元等技术
由于采用了DSP (TMS320F2812) 数字信号处理技术以及16位的数模转换和32位的数字计算精度, 每周波的输出数据点提高到600点, 暂态响应速度、调频特性和输出精度都得到了提高和改善。测试装置通过并口 (或USB口) 与电脑相连, 利用并口较高的传输速率, 提高了测试装置的响应速度, 同时, 串口可以与被测保护相连, 实现了实时控制和快速测试的同步进行, 以较高的采样速率对7路模拟量输出和8路开关量输入进行采样, 采样值存储在测试装置的存储区。在进行滤波的同时, 数据经接口传回计算机, 在计算机屏幕上实时显示出波形, 可以对高达20次谐波的暂态信号进行回放。
3.2 D/A转换模块
D/A转换模块与DSP的接口电路如图2所示, 图中7路D/A转换片选控制信号经译码器选中、光电隔离后接至各数模转换器的片选信号线。
TMS320F2812的数据总线经总线驱动后和光电隔离后再送入数模转换芯片AD669, 以避免外界可能存在的干扰。转换完成后进行低通滤波处理以去除高频成分的影响。本模块共有7路D/A转换, 对应有7块D/A转换芯片, 转换后分别产生三相电流、三相电压和零序电压信号, 图中只示出了第1路, 即第1块D/A转换芯片, 其片选、控制信号对应为CS、L1、LDAC, 其中CS和L1连接在一起, 均为低电平有效。
3.3 功率放大电路
功率放大电路既可以使仿真系统的数字部分和其后的D/A转换单元工作性能良好, 又可以使系统模型完备精确。它所选用的元件有一般电阻、水泥电阻、高性能运放TL082和N沟道场效应管IR-FP048, 水泥电阻阻值为0.01Ω, 功率为5 W, 最大可承受电流约为23 A。TL082是高性能通用型JFET输入运算放大器, 其基本电气特性为:输入失调电压为3 m V;温度漂移为10μV/℃;偏置电流为5 pA;增益带宽积GB=3 m;转换速度为13 V/μs;电压功率放大电路由输入级、中间推动级和输出放大级三级构成。
4 系统软件设计
4.1 上位机软件设计
如图3所示的软件结构, 上位机通过USB接口和下位机进行通信:一方面上位机将各种控制命令和数据发送给DSP, 另一方面实时接收DSP发送过来的检测数据。Windows独有的多线程处理机制使计算机具备了同时运行几个线程的能力。程序中所有线程运行在同一内存空间, 拥有相同的Windows资源, 故很容易共享内存变量和Windows对象。本系统中, 上位机在主线程中 (即前台) 专门处理消息, 使程序能迅速响应键盘命令和其他事件, 而辅助线程 (即后台) 则完成通信、绘图、打印及磁盘操作等。
4.2 下位机软件设计
下位机软件用C语言编写, DSP通过定时器中断并在中断服务程序中进行数值计算、数据输出。在测试装置中充分发挥了DSP的强大运算能力, 使得每周波 (20 ms) 可以完成7个通道, 每通道360个点的函数计算。主程序框图如图4所示。
5 结语
基于模型驱动的功能测试平台研究 第10篇
由于目前多层结构的应用软件开发过程及其体系结构的特殊性, 使得单纯采用针对函数返回值及简单交互过程的黑盒测试或针对某种特定编程语言的白盒测试方法难以充分、方便的测试多层应用系统。模型驱动测试方法通过对测试过程的抽象化, 分离测试模型和测试执行, 从而能够通过正向或逆向手段建立针对多层应用系统某方面特征的测试模型, 并重用有针对性的测试执行手段。传统黑盒、白盒测试方法与MDT方法并不矛盾, 它们可以被包含到MDT的测试过程中。模型驱动的应用系统测试将成为实现应用测试自动化、提高测试效率的最有前途的技术, OMG (Object Management Group) 组织目前正积极推荐使用这一技术[1,2,3]。
目前, 软件开发的核心已经提前到软件建模阶段, 从而形成了基于模型的软件测试的迫切要求。国内外的很多研究机构正在研究如何将MDT (model-driven test) 方法应用于应用软件测试中, 以期解决许多和测试有关的重要问题, 从而有效提高测试效率, 并有利于测试结果评价。在理想情况下, 利用模型驱动测试技术, 测试人员只需依据需求建立测试模型, 一旦模型测试建立完成, 所有的工作测试将由测试工具自动完成。由于其高效性, 这一技术正成为当前软件工程学术界研究的一个重要方向。虽然支持Web系统的自动化测试工具有很多, 但绝大部分都不是模型驱动的, 因此构建支撑Web应用系统的模型驱动测试平台, 研究测试模型的建立, 实现测试用例自动生成和测试脚本的自动执行具有相当重要的意义[4]。
当前模型驱动的应用测试研究内容主要包括应用测试模型的研究、应用测试用例生成方法的研究、应用的回归测试和基于Agent的Web应用测试研究等。国际上Liu, Kung和Hsia的研究提出一种应用测试模型, 该模型包含对象模型和结构模型两部分, 通过模型中的测试路径进行数据流的测试。该研究是较早的应用测试模型的研究, 借用了很多传统软件测试技术的思想, 但该研究对于软件测试充分性等问题没有很好解决, 并且测试过程也较为繁琐[5]。Ricca和Tonella的研究提出一种表示页面链接的导航模型, 以及一种表示页面控制执行结构的控制流模型。通过路径覆盖准则和分支覆盖准则得到测试用例, 但该测试模型存在测试路径的不确定性和测试复杂性较高等缺点。Andrews, Offutt和Alexander的研究提出利用有限状态机构建测试模型, 从有限状态机表示的的状态转换中得到测试用例。但该方法构建的测试模型较为复杂, 对于规模较大的应用系统并不适用。Di Lucca, Fasolino和Tramontana的研究利用UML类图构建应用的测试模型, 将各种组成元素用UML类图表示, 但该测试模型只能表现应用的静态文本, 还不能很好的表示应用的总体测试信息。Bellettini等采用逆向工程的方法生成CTIVIL类图和状态图模型, 然后通过分析server端的log文件, 得到用户的使用模型, 进而创建相应的Markov模型, 从而生成测试数据。该方法需要大量的用户事先多次使用被测软件, 才能收集到所需要的信息, 因此实现起来成本较高;同时于是最终用户而不是测试人员来使用该软件, 而最终用户通常是使用约束范围内的正向数据, 对于边界数据和非法数据很少考虑, 因此, 从测试的角度看, 该方法所产生的测试数据缺乏针对性。
国内许蕾和徐宝文的研究对现有的应用测试模型进行了改进, 提出了一种新的应用测试模型。该模型包括对象内部模型、交互关系模型和体系结构模型3个层次, 分别对应于测试内容的不同范围和阶段, 即单元测试、交互测试和集成测试。路晓丽、葛玮和郝克刚的研究提出了一种基于非确定Petri网的应用测试模型, 对应用软件中的链接进行形式化描述, 该测试模型主要应用于应用的链接测试和导航测试。姜瑛、辛国茂和单锦辉的研究基于随机法和合约变异相结合的技术, 提出了一种测试数据自动生成方法, 但在测试数据选择的有效性上仍然有待改进。李诺、吴际和金茂忠等的研究提出了一种应用测试模型WANM。该模型扩展了UML, 定义了应用的导航测试模型, 该测试模型能洁晰地描述测试执行轨迹并支持测试用例的半自动化生成。
但是总的来说, 模型驱动的应用测试的相关研究呈现虎头蛇尾、衔接不畅的现状。建立被测系统模型只是MDT方法的一部分, 模型驱动的系统测试的各个阶段都应通过相应的测试模型描述并驱动执行, 并且这些模型应在元模型层次定义, 以实现模型之间的一致性转换与检测。
本文研究预期目标是在基于模型的软件测试和验证技术方面有所突破, 提出面向Web应用系统的模型驱动测试方法相应的设计原型, 基于模型驱动模式开发一套面向图形用户接口的自动化测试平台, 基于该平台完成自动化功能测试的整个流程, 并在典型系统中进行测试, 为研究成果在相关行业市场化大规模推广打下良好基础。
2基于Windows GUI功能测试平台体系结构设计
2.1模型驱动功能测试系统结构
模型驱动功能测试平台关键是针对不同的测试目的, 对被测应用系统的不同层次采用不同模型描述, 允许用户自定义测试元模型, 基于MDT框架根据定义创建测试模型, 同时基于建立的模型自动产生测试用例, 并且使用模型驱动的测试执行工具自动化执行测试, 将测试结果返回到各个模型上。功能测试整个功能架构如图1所示。
无论是对于托管的还是非托管的应用程序, 它都有录制模块、回放模块及其相应的脚本组成。录制模块生成脚本, 而回放模块则根据脚本来运行测试。脚本即可由录制产生, 也可以由直接编写产生, 并且C#语言的功能, 可以在脚本中插入大量的功能逻辑, 这样的脚本语言的交互性是相当好的。
从图1中可以看出, 这三大部分的功能组成如下:
(1) 录制模块。录制模块的任务是记录用户操作应用程序时的有效动作, 并生成测试脚本。为此, 录制模块要能识别应用程序的状态并捕获用户的行为。
(2) 脚本及操作控件的类库。脚本是录制模块产生的输出。脚本中的操作控件的函数的具体实现则来自实现操作控件的类库, 这些类库是以DLL的形式存在的。
(3) 测试运行模块。回放模块的作用的能够自动运行生成的脚本, 执行功能测试。因此, 回放模块要能够将脚本组装成能够通过编译的代码, 并具有屏幕状态捕捉的功能, 以对比测试运行的结果与预期的结果。其中, 脚本及操作控件的类库和测试运行模块合起来就是回放模块。
2.2GUI功能测试平台功能需求
录制/回归测试执行与验证并生成测试报告是大多数现代GUI自动化测试工具采用的模式, 随着现代GUI功能的日益复杂, GUI功能测试工具的功能也日益强大, 一个功能完善的GUI功能测试工具应具备以下几个方面特点:
(1) 录制过程的智能化。录制过程的智能化是指一个良好的GUI功能测试工具应该能够根据用户对测试用例的操作序列的执行, 识别通用的GUI控件对象, 并生成可读性强, 冗余度小的测试脚本。
(2) 功能强大的测试库。一个功能强大的GUI功能测试工具应该具有功能完善的测试库, 测试人员能根据测试库以及测试工具自带的测试语言开发驱动GUI的测试脚本, 并且测试脚本具有重用性以及通用性。
(3) 数据驱动的测试脚本。现代化GUI功能测试, 大多数GUI测试工具没有达到最大程度的自动化, 因为采用传统的捕获/回放技术需要人工捕获测试数据;没有真正使用利用数据驱动测试脚本;没有验证结果报告机制因传统的录制与回放所记录的测试脚本通常被认为是低效的。因而具有生成数据驱动测试脚本的能力能有效地减少测试人员的录制的工作量, 以及使测试更加智能化, 同时测试脚本将更加易于维护。
(4) 强大的测试结果验证功能。 一个功能完善的测试工具能够根据测试人员加入到测试脚本中的验证信息, 自动生成可供测试人员察看的测试报告, 以检查软件执行过程中出现的Bug。
2.3Windows GUI功能测试平台体系结构设计
基于上述分析, 针对Windows GUI应用程序分为托管与非托管两大类, 因此Windows GUI功能测试平台的录制过程应分别对这两在类加已考虑, 才能使测试平台能对传统的Windows应用程序及.NET应用程序进行回归的功能测试。本文设计的Windows GUI功能测试平台的体系结构如下图2所示。
针对以上体系统结构, Windows GUI功能测试平台的工作流程为:测试脚本录制测试脚本编辑执行测试脚本测试报告生成。
GUI功能测试脚本开发平台设计主要分脚本录制模块, 脚本编辑模块与脚本回放与验证模块以及测试报告生成模块。在Windows应用程序中, 在托管与非托管的环境下, 要使用需要回调函数的 DLL 函数。首先必须在文档中查阅该函数, 确定该函数是否需要回调。然后必须在托管应用程序中创建该回调函数。最后调用该 DLL 函数, 并将指向该回调函数的指针当作参数进行传递, 需要实现与操作系统之间消息的交互, 整个系统消息交互处理图如图3所示。
3测试平台的详细设计与实现
3.1录制脚本
基于Windows GUI功能脚本录制过程主要分录制托管与录制非托管GUI应用程序两大类。录制非托管程序主要是利用Windows的消息机制, 并且Windows控件都具有的Active Accessibility特征, 利用这些特征, 通过在非托管应用程序上挂钩事件函数就可以录制下非托管GUI应用程序上的操作。
在操作非托管应用程序的时候, 由于控件的Active Accessibility特性, 程序会向外发出WinEvents, 这是录制用户操作的关键信息。但是对于一些非标准控件, 由于很难知道它在什么情况下会发出什么样的事件, 因此在录制在非标准控件上的操作的时候, 不能依据WinEvents录制。对所有的GUI程序来说, 它所接收的用户输入都是来自鼠标键盘, 因此, 监控用户的鼠标键盘动作也是录制用户操作的一种方式。本文讨论的功能测试工具就是以这两种方式结合起来录制用户的操作的。以WinEvents来录制在标准控件上的操作, 以监控鼠标键盘的方式来录制在非标准控件上的操作。
整个录制在非托管GUI程序上的操作的过程如图4所示:
录制托管应用研究程序主要利用.NET的托管技术, 在录制在托管应用程序上所做的操作时, 充分利用了.NET应用程序的特性。将被测的程序集加载至与录制模块同一应用程序域中, 可以像操作自己编写的程序那样操作被测程序。然后, 利用.NET的事件机制来发现用户的操作, 并记录脚本。录制在托管应用程序上的操作的模块结构如图5所示:
3.2脚本编辑
脚本编辑模块主要完成对录制下的脚本进行修改, 例如删除录制下的无效动作, 同时可根据测试库当中的测试函数对录制下的脚本进行二次开发, 提高测试脚本执行的效率。整个Windows GUI应用程序的脚本编译过程分为动作化脚本与模拟型脚本二种类型。
(1) 动作型脚本。动作型脚本是这一类形式的脚本:类名.操作 ( 参数)
其中, “类名”表示用户操作的是哪一类控件;“操作”表示用户对这一类控件做了什么样的操作;“参数”一般由两部分组成, 前面是用来定位控件的信息, 后面是操作作用在控件上的参数值。
这一类型的脚本要做的事可分为两部分:查找定位控件和引发动作。
要查找定位控件, 首先要明确控件是如何标识的。对于非托管应用程序, 采用控件的ID来作为控件的标识, 因为这个ID在整个窗口中是唯一的;对于托管应用程序, 采用控件的Name属性值来标识控件, 这个值在整个窗口中也是唯一的。这两种控件标识都具有不易变性, 哪怕控件的位置变或某些属性值变了, 这两个标识都不会变。
在引发动作的时候, 对于非托管应用程序, 采用向控件发送消息的形式来引发动作, 例如, 向Button发送BM_CLICK消息来回放点击按钮操作。在向控件发送消息时, 需要的是控件的句柄, 因此, 查找控件要做的就是将控件ID转换为控件的句柄。函数GetDlgItem可以帮助我们做到这一点, 函数GetDlgItem的功能就是由控件ID得到控件的句柄。
在引发动作的时候, 对于托管应用程序, 是通过直接操作对象的形式来做到的。例如, 通过调用Button对象上的函数PerformClick来回放用户点击操作。因此, 查找控件要做的就是由控年的Name得到控件的实例。这可以像在录制时给控件设置事件处理函数那样, 通过递归查找窗口中的控件, 比对控件的类型和Name, 直至找到匹配的。
(2) 模拟型脚本。
模拟型脚本是针对非标准控件的, 通过直接模拟鼠标点击和键盘输入来回放用户的操作[5]。
对于模拟鼠标点击的脚本GUIObjectMouse.Click (x, y) ;
在这个脚本中, 记录的信息有:用户的操作手段Mouse, 所做的操作Click, 能及该操作的参数鼠标的坐标x, y。函数mouse_events可以实现对各种鼠标操作的模拟。
例如, 想要单击鼠标, 可通过以下的代码来实现, 对于模拟键盘输入的脚本Keyboard.Input (“String”) ;
.NET类库中的类SendKeys类。SendKeys类提供将键击发送到应用程序的方法。它不但可以将字母数字发送到应用程序, 还可以将键击和组合键击发送到活动应用程序, 也可以将中文输入发送至应用程序。
在测试脚本中加入验证信息, 用于验证控件某一时刻的状态是否与预期录制的状态相符。验证脚本主要由如下语句组成:如:NtextBox.Equal (“textBox1”, ”Text”, ”abc”) , 通过以上两种类型的脚本, 可以完全记录下用户的有效的操作序列。
3.3脚本回放与脚本验证
脚本回放与验证模块主要完成对编辑好的脚本进行回放操作, 以及在程序回放过程中验证程序在执行过程中的行为是否与预期的行为一致。
整个回放过程是调用C#中的编译器对已编辑好的测试脚本进行编译[6], 然后执行回放操作。基于非托管是通过根据录制下的非托管控件的名称, 然后查找相应控件的句柄, 然后通过向窗口内的指定句柄的控件发送消息来实现。基于非托管非标准控件通过录制下的非托管控件的名称, 查找非标准控件的句柄, GUIObjectMouse.Click (x, y) 执行相应的鼠标操作来实现模拟GUI程序的回放操作。
基于托管下的GUI应用程序, 主要通过录制下的用户操作标准控件的一些常用事件, 然后通过在回放过程中通通控件名称查找相应的控件, 然后调用控件的相应方法实现程序的回放执行。
在程序执行过程中, 通过在待测试AUT (Application Under Test) 的测试用例功能点调用测试库中相应控件的验证函数, 以验证程序在回归测试过程中, 软件的运行行为是否与录制下的状态相一致, 以测试报告的形式记录程序在回归测试过程中的缺陷。
4GUI功能测试平台应用实例分析
这里选取的测试程序是用C++开发的一个集装箱码头操作管理系统, 其所使用的很多控件都是经过二次开发的, 封装了自己独特的功能。因此, 同样是按钮, 但它的类名及其行为都不同于标准控件。如图7所示的非标准的Button, 点击之后, 它会下拉出一个菜单, 选择菜单之后, 选择菜单的内容将会显示在这个Button上。因此, 在录制回放在其上的操作时, 使用模拟鼠标键盘动作的方式。在这个应用中, 也有一些控件是标准的, 如图7所示的ComboBox, 在录制回放其上的操作时, 是依据WinEvents来分析的, 生成的是动作型脚本。
录制时所做的操作为:从图6登录后, 弹出的页面如图7所示。从菜单中选取一个功能项, 弹出一个名为“堆场计划”的MDI子窗口, 再在这个子窗口的工具条中选取一个功能, 然后在弹出的对话框中分别选择进港类型、定位组属性和过滤器, 最后点击确定按钮将一条记录加至表格中。
录制下来的脚本为:
工具对标准控件和非标准控件的处理。图7中所示的ComboBox是一个标准的控件。因此, 依据事件可以发现出户对其做的操作, 生成的是动作型脚本。而对于非标准控件, 如图7中所示的“过滤器”的选择, 这个控件的类不是标准控件类, 而且行为也与标准控件大相径庭。因此, 无法依据事件来发现用户的操作。所以采用记录用户鼠标键盘动作的方式来录制回放。用户在GUI程序上的操作无非都是来自鼠标和键盘的, 因此, 对于非标准控件来说, 采用模拟型的脚本是可以模拟也用户的任何操作的。
如果对被测试的应用具有代码访问的权利, 本工具还可以使用另外一种方式对复杂的、带很多非标准控件的应用进行测试。这里, 之所以要具有对被测应用代码的访问权, 是因为这里要求被测应用要对消息WM_COPATA进行处理。消息WM_COPATA用于向另外一个应用程序传送数据。传送给另外一个应用程序的数据封装在下面的结构中:
其中, 参数dwData和lpData是要传送的数据, cbData是lpData的大小。实际应用中, 可以在dwData传送操作的命令, 而在lpData中传送操作所需的参数以及操作返回的结果。收到数据的应用程序, 在这里就是指被测的应用, 根据传过来的操作命令及操作参数来改变自己的状态, 并将结果放入lpData中的结果域中。从而达到驱动程序运行的目的。
5结束语
本文研究了基于模型驱动的功能测试平台研究方案, 根据其功能特点, 提出了一种自主开发GUI功能测试的思想, 并设计了基于Windows GUI功能测试平台的体系结构, 针对其中录制测试脚本与回放技术进行了深入研究, 给出了Windows GUI功能测试脚本开发平台的详细的设计实现方案, 该工具能实现Windows平台下托管与非托管GUI应用程序的录制与回放操作, 并能对录制下的脚本进行编辑, 回放执行Windows平台下的GUI应用程序。
我们将进一步完善功能测试工具的脚本开发平台, 扩充测试库, 实现基于XML格式的脚本对象格式描述, 扩展工具的Java平台支持性, 以使工具具有平台移植性, 同时扩展验证功能, 使该工具能根据测试执行情况, 生成可供测试人员查看的测试报告。
摘要:研究了基于模型驱动方式自动产生数据用例的功能测试平台, 研究测试模型的建立, 提出了基于WindowsGUI环境下该功能测试的体系结构, 分析了其中的测试脚本开发平台, 设计并实现了一种基于模型驱动的功能测试的动作捕获与回放技术的原型工具, 该工具能生成测试脚本, 并能通过运行录制下的测试脚本动态回归测试基于图形用户接口程序, 实际应用系统的测试效果验证了该工具的有效性。
关键词:模型驱动,图形用户接口,自动化测试平台,功能测试
参考文献
[1]Kim, Y.G., Hong, H.S., Cho, S.M., Bae, D.H., Cha, S.D.Test cases generation from UML state diagrams.IEEE Soft-ware, 1999, 146 (4) :187~192
[2]Anneliese von Mayrhauser, Robert France, Michael Scheetz, and Eric Dahlman, Generating Test-Cases from an Object-Oriented Model with an Artifical Intelligence Planning System, IEEE TRANSACTIONS ON RELIABILITY, 2000, 49 (1) :
[3]Matthias Riebisch, Ilka Philippow, Marco Go¨tze:UML-Based Statistical Test Case Generation.In:Proceedings Main Conf., TranSIT, 2002.392~407
[4]Marlon E.Vieira, Marcio S.Dias, Debra J.Richardson, OO specification-based testing using statechart diagram, ICSE2000-Worksho Pon Automated Program Analysis, Testing, and Verification-June, 2000, Limerick, Ireland
[5]Briand, L.C, Labiche, Y.:A UML-Based Approach to System Testing.UML2001, Toronto, Canada, 1-5October2001.
[6]Falk Fraikin, Thomas Leonhardt, SeDiTec-Testing based on Sequence Diagram, Proc.IEEE CASE02, Edingburg, September2002.
功能安全测试 第11篇
[关键词] 输出假说 注意功能 大学英语四级测试
一、引言
加拿大语言学家Swain于1985年提出了可理解性输出假说,该假说阐述了输出在第二语言习得中的重要作用。基于该假说,Swain详细阐述了输出的三种功能,即“引起注意功能”、“假设检验功能”和“元语言功能”(Swain 1995)。在本文中,笔者主要研究输出的注意功能。
二、输出的注意功能
输出的注意功能是指输出能够引起学习者对语言形式的注意,从而促进学习者对目标语的习得。Schimit & Frota在“注意差距”原则中指出,“如果目标语的某种语言形式出现在可理解的输入中,并且只有当这种形式被有意识地引起注意时,语言学习者才能习得这种形式” (Schimit & Frota1986)。目标语学习者在进行有声或无声的表达时,他们会注意到,他们试图表达的与能够表达的之间存在差距,这种差距促使他们意识到自己所不知道的目标语知识和自身语言存在的问题。
学习者在注意到问题之后会怎么做呢?他们是否会进入目标语学习的认知过程呢?Swain & Lapkin对此进行了实验研究,检验“(1)输出是否能引起他们注意自己的语言问题,(2)这种注意能否激活有助于目标语习得的认知过程”(Swain & Lapkin1995)。实验受试是法语沉浸式教学项目8年级的学生,他们的任务是要为一份报纸写一篇关于环境问题的文章,在写作过程中,受试要说出自己的想法。Swain & Lapkin根据有声思维材料获得受试内在认知过程的信息。这些有声思维材料表明,有的受试注意到了自己的语言问题,并试图去解决它们,这验证了第一个假设。Swain & Lapkin还发现,对语言问题的注意激活了受试目标语习得的认知过程。因此,输出不仅使学习者注意到他们在习得目标语过程中存在的问题,而且还激活了有助于目标语习得的内在认知过程,从而促进目标语的习得。
三、大学英语四级测试
大学英语四级测试诞生于1987年9月,是我国语言测试的重要形式。语言测试主要是检查学习者已储存在长期记忆中的语言信息。检索记忆信息的方式有两种:一种是“识别”,一种是“回忆”(Gleitman 1981)。据此,心理学上将测试的类型也分为两种:识别测试和回忆测试。识别测试考查受试对信息的识别,识别测试的形式为多项选择题和判断对错题等;回忆测试的要求高,它考查的是学习者的产出能力。回忆测试多采取填空、简短回答问题、翻译、写作等形式。基于这一理论,笔者对我国大学英语四级测试中回忆测试和识别测试所占比重进行分析:
第一部分:写作(回忆测试)占15%;第二部分:快速阅读理解,其中是非判断题(识别测试)占7%,完成句子(回忆测试)占3%;第三部分:听力理解,其中短对话、长对话和短文理解(识别测试)占25%,复合式听写(回忆测试)占10%;第四部分:阅读理解(识别测试)占35%;第五部分:完型填空(识别测试)占10%;第六部分:句子翻译(回忆测试)占5%。通过上述数据可以看出,在目前的全国大学英语四级考试中,强调输出能力的回忆测试所占比重过少,只有33%。而识别测试比重超过一半,这种测试形式使学习者养成了在学习英语时只停留在对语法、词汇等语言知识的识别、理解的层次上,而不注重提高自己运用语言知识生成语言的能力。根据输出的注意功能我们知道,学生只有在输出过程中才能意识到自己在语言学习中存在的问题,进而把注意力转向他们所需要学习的目标语知识方面。可喜的是,四级网考增加了强调输出能力的回忆测试,如听力部分增加了单词、词组听写,写总结评论的新形式,这些回忆测试强调输出能力,有助于学生对语言形式的习得,对我国大学英语教学也将产生积极的反拨作用。
四、结语
语言测试为教学提供教学目标,并检查学生在何种程度上达到教学目标。如果测试中识别测试比重过大,而强调输出能力的回忆测试比重很小,即使学生得了高分,也不能反映出他们习得目标语的真实水平。新的四级测试注意到这一问题,对测试类型进行合理调整,强调学生的语言输出能力,有助于学生习得目标语语言形式。这也提示我们教师在平时的小测、期中和期末考试中应增加回忆测试的比重,在授课时不要把大部分时间都用在对学生进行语言输入上,而应留给学生更多的时间和空间进行语言输出。
参考文献:
[1]Gleitman, H.Psychology[M]. New York: Norton, 1981.144.
[2]Schmidt, R., & Frota, S. Developing Basic Conversational Ability in a Second Language: a Case-study of an Adult Learner of Portuguese [A]. In R. Daly (eds.), Talking to Learn: Conversation in Second Language Acquisition[C]. Rowley: Newbury House, 1986.311.
[3]Swain, M. Three Functions of Output in Second Language Learning[A].In G. Cook&B. Seidlhofer (eds.), Principle and Practice in Applied Linguistics [C]. Oxford: Oxford University Press, 1995.128.
用数控系统测试功能快速诊断故障 第12篇
1.故障现象
机床加工一工件型腔底面时出现明显的阶梯状, 同时工件表面质量较差。
2.分析处理
在排除了程序、刀具、装夹、操作因素后, 怀疑机床本身存在问题。利用FIDIA数控系统提供的TEST功能中的ERCI测试 (ERCI测试是圆度测试, 能在XY、ZX或者YZ平面内自动地执行一个包含G02的圆弧程序, 数控系统将记录机床的实际运动轨迹, 并生成一个跟随误差曲线图) , 采用同样的测试参数 (测试圆弧半径R=100mm, 进给速度F=1000mm/min) , 分别对Y、Z轴和X、Y轴进行测试。测试后图形如图1和图2。
分析和比较图1和图2, 发现X、Y两轴测试结果正常 (虽然数控系统与驱动已经升级改造, 但传动部件由于使用年限较长, 存在一定磨损。因此实际曲线与理论曲线有一定偏差, 但尚属正常使用范围之内) , 因此可排除X、Y两轴的问题。而Y、Z两轴测试图形偏差较大, 最大偏差达到0.19mm, 已超出了正常范围, 怀疑机床Z轴位置控制存在问题。因此决定对Z轴做简单的重复定位精度测试, 方法如下:
在工作台面上放置一标准块, 将磁力表座吸附在主轴头上, 向下移动Z轴, 让百分表表针适量压上标准块表面。转动表圈, 使百分表大表盘指针对到零位刻线, 同时将当前机床Z轴位置坐标设为零点。移开标准块, 继续向下移动Z轴100mm左右, 后反向将Z轴移至零点。再将标准块放置原位, 百分表读数让表0.5mm左右, 过几秒, 又能回到零位刻线, 但屏幕上Z轴坐标值不变, 且数控系统也没有任何报警。如此反复测试几次, 发现读数有时能回到零位刻线, 有时则让表0.5mm左右。因此确定Z轴位置控制环存在问题。
交换Y和Z轴伺服驱动控制板, 重做以上测试, 故障现象一样, 因此排除伺服驱动控制板的问题。检查反馈电缆、接头及屏蔽接地情况, 未发现破损和松动, 故将排查的重点转向读数头和光栅尺。拆下读数头, 检查发现用于读数头滑动的3个滚轮损坏影响了读数头滑动的流畅程度, 从而影响输出信号质量和光栅尺精度。换上同型号的滚轮, 重新安装好读数头, 再做重复定位测试以及ERCI测试, 结果均正常 (图3) 。后通过切削测试, 工件加工质量恢复正常, 故障排除。
功能安全测试范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


