软件调试心得(共7篇)
软件调试心得 篇1
单片机软件开发过程中, 软件调试遇到的各种问题常令初学者感到不知所措。实际上, 各种仿真开发软件的程序调试基本方法和技巧大同小异, 掌握正确的程序调试基本技巧, 对于排查这些程序错误问题可以起到举一反三、事半功倍的效果。软件调试是单片机技术人员必须掌握的重要基本技能。下面以单片机常用开发软件Keil为例, 通过一个项目任务实例来介绍单片机软件仿真与调试的方法。
二、Keil仿真与调试
点击运行软件Keil u Vision2, 其调试操作步骤大体可以分为5步:
1. 创建工程
在项目开发中, 并不是仅有一个用户源程序就够了, 还要为这个项目选择CPU型号、设置编译和调试参数, 有一些项目还会有多个文件组成。因此将这些参数设置和所需要的所有文件统称为一个工程, 存放于专门的工程文件夹下。这里先建立一个工程文件夹如F:exam。
(1) 创建新工程。鼠标左键单击主菜单Project->New Project, 弹出“Create New Project”对话框, 用鼠标选择你要保存工程的文件夹 (如F:exam) , 输入新工程名 (如“exam”) , 单击“保存”按键。
(2) 在随后弹出的CPU型号设置对话框中选择单片机的型号 (如“AT89C51”) , 单击“确定”完成。
2. 建立源程序文件并加入工程
(1) 鼠标左键单击菜单“File->New新建文件。弹出图1窗口, 自动进入编辑工作模式。
(2) 在文本窗口中输入和编辑用户的源程序。
【项目任务】设计一种花样彩灯程序, 实现单片机P1口驱动相连的8个发光二极管依次循环点亮。
(3) 单击菜单“File->Save as”弹出文件保存对话框, 选择工程文件夹 (“F:exam”) , 输入源程序文件名 (如“exam.asm”) , 点击“保存”按钮。注意汇编源程序的扩展名必须为*.asm, C51源程序扩展名必须为*.c。
(4) 将源程序加入工程。用鼠标点击图标“Target1”前的“+”号, 展开后右键单击Source Group弹出快捷菜单, 点击“Add File to Group‘Source Group 1’”项弹出源程序加入工程对话框, 选择刚保存的用户源程序exam.asm, 点击ADD按钮加入工程, 点击Close关闭对话框。
3. 工程参数设置
用鼠标左键单击主菜单Project->Options for Target'Target1弹出工程参数设置对话框。关于工程参数设置的内容很多, 篇幅所限, 这里仅介绍通常需要设置的三个参数:
(1) 设置CPU型号。前面已经进行了设置。
(2) 在设置对话框的“Target”标签下“Xtal (Mhz) ”处输入单片机的晶振 (如“12”) 如图2。
(3) 在设置对话框的“Output”标签下, 选中“Create HEX file”项。用以编译生成可执行的机器码hex文件, 如图3所示。该hex文件可以通过编程器写入或下载到单片机中运行。
4. 编译源文件
鼠标左键单击主菜单Project->Built target或快捷按钮编译文件。
若有语法错误, 输出窗口将有相应提示信息。双击提示信息行, 光标会停留在源程序出错处, 如图4所示, 经检查发现:本程序第3条DJNZ指令被错误输入成了DJNA。用户可根据提示修改源程序, 然后再次编译。注意, Keil具有语法检查功能, 源程序中正确的指令关键词将变颜色, 没变色的为输入错误, 方便用户查找语法错误。
若编译后输出信息窗口显示“0 Errors (s) , 0Warning (s) ”, 则说明源程序的语法错误已经全部排除。注意:有Errors不能Debug, 也不产生HEX码, 有Warning是允许的, 可以运行。
5. 调试程序
源程序编译通过, 表明语法正确, 却并不能保证该程序能够正确运行, 还需要对其逻辑功能进行调试。Keil软件具有很强的软件仿真功能。
鼠标左击主菜单Debug->StartStop Debug Session子菜单或调试/编辑模式切换按钮, 进入调试程序工作模式, 软件窗口如图5所示。重复点击该按钮可以实现在编辑模式和调试模式之间进行切换。
调试程序时的程序运行控制按钮从左到右依次为复位、连续运行, 暂停、单步、过程单步、执行完当前子程序、运行到光标当前行。复位按钮模拟芯片的复位, 它将使程序回到最开头处执行。当程序处于停止状态时复位才有效, 程序处于运行状态时停止按钮才有效。
(1) 为了方便观察程序调试过程中各变量和RAM单元的中间结果, 点击主菜单View->Watch&Call Stack Window和View->Memory Window打开观察变量窗口和存储器窗口进行显示。由于本例还要观察P1口的输出变化, 可以点击主菜单Peripherals->I/O-Ports->Port 1打开I/O口P1的观察窗口。
(2) 程序调试。
程序可以单步执行或连续执行。连续执行是指一条指令执行完后接着连续立即执行下一条, 中间不停止。这样程序执行的速度很快, 可以看到程序执行的总体效果, 即最终结果是正确或错误。但如果程序有错, 则难以确认具体出错地方。例如本例中点击连续运行按钮后, P1口输出01H后便始终保持不变, 这显然与花样彩灯程序的循环显示要求不符, 程序运行出错, 如图6所示。
单步执行指每执行完一条指令后即停止, 等待命令执行下一行程序, 此时可以观察该条指令执行后得到的实际结果, 对比分析是否与预期结果一致, 借此可以找到程序中的错误原因所在。这种方式的缺点是需要时间长, 排查错误效率很低, 尤其当程序很大时。
因此, 对于用户确认没有错误的程序段可以采用连续运行, 对怀疑出错或容易出错的地方则单步执行, 对比排查错误, 这样调试的效率将会高一些。
本例通过单步执行, 发现程序运行过程中循环变量R3的值总在250和249之间变化, 而且R1、R2、R7均始终无变化, 如图7所示。对比程序分析, 发现出现了死循环, 原因在于第1条“DJNZ R3, DEL2”的转移目的地址为DEL2, 应该改为DEL3。
回到编辑状态, 修改为“DJNZ R3, DEL3”, 编译后再次进入调试工作模式时, 发现故障已经排除。此时P1口的输出仅1位高电平, 且依次向左循环移位, R1、R2、R3、R7正常递减变化。如图8所示。
(3) 断点设置
程序调试时, 一些程序行必须满足一定的条件才能被执行到 (如程序中某变量达到一定的值、按键被按下、有中断产生等) , 这些条件往往是异步发生或难以预先设定的, 这类问题采用单步执行的方法是很难调试的, 这时可使用另一种重要的调试方法—断点设置。可以使用Debug->Insert/Remove Break Point设置或移除断点。
断点设置的方法有多种, 常用的是在某一程序行设置断点, 设置好断点后可以连续运行程序, 一旦执行到该程序即停止, 可在此观察有关变量值, 对比分析程序预期理想值, 以确定问题所在。
三、结束语
软件调试心得 篇2
摘 要:光电伺服控制软件作为光电稳定平台的重要组成之一,如何进行有效调试是工程技 术人员越来越关注的问题。针对光电伺服控制软件的特点,分析了其在调试过程中存在的用传统 调试方法难以解决的问题。基于这些问题,提出了一种专门针对此种软件调试的顶层方案,论述 了调试工具的功能需求和设计的关键问题,采用模块化编程思想,构建了调试工具的顶层框架。
关键词:光电伺服控制软件;调试工具;框架设计
中图分类号:TP311.56 文献标识码:A 文章编号:1673-5048(2014)01-0057-04
TheTopFrameworkDesignandApplicationofDebugging ToolforOptoElectronicServoControlSoftware
LIAOHongbo,ZHUWenliang,WANGYonghong,FANDapeng
(NationalUniversityofDefenseTechnology,Changsha410073,China)
Abstract:Optoelectronicservocontrolsoftware(OESCS)isanimportantcomponentoftheopto electronicstabilizedplatform,engineerspaymoreandmoreattentiontothedebuggingproblem.Thispa perstartsfromtheanalysisofthecharacteristicsofOESCS,theproblemsofOESCSdebuggingprocess whichisdifficulttosolvebyusingtraditionalmethodarestated.Accordingtotheseproblems,thespecial isticdebuggingtoolforOESCSisdesigned.Thefunctiondemandanddesignessentialsarediscussed,and thetopframeworkofdebuggingtoolisconstructedusingthemodularprogrammingidea.
Keywords:optoelectronicservocontrolsoftware;debuggingtool;frameworkdesign
0 引 言
光电稳定平台的目的在于隔离载体扰动,实 现光电探测器视轴稳定和精确瞄准等功能。光电 伺服控制系统作为平台的核心组成之一,它的实 现直接关系到光电稳定平台是否能够正常工 作[1-2]。随着计算机技术的发展,数字伺服控制系 统越来越多地应用于光电伺服控制中。相对于模 拟控制而言,数字控制的硬件结构简单,容易标准化,具有很高的噪声容限,可通过软件实现更为复 杂的控制律[3-5]。数字伺服控制系统是通过软件编 程的方法实现各种控制算法和各项控制功能,从 而形成一套针对目标对象的伺服控制软件,但此 软件从研制开发到形成产品,需要经过反复的调 试、测试和验证过程,需要花费工程技术人员大量 的时间和精力,还不一定取得比较好的效果。因此 为了把工程技术人员从繁重的程序调试工作中解 放出来,同时实现对软件各项功能的测试,需要开 发一种针对此种软件的专用调试工具。
本文从分析光电伺服控制软件调试过程中存 在的问题角度出发,提出解决问题的方案,即设计 一种服务于此种软件调试工作的调试工具。通过对调试工具的功能需求和设计关键问题分析,构 建其顶层结构框架,为调试工具的具体实现提供 软件框架设计方面的依据。
1 光电伺服控制软件调试中的问题分析
1.1 软件特点分析
光电伺服控制系统中的电流环回路,由模拟 控制器实现;位置预定回路、速度控制回路、陀螺 稳定控制回路和跟踪控制回路都由数字控制器实 现。目前,在数字控制器的设计过程中,dSPACE 半实物仿真系统由于实时性、控制器设计和验证 快速性等优异性能,在光电伺服控制系统开发中 得到越来越广泛的应用,已成为光电伺服控制系 统中各控制回路控制器设计和验证必不可少的工 具。然而,光电伺服系统各控制回路的实现是以 DSP(TMS320F2812)主控芯片为硬件基础,在集成 开发环境(CCS)中基于C语言的编程实现的,并 通过调试-修改-调试的过程,形成一套完整的 为光电稳定平台伺服控制服务的软件系统,如图1 所示。
图1中,各控制回路控制器设计和验证是在 dSPACE半实物仿真系统中完成,以各回路控制器 为基础的光电伺服控制各项功能的实现是在DSP 中编程实现的。虽然光电伺服系统所需功能根据 任务需求有所不同,但它们通常都包括以下几个 主要功能:稳像功能,隔离载体扰动对图像的影 响;位置锁定功能,根据控制指令,使平台视轴指 向预定的角度位置;搜索功能,根据控制指令,在 惯性空间内按照设定方式和范围运动并搜索目标; 跟踪功能,让平台自动跟踪目标运动,实现对目标的定位和瞄准;上电自检和故障诊断功能,检测各 传感器工作是否正常,实现对平台信息的初始化, 初步实现对平台常见故障的自诊断;通信功能,实 现平台与上位机或者其他信息节点之间的数据交 换。为了降低编程的复杂性,增加程序的通用性, 采用模块化的编程思想[1-2],依据各功能需求,对 软件结构进行模块化划分,如图2所示。
1.2 软件调试过程中存在的问题
通过对光电伺服控制软件特点的分析发现, 在光电伺服控制软件的调试过程中存在以下几个 方面亟待解决的问题:
(1)在软件调试过程中,为了检测各传感器 的信号是否正常,需要在不中断程序运行的情况 下对传感器信号进行实时监测。同样,光电伺服控 制系统由于多任务需求,存在多功能工作模式,面 临在不同工作模式之间进行切换的问题,需要在 线修改DSP软件程序中的指定变量,用传统的调 试手段难以得到圆满解决;endprint
(2)光电伺服控制系统的调试是在工厂或者 实验室环境下完成的,而实际使用环境较调试环 境复杂很多,也更为恶劣,需要在调试环境下建立 一套模拟外部工作环境的硬软件系统对光电伺服 控制系统进行测试,故存在与外部硬软件环境之 间进行实时数据交换的问题。
由于光电伺服控制软件调试过程中存在的问 题有很强的专业性,用传统的软件调试方法很难 得到圆满解决,故本文提出了设计一种针对此软 件的调试工具的设想,以弥补其调试过程中存在 的不足。
2 调试工具顶层框架设计
2.1 功能需求分析
调试工具的功能需求是通过被调试软件的任务 需求确定的,作为一种专用于光电伺服控制软件调试工作的工具,它应满足以下三个方面的功能:
(1)各回路控制器性能验证功能。包括位置 预定回路、陀螺稳定回路和跟踪回路的控制性能 测试和验证;
(2)各种传感器信号和控制指令信号实时显 示功能。传感器信号包括位置传感器、测速传感 器、陀螺和图像跟踪器等,控制指令包括光电伺服 控制系统测试中常用的不同频率和幅值的正弦和 方波信号;
(3)辅助功能。包括系统自检、被调试软件的 故障监测与诊断、数据信息保存、陀螺漂移修正等。
同样按照模块化编程的思想,对上述每个功 能进行细化,构建调试工具软件顶层框架,如图3 所示。由于光电稳定平台多采用两轴结构,故调试 工具的每种调试功能需要实现对两轴的独立调试 和协同调试,在定义各轴变量时应该把不同的轴 单独定义。调试工具作为一个开放的软件系统,当 被调试软件有新的功能需要调试时,只需在已有 的软件框架下加入新的调试功能模块即可。
2.2 关键问题分析
目前,大多数光电伺服控制软件是在以DSP 为基础的硬件上实现的,DSP的软件开发与调试 是在CCS集成开发环境中完成,而调试工具往往 是基于另一种软件开发与调试环境,这两种硬软 件环境之间的实时数据交换是实现各项调试功能 的基础,如图4所示。
在调试工具的设计过程中,一方面,由于光电 伺服控制系统的伺服周期一般选择在1ms左右, 每完成一个伺服周期,系统的各种状态信息更新 一次。为了能够实时观测伺服控制系统各种状态 信息的变化,调试工具与光电伺服控制软件之间 的数据交换频率不能太低,小于或者等于伺服周 期为最优。另一方面,调试工具与光电伺服控制软 件之间进行数据交换时有可能包含几种数据信息, 这要求两者之间进行一次数据交换的信息容量足 够大。
3 实例应用
基于Matlab软件环境下编写的某光电伺服控 制软件调试工具采用了上面提出的框架设计思想, 调试工具的界面如图5所示。
调试工具界面主要由数据显示、控制命令发 送、曲线绘制以及操作控制按钮组成。按照调试工 具顶层框架设计的思想,数据显示主要实现了各 个传感器数据信息实时显示功能。控制命令发送 主要实现了电机使能、运动轴选择、各个控制回路 模式切换和激励信号参数设置的功能。曲线绘制 主要实现了当前所需要观测的传感器信息和激励 信号的实时绘图功能。操作控制按钮实现了界面 的运行、暂停和停止功能。
调试工具与光电伺服控制软件之间的实时数 据交换是通过4个RTDX通道完成的,一个RTDX 通道一次可以交换的数据为1012个字符类型的数 据,而完成数据交换的时间不受限制,因此保证了 数据交换的实时性和信息量大的要求。
4 结 论
本文针对光电伺服控制软件调试过程中难以 用现有调试手段解决的问题,提出了设计一种光电伺服控制软件专用调试工具的设想。通过对光 电伺服控制软件特点分析、调试工具的功能需求 和设计中关键问题的分析,采用模块化编程思想, 构建了调试工具软件顶层框架。实例应用表明:顶 层框架的设计为调试工具的具体实现提供了技术 指导。
参考文献:
[1]高新烨.光电搜跟系统控制软件的模块化设计[D].长 沙:国防科学技术大学,2011.
[2]李杰.光电侦察平台软硬件模块化设计[D].长沙:国防科学技术大学,2010.
[3]朱华征,范大鹏,马东玺,等.基于双DSP的导引头数 字控制系统设计[J].光电工程,2009,36(6).
[4]马东玺,范大鹏,张连超.数字伺服控制系统软件模块 化设计[J].兵工自动化,2005,24(2).
[5]文顺安.一种飞行控制数字信号处理系统设计[J].航 空兵器,2006(6).
[6]张文山,刘增明.基于DSP/BIOS的空空导弹飞控软件 仿真[J].航空兵器,2007(3).
[7]钱东海,余小鹏.嵌入式运动控制系统中软件的设计 [J].制造业自动化,2007,29(9).endprint
(2)光电伺服控制系统的调试是在工厂或者 实验室环境下完成的,而实际使用环境较调试环 境复杂很多,也更为恶劣,需要在调试环境下建立 一套模拟外部工作环境的硬软件系统对光电伺服 控制系统进行测试,故存在与外部硬软件环境之 间进行实时数据交换的问题。
由于光电伺服控制软件调试过程中存在的问 题有很强的专业性,用传统的软件调试方法很难 得到圆满解决,故本文提出了设计一种针对此软 件的调试工具的设想,以弥补其调试过程中存在 的不足。
2 调试工具顶层框架设计
2.1 功能需求分析
调试工具的功能需求是通过被调试软件的任务 需求确定的,作为一种专用于光电伺服控制软件调试工作的工具,它应满足以下三个方面的功能:
(1)各回路控制器性能验证功能。包括位置 预定回路、陀螺稳定回路和跟踪回路的控制性能 测试和验证;
(2)各种传感器信号和控制指令信号实时显 示功能。传感器信号包括位置传感器、测速传感 器、陀螺和图像跟踪器等,控制指令包括光电伺服 控制系统测试中常用的不同频率和幅值的正弦和 方波信号;
(3)辅助功能。包括系统自检、被调试软件的 故障监测与诊断、数据信息保存、陀螺漂移修正等。
同样按照模块化编程的思想,对上述每个功 能进行细化,构建调试工具软件顶层框架,如图3 所示。由于光电稳定平台多采用两轴结构,故调试 工具的每种调试功能需要实现对两轴的独立调试 和协同调试,在定义各轴变量时应该把不同的轴 单独定义。调试工具作为一个开放的软件系统,当 被调试软件有新的功能需要调试时,只需在已有 的软件框架下加入新的调试功能模块即可。
2.2 关键问题分析
目前,大多数光电伺服控制软件是在以DSP 为基础的硬件上实现的,DSP的软件开发与调试 是在CCS集成开发环境中完成,而调试工具往往 是基于另一种软件开发与调试环境,这两种硬软 件环境之间的实时数据交换是实现各项调试功能 的基础,如图4所示。
在调试工具的设计过程中,一方面,由于光电 伺服控制系统的伺服周期一般选择在1ms左右, 每完成一个伺服周期,系统的各种状态信息更新 一次。为了能够实时观测伺服控制系统各种状态 信息的变化,调试工具与光电伺服控制软件之间 的数据交换频率不能太低,小于或者等于伺服周 期为最优。另一方面,调试工具与光电伺服控制软 件之间进行数据交换时有可能包含几种数据信息, 这要求两者之间进行一次数据交换的信息容量足 够大。
3 实例应用
基于Matlab软件环境下编写的某光电伺服控 制软件调试工具采用了上面提出的框架设计思想, 调试工具的界面如图5所示。
调试工具界面主要由数据显示、控制命令发 送、曲线绘制以及操作控制按钮组成。按照调试工 具顶层框架设计的思想,数据显示主要实现了各 个传感器数据信息实时显示功能。控制命令发送 主要实现了电机使能、运动轴选择、各个控制回路 模式切换和激励信号参数设置的功能。曲线绘制 主要实现了当前所需要观测的传感器信息和激励 信号的实时绘图功能。操作控制按钮实现了界面 的运行、暂停和停止功能。
调试工具与光电伺服控制软件之间的实时数 据交换是通过4个RTDX通道完成的,一个RTDX 通道一次可以交换的数据为1012个字符类型的数 据,而完成数据交换的时间不受限制,因此保证了 数据交换的实时性和信息量大的要求。
4 结 论
本文针对光电伺服控制软件调试过程中难以 用现有调试手段解决的问题,提出了设计一种光电伺服控制软件专用调试工具的设想。通过对光 电伺服控制软件特点分析、调试工具的功能需求 和设计中关键问题的分析,采用模块化编程思想, 构建了调试工具软件顶层框架。实例应用表明:顶 层框架的设计为调试工具的具体实现提供了技术 指导。
参考文献:
[1]高新烨.光电搜跟系统控制软件的模块化设计[D].长 沙:国防科学技术大学,2011.
[2]李杰.光电侦察平台软硬件模块化设计[D].长沙:国防科学技术大学,2010.
[3]朱华征,范大鹏,马东玺,等.基于双DSP的导引头数 字控制系统设计[J].光电工程,2009,36(6).
[4]马东玺,范大鹏,张连超.数字伺服控制系统软件模块 化设计[J].兵工自动化,2005,24(2).
[5]文顺安.一种飞行控制数字信号处理系统设计[J].航 空兵器,2006(6).
[6]张文山,刘增明.基于DSP/BIOS的空空导弹飞控软件 仿真[J].航空兵器,2007(3).
[7]钱东海,余小鹏.嵌入式运动控制系统中软件的设计 [J].制造业自动化,2007,29(9).endprint
(2)光电伺服控制系统的调试是在工厂或者 实验室环境下完成的,而实际使用环境较调试环 境复杂很多,也更为恶劣,需要在调试环境下建立 一套模拟外部工作环境的硬软件系统对光电伺服 控制系统进行测试,故存在与外部硬软件环境之 间进行实时数据交换的问题。
由于光电伺服控制软件调试过程中存在的问 题有很强的专业性,用传统的软件调试方法很难 得到圆满解决,故本文提出了设计一种针对此软 件的调试工具的设想,以弥补其调试过程中存在 的不足。
2 调试工具顶层框架设计
2.1 功能需求分析
调试工具的功能需求是通过被调试软件的任务 需求确定的,作为一种专用于光电伺服控制软件调试工作的工具,它应满足以下三个方面的功能:
(1)各回路控制器性能验证功能。包括位置 预定回路、陀螺稳定回路和跟踪回路的控制性能 测试和验证;
(2)各种传感器信号和控制指令信号实时显 示功能。传感器信号包括位置传感器、测速传感 器、陀螺和图像跟踪器等,控制指令包括光电伺服 控制系统测试中常用的不同频率和幅值的正弦和 方波信号;
(3)辅助功能。包括系统自检、被调试软件的 故障监测与诊断、数据信息保存、陀螺漂移修正等。
同样按照模块化编程的思想,对上述每个功 能进行细化,构建调试工具软件顶层框架,如图3 所示。由于光电稳定平台多采用两轴结构,故调试 工具的每种调试功能需要实现对两轴的独立调试 和协同调试,在定义各轴变量时应该把不同的轴 单独定义。调试工具作为一个开放的软件系统,当 被调试软件有新的功能需要调试时,只需在已有 的软件框架下加入新的调试功能模块即可。
2.2 关键问题分析
目前,大多数光电伺服控制软件是在以DSP 为基础的硬件上实现的,DSP的软件开发与调试 是在CCS集成开发环境中完成,而调试工具往往 是基于另一种软件开发与调试环境,这两种硬软 件环境之间的实时数据交换是实现各项调试功能 的基础,如图4所示。
在调试工具的设计过程中,一方面,由于光电 伺服控制系统的伺服周期一般选择在1ms左右, 每完成一个伺服周期,系统的各种状态信息更新 一次。为了能够实时观测伺服控制系统各种状态 信息的变化,调试工具与光电伺服控制软件之间 的数据交换频率不能太低,小于或者等于伺服周 期为最优。另一方面,调试工具与光电伺服控制软 件之间进行数据交换时有可能包含几种数据信息, 这要求两者之间进行一次数据交换的信息容量足 够大。
3 实例应用
基于Matlab软件环境下编写的某光电伺服控 制软件调试工具采用了上面提出的框架设计思想, 调试工具的界面如图5所示。
调试工具界面主要由数据显示、控制命令发 送、曲线绘制以及操作控制按钮组成。按照调试工 具顶层框架设计的思想,数据显示主要实现了各 个传感器数据信息实时显示功能。控制命令发送 主要实现了电机使能、运动轴选择、各个控制回路 模式切换和激励信号参数设置的功能。曲线绘制 主要实现了当前所需要观测的传感器信息和激励 信号的实时绘图功能。操作控制按钮实现了界面 的运行、暂停和停止功能。
调试工具与光电伺服控制软件之间的实时数 据交换是通过4个RTDX通道完成的,一个RTDX 通道一次可以交换的数据为1012个字符类型的数 据,而完成数据交换的时间不受限制,因此保证了 数据交换的实时性和信息量大的要求。
4 结 论
本文针对光电伺服控制软件调试过程中难以 用现有调试手段解决的问题,提出了设计一种光电伺服控制软件专用调试工具的设想。通过对光 电伺服控制软件特点分析、调试工具的功能需求 和设计中关键问题的分析,采用模块化编程思想, 构建了调试工具软件顶层框架。实例应用表明:顶 层框架的设计为调试工具的具体实现提供了技术 指导。
参考文献:
[1]高新烨.光电搜跟系统控制软件的模块化设计[D].长 沙:国防科学技术大学,2011.
[2]李杰.光电侦察平台软硬件模块化设计[D].长沙:国防科学技术大学,2010.
[3]朱华征,范大鹏,马东玺,等.基于双DSP的导引头数 字控制系统设计[J].光电工程,2009,36(6).
[4]马东玺,范大鹏,张连超.数字伺服控制系统软件模块 化设计[J].兵工自动化,2005,24(2).
[5]文顺安.一种飞行控制数字信号处理系统设计[J].航 空兵器,2006(6).
[6]张文山,刘增明.基于DSP/BIOS的空空导弹飞控软件 仿真[J].航空兵器,2007(3).
学生心理调试心得体会 篇3
这次培训是以“如何当好处长”为主题来安排的一系列讲座。其中,“领导者的心理素质与心理调适”一讲,对我的启发很大。戚教授从心理学的角度入手,深入浅出地讲述了在现代社会中,我们应如何学会面对压力,应如何不断提高自身的心理素质,增强心理调适能力以适应深刻变革与飞速发展的现代社会。听了以后受益非浅,心中豁然开朗,思想境界有了一定的提高。
回想起在去学习之前,当时司里通知要我参加这次培训班,我感到很突然,因为一开始是要求现职的处级干部,没有要求非领导职务的同志参加。自己的工作很忙,有很多的事情等待处理。真的没有时间脱产学习4天。实属硬着头皮,
很不情愿地来到了培训班。看了培训材料后还想,这都是针对现任处长的,应该让他们来学习,我听了也用不上。没想到一堂课听下来就再也不这样想了。产生了极大的兴趣,我如饥似渴地听完了这4天的课程。得到了很大的收获,学到了不少新知识,深感自己的不足。认识到再不加强学习,就不能适应现代社会的要求了。过去认为,能一心一意干好自己的本职工作就是个称职的好同志。我对自己也是这样要求的。通过学习认识到,仅仅如此是不够的,我虽然没有担任领导职务,但在处里我是个老同志,各方面都要给年轻同志做出表率。要尽力协助处长和副处长做好处里的工作。要加强团队意识,增强团队凝聚力。在集体中起到黏合剂的作用。除了要干好本职工作,对于处里的其他工作也要在自己力所能及的范围内出谋划策积极参与。
我有幸参加了第三期处级干部培训班,通过四天紧张的学习培训,获得了意想不到的收获。想谈点感受和建议:
参加这种形式的培训班,对于我来说是第一次,很难得也很新鲜,同时感到很有必要。由于平时工作忙,没有时间静下心来学习,提高自身素质。用新的知识武装自己,进行知识更新。像这样集中几天时间,围绕一个专题进行讲座、讨论的形式很有效。通过学习,开阔了眼界,感到了自己的不足,思考了很多平时根本没有时间思考的问题。
这次培训是以“如何当好处长”为主题来安排的一系列讲座。其中,“领导者的心理素质与心理调适”一讲,对我的启发很大。戚教授从心理学的角度入手,深入浅出地讲述了在现代社会中,我们应如何学会面对压力,应如何不断提高自身的心理素质,增强心理调适能力以适应深刻变革与飞速发展的现代社会。听了以后受益非浅,心中豁然开朗,思想境界有了一定的提高。
回想起在去学习之前,当时司里通知要我参加这次培训班,我感到很突然,因为一开始是要求现职的处级干部,没有要求非领导职务的同志参加。自己的工作很忙,有很多的事情等待处理。真的没有时间脱产学习4天。实属硬着头皮,
心理健康与心理学习调试心得体会 篇4
动与知识产权》心得体会
在这次单位组织的公需课程学习中,我选择了《专业技术人员心理健康与调适》及《创新驱动与知识产权》,这两本教材单看名字已经激起了我浓厚的学习兴趣。我参加工作20余年,深知健康教育尤其是心理健康教育的重要性。人的成长除了要有良好的身体素质,更要有健康健全的心理。只有心理强大了人才能够做到无所畏惧,工作学习中才能做到专心致志、有所建树。
这本书集科学性和实用性为一体,系统介绍心理健康与心理调适的专业知识,就专业技术人员如何了解和维护自己的心理健康,保持良好的精神状态投入工作和生活,积极预防心理疾病提供了一系列理论、策略和方法。它对当前我国公职人员的改革将产生重大而深远的影响。书中高屋建瓴,视角广阔,从社会发展、文化进步的高度来看待公职人员的心理问题。通过本次学习和培训,使我更加明确了心理健康教育的重要性,掌握心理调适的基本方法,提高自身的心理健康水平;自觉树立正确的价值观,学会与公积金用户平等相处,建立新
1型的关系,做公积金用户的朋友;调整心态,适应现实。与时俱进,不断更新价值观念,坦诚开放,正视自己,承认自身的不足与缺陷。接纳他人,以诚待人,建立良好的人际关系能使教师保持健康的身心。人的一生三分之一的时间都在工作中度过,那么健康的心理,积极乐观的心态是必不可少的。可是我们在工作中总是会遇到这样那样的问题或是压力,科学有效地调适自己的心理,让自己更加轻松、投入的工作显得尤为重要了。
通过学习《创新驱动与知识产权》,我学到了创新驱动发展战略是以实现科学发展、增强国家核心竞争力为目标,着眼于经济社会发展的全局,以科技创新为中心所做出的全面战略部署。而知识产权战略是国家为了实施创新驱动发展战略,从知识产权的创造、管理、保护和利用等方面做出的一系列配套政策和制度安排。
知识产权是指对智力劳动成果依法所享有的占有、使用、处分和收益的权利。知识产权是一种无形财产,它与房屋、汽车等有形财产一样,都受到国家法律的保护。知识产权可分为两大类:一类是工业产权,包括专利权(发明专利、实用新型专利和工业品外观设计);商标权(商业商标、服务商标和制造
商标)。工业产权是个广义的概念,它不仅包括工商业本身而且还包括农业、采掘业以及交通运输业等。另一类是著作权,亦称版权,主要包括作者对文学、艺术、音乐、摄影、电影、电视、计算机软件等方面的专有权,以及由此派生出来的邻接权。保护知识产权的法律主要是国内立法(专利法、商标法和著作权法),也有国际条约。
随着社会的发展和进步,心理健康已经成为现代健康概念中一个不可缺少的部分,一个人只有处于全面健康状态,才能维持身心平衡的协调稳定,消除各种精神压力,更好地适应现代社会,幸福、快乐工作和生活。
两本书看完意犹未尽,给人心灵的启示颇多,也为我的工作与生活做了一次全新的营养补给。快乐生活、快乐工作其实一直住在我们心里,不曾远离。
软件调试心得 篇5
智能建筑产业是随着信息产业的发展而诞生,且迅速发展起来的。现代建筑物的电气发展是经过电气化阶段、自动化阶段和当今的智能化阶段。智能建筑技术的发展非常迅速,它是由电子技术、通讯技术、网络技术、计算机技术、自动控制技术、传感技术及多媒体技术等一系列最先进技术飞速发展的结晶。特别是智能建筑系统工程,它作为弱电系统工程的延伸和发展,综合性强,涉及的专业领域更广,新的弱电系统不断加盟到智能建筑技术领域内。建筑物使用功能现代化的需求和相关技术的不断更新和进步,共同促进智能建筑弱电系统技术的快速发展。随着时代的发展,技术的进步,智能化建筑正逐渐普及并为人们所接受。要想智能建筑系统能够充分发挥作用,必须要将各个系统安装调试到最佳状态,结合我在不同类型的智能建筑系统工程实施中的体会,谈谈我对智能建筑系统安装调试一些看法。
一、仔细审图。明确设计图中设备的位置以及要达到的功能,确认管线的数量和路由。认真阅图是做好质量监控的前提,图纸是施工阶段的前提和依据,只有详细消化图纸,对工程每一系统做到心中有数,才能在安装过程发现问题和纠正错误,做到对工程质量的预控。智能建筑系统工程系统设备先进、管线繁锁。在施工前的每一阶段,都要仔细地审图和校图,特别是对每一份设计修改通知单,都要认真地进行管理,逐一描绘到蓝图上。只有利用这样的修改蓝图,进行工程质量的监控,才能纠正一个又一个错误,保证系统的安全性、正确性和质量的安全可靠性。
二、熟悉规范。智能建筑系统主要有:楼宇自控、火灾报警、综合布线、电磁屏蔽、安保监控、电视电话等。各系统本身设备精密,结构复杂,技术先进,安全可靠,自动化程度高。智能建筑中弱电系统的设备、缆线安全必须依靠电气技术如:电源技术、防雷与接地技术、防谐波技术、抗干扰技术、屏蔽技术、防静电技术、布线技术、等电位技术等众多的电气技术来支持方可奏效。智能建筑系统施工质量规范条框较多,要结合工程实际,逐条对照,不断积累,牢记规范条例。一定要有强烈的事业心和责任感,仔细认真,严格按照工程规范标准进行安装。
三、熟悉系统,熟悉产品性能。不同项目中包含的系统随着产品的不同,也有着千变万化。只有熟悉了系统,熟悉了产品才能将更多的子系统集成到一起,实现最大程度的集中管理,才能更好的做好安装调试工作。在很多智能建筑的中心控制室中放着几台电脑,每台电脑管理着不同的子系统。但从调试的角度来看,每套子系统单独调试方便很多,而且即使一个子系统出了故障不会影响其它系统,但是在多个系统之间联动的情况下,因为没有共享数据,处理问题就没有系统集成在一起时来的及时,直观。比如说,有门禁系统、红外探测系统和摄像系统联动集成在同一台主机上时,当红外探测到有人闯入时,主机的显示屏上直接就显示出红外探测器的平面位置图和摄像机的画面,就不需要同时观看两台主机的了。这样多个子系统集成在一起,不仅减少了系统的硬件开销,同时也给安装测试带来方便。
四、理论与实践相结合。智能建筑系统的技术含量还是很高的,需要懂得系统方面的知识和电气方面的知识,要边干边学,在实践中检验自己学到的知识,充实提高。尤其在现在计算机技术广泛应用的时代,还需要学习计算机方面的知识才能够满足智能建筑系统安装调试的要求。所以我个人认为,智能建筑系统技术人员应该具有一定的广泛的知识面,这是个人素质的要求。虽然并不一定要有多方面的知识就一定会能做好智能建筑系统技术,但有着丰富的综合素质的人,一定会对智能建筑系统工作有很大帮助的。如果可以,希望开始和已经从事智能建筑系统行业的人可以多读一些专业的书籍,可以是包括:计算机方面的(计算机应用,网络的使用等)、电路技术方面的(模电、数电方面的技术书籍,可以有效的解决电磁干扰等问题)、建筑规范方面的书籍,另外就还需要多上网浏览一些信息。在对这些书籍的阅读中,我们可能会遇到一个问题,那就是我们由于不是开始就学过这些知识,所以这些书籍对一些人可能就象天书一样的难理解,其实这也不必烦恼,可以多读几次,再结合实际,慢慢你就会理解了,达到学识广博,你会发现这些知识对你日后的智能建筑系统技术工作起着至关重要的作用的。
五、务实细致。智能建筑系统设计有时比设备本身还重要,一个合理的、人性化的设计是一个项目能否成功的关键。例如在智能小区项目中主机的位置如果安装在厅里比较正的位置上,业主往往第一感觉就是要想办法把主机怎么样遮盖住,这样就会给调试和维修造成困难。所以主机的位置应尽量设计安装在业主不会重点装修的地方,例如储藏间或工人房等。如果非要安装在厅里也要装在尽量靠近出入门的地方。材料、设备的质量和性能是工程质量好坏的关键,要始终把材料设备质量的监控贯穿于工程建设的全过程。只有严禁伪劣产品用于工程,才能保证整个智能建筑系统的正常运转。一般智能建筑系统中施工方均不会采购设备原厂商生产的主机机箱,而自己定做机箱。这样就要求对定做的主机机箱作严格的检查,防止机箱的锁或者门做得不好,或者用的铁板不够好,会在实际中造成机箱变形、上不上锁。由于上不上锁,可能会导致机箱内部部件丢失或者在装修时结下很厚的灰尘而影响系统主机的正常工作。工具的配备以及施工时常用部件的采购构成安装质量的又一问题。例如水晶头的施工工具以及水晶头的产品质量可能会造成现场施工大量的人力和物料的浪费,为系统的调试造成很多难以解释的现象,很多情况下可能都是接插件不到位引起的。只有解决好了这些细小的问题,智能建筑系统才能完美,才能是真正意义上的智能。
六、精心调试、测试。在弱电系统中的各相关设备分系统安装调试完毕后,即可对本系统进行安装和系统的初步建立。智能建筑系统在安装和建立后,即可进行系统的调试。调试的步骤一般分为:分调:对各个子系统的调试。总调:在分调完成后进行,进行总控、分控的测试和各子系统的协调动作。在总调的时候我们就要做好充分的准备,模拟系统用的大量数据,并对各项可能发生的情况一并模拟。在总调基本完成后,即全部系统都能协调动作后,再对照设计要求的各子系统功能和集成系统的功能逐项测试,形成测试报告作为系统调试的成果。目前很多智能建筑系统只要在系统上能开通某一种或几种应用,就表示系统合格通过,而不经过测试仪器的现场测试,这是不合理的。测试是智能建筑系统实施过程中一个不可缺少的环节,因为智能建筑系统并不仅仅是为了满足用户目前的应用,因其生命周期长,它需要承载更多的应用和一些不确定因素的影响。因此100%严格的验收测试是更明智的,也是必须的。只有经过大量的测试,一个智能建筑系统才能经的住考验,才能长时间准确的工作,才是完善的。
PT软件在海上平台调试中的应用 篇6
海洋平台和FPSO的设计、建造和调试工程中存在大量文件、合同和技术图纸, 因此实现项目文件的规范化、科学化、合理化和高效化管理, 对提高项目管理水平, 推进项目进展, 避免因文件管理紊乱和失控而导致项目延期甚至失败具有重要意义。
ProjecTools (简称PT) 是国际上一款先进的项目管理软件, 它采用主机——服务器的工作形式, 用户通过英特网登录客户端使用, 其界面美观、操作简单、功能强大, 包括工程管理、文档管理、采办管理、成本管理、质量管理、材料管理、建造管理等模块。在P y r e n e e s项目管理中, 公司首次采用P T软件进行项目文件、合同和技术图纸管理。设计阶段主要是技术图纸的签收、提交、审批、发放和追踪等, 建造和调试阶段主要分别是机械完工检验测试报告 (简称“A”I T R) 和调试检验测试报告 (简称“B”I T R) 的生成、下载、关闭、检索、进度报告、尾项 (Punch List) 的上传和消除。
实践证明PT软件在很大程度上提高了项目管理水平, 特别是它科学、优越、高效和精细化的I T R管理方法和流程, 可以作为规范和标准在今后项目中实施。同时通过观念的转变, 进一步与国际接轨, 增强了国际竞争力。
2、基本流程
PT软件是一种以网络为基础的工程管理软件, 同时是一个可提供实时传递项目中所产生的测量数据和试验结果的平台, 它大体把项目分为V1 (Mechanical c o m p l e t i o n) 机械完工、V 2 (P r e C o m m i s s i o n i n g) 预调试、V 3 (C o m m i s s i o n i n g) 调试和V 4 (F i n a l Commissioning Performance Tests) 海上调试四个阶段, 如图1所示。
2.1机械完工阶段
此阶段包括业主给予建造许可后的组块建造和检验人员的机械完工检查, 在组块建造、检验人员对子系统进行逐个的机械完工状态检查后, 由业主和第三方监督情况下检验人员填写“A”I T R, 当所有的“A”I T R都完成后, 检验人员向业主提交遗留问题 (Punchlist) 清单和机械完工档案, 业主返回“系统、子系统的完工证明”, 从而进入到下一个阶段。
2.2预调试阶段
在第一阶段完成后, 业主会发出“送电许可”和“测试许可”, 这样调试人员可以进行对系统和子系统的预调试, 包括各专业设备的一些基本功能的测试, 然后填写相应的“B”ITR。当所有的“B”ITR都完成后, 调试人员向业主提交Punchlist清单和预调试完工档案, 业主返回“系统、子系统预调试完工证明”, 这样表示预调试阶段可以结束进入到下一个阶段。
2.3调试阶段
在第二阶段完成后, 由调试人员进行系统、子系统的多专业调试工作, 其中包括设备的动载试验。调试人员按照调试程序和调试方案进行单机调试并记录试验数据, 最终提交业主Punchlist清单、系统完工档案, 然后业主返回“系统、子系统调试完工证明”, 并给出“第一次用油许可”, 这样表示调试阶段已经完成, 可以进入下一阶段。
2.4海上调试阶段
在第三阶段完成后, 由调试人员根据调试程序和调试方案进行系统联调的运行测试项, 完成后连同最终的Punchlist清单、系统完工档案交给业主, 业主返回“系统、子系统调试完工证明”和“设备完工证明”, 这样表示最终的调试已完成, 可以把整个模块移交给操作方进行生产了。
3、P T软件在调试中的应用
3.1系统 (system) 、子系统 (subsystem) 的划分
PT软件中最基本单位为Tag No., 由不同编号它可以代表一台设备、一块现场表、一条管线或是一条电缆, 每一个Tag No.对应一个或多个“A”和“B”类的I T R (I n s p e c t i o n a n d T e s t Record) , 每一个ITR均体现为检验和预调试过程中所需填写的表格, 其中“A”ITR由检验人员负责, 显示在MC (Mechanical Completion) 过程中填写检查项和检验数据的完成情况, “B”ITR由调试人员负责, 显示对设备进行预调试过程中填写检查项和试验数据的完成情况。
在项目前期可按照详细设计发出的图纸结合各个专业把平台上的设备分系统和子系统, 这样就细化到每一台设备甚至是每一根管线或电缆, 这就更加便于管理, 其中专业主要分为机械、电气、管线、仪表、结构和通讯等, 系统可按照如油系统、主机系统、锅炉系统、仪表气系统等来分配, 在系统下再分成若干相关的子系统。图2为Pyrenees项目油系统的系统与子系统分类, 以其为例, 把油系统称为0 1系统称为“油系统”, 下面再分-10为第一阶段分离器、-20为测试分离器、-30为第二阶段分离器、-4为第三阶段分离器。这样, 与第一阶段分离器相关的设备、电缆、接线箱、仪表、管线等都归入到01系统下的-10子系统, 依次类推平台上的所有元件都将无一遗漏。
3.2调试中应用PT软件的过程
进入PT软件以后我们目前主要应用到设备管理 (Equipment Manager) 模块、系统完成 (Systems Completion) 模块和遗留问题建立 (C o n s t r u c t i o n Punchlist) 三个模块。设备管理模块主要根据设备清单批量上传或修改所有的ITR, 系统完成模块是管理或关闭完成的ITR, 遗留问题建立模块是上传和修改所有的Punchlist, 具体应用还在下面有所介绍:
1) ITR分配
系统、子系统分好类后, 调试人员给每一个Tag No.分配ITR, 比如机械类的离心泵, Tag No.编号为P-6224, 在预调试过程中需要进行泵的外观检查和泵对中试验, 在PT软件中每个专业都有各自的标准检查和试验ITR, 图3为Pyrenees项目机械专业所用到的部分ITR名称, 这样由调试人员把软件中所需要的两张标准表格M-04B (离心泵) 和M-24B (对中数据表) 分配到P-6224中, 这样在现场调试中就要完成这两张ITR上所有的检查和测试项, 同样电气设备、仪表设备、管线试压吹扫等都有相应的标准表格。在这里运用到Equipment Manager和Systems Completion模块, 把分配好的ITR上传到电脑上。
2) 打印ITR
分配完成后, 从电脑上下载并打印出泵P-6224未填写的“B”ITR分发给调试和业主方。表上列有Tag No.、系统、子系统、模块、子模块、检查项、试验数据记录、Punchlist记录和多方签字这些信息。
3) 关闭ITR
当现场的条件就绪后, 由调试人员组织业主、第三方、检验人员来共同参与设备调试, 在试验过程中根据“B”ITR的项目逐条真实地记录数据, 未完成的项目归入Punchlist栏里, 预调试后由参加调试过程的几方人员开调试总结会, 没有意见后把ITR交给PT输入人员手中把记录数据录入电脑中并填好Punchlist, 这样就能关闭一个I T R了。打印和关闭ITR均运用到Systems Completion模块, 图4为一个关闭的ITR界面, 当一个ITR完成现场工作后, 在Update Status栏里, 完成情况只有0和100%两种, 所以点击“c o m p l e t e”前面出现“1 0 0”表明已经完成, 同时再填入调试的时间和确认人的信息。如果有Punchlist可在下面“Punchlist Raised”栏后面点击来填写。
4) 录入Punchlist
图4填好Punchlist后, 一旦添加或消除Punchlist都可在Construction P u n c h l i s t模块里进行修改。一般Punchlist可分为两类:A为严重影响机械完工的进程;B为严重影响预调试的进程。如果要关闭“A”I T R要求不能有A类Punchlist, 如果要关闭“B”ITR要求不能有B类Punchlist, 原则上当“A”和“B”类I T R都完成时是不应该再有Punchlist的。
5) 生成进度报告
在Systems Completion模块中, 我们可根据需要生成各种要求的进度报告, 从而掌握和监督工程进度。
4、P T软件的优点和缺点
在项目的各个阶段我们可以通过PT软件在不同的地域交流信息共同工作, 其中最突出的特点就是它的时效性, 不会因为信息传递的延误而使项目滞后;由于它可以快速查找出某一设备的位置、厂商资料、基础文件和技术信息等, 项目负责人也可以对比以往的项目信息来寻求更好的解决方案;在工作方面, 它让整个项目的脉络更加清晰, “A”和“B”类的I T R让各个公司的职责分明, 只有完成相应的“A”I T R, 业主给予许可证明才能进行下一步的工作, 这样很大程度上避免了以前的分工模糊现象;打开某一个ITR可以清楚地知道某一台设备甚至是某一专业的所有情况, 如是否已经完成、检查和测试项的数据记录、是否还存在Punchlist等, 同时我们可以随时的生成以模块、专业来划分的进度报告, 这对每一设备的完工状态提供了很方便的跟踪方法;从整体看, 通过ITR的统计可以直接看出每天的工作量、某一模块是否跟上进度、整个项目是否落后等, 不再用人力去实际统计, 可以直接从软件调出数据, 节省了很多的人力, 也为项目经理下一步的工作安排提供了一个基础。
虽然PT软件在项目进行中提供了很多的便利, 但它的数据库的确很庞大, PT人员要逐条地向里面输入, 工作量很大, 而且由于它包含了每一条管线和电缆, 所以生成的I T R也会相应很多, 希望通过Pyrenees项目的试用在以后的项目中总结出更精简的方法来输出与输入。另外由于这个软件是公开而且具有随时可更改的特点, 在应用中有时会发现数据被更改但不知道是由谁更改的, 所以个人认为有必要增加一个日志的功能, 从这里我们可以查出某一个时间由谁更改了哪一个Tag No.或其它信息, 这样便于我们做数据统计并及时更改。
5、小结
吸取国际上先进的经验、逐步走上国际化道路是每一个企业追求的目标。我们把PT软件结合到调试工作中, 虽然是初步的尝试, 但的确让我们有了更大的提升, 特别是由软件生成的I T R, 其中检查项和试验项等已经成为了一个标准化的文件体系, 某一台设备的预调试, 甚至是某一段管线的试压吹扫都能在其中找到相应的流程, 不仅是标准化, PT软件在管理理念等多方面都在工作的同时也很大程度上提高了我们调试队伍的水平。
摘要:概述了PT软件的结构特点、数据库的建立、文档分类以及在海上平台各个阶段的监督管理作用, 着重从调试方面介绍软件在平台上的具体应用。
关键词:PT软件,ITR,调试
参考文献
[1]ProjecTools公司.PT用户手册 (User Manual-Construction Punchlist) .2000.
[2]ProjecTools公司.PT用户手册 (User Manual-Equipment Manager) .2000.
软件测试心得 篇7
软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。
而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。
软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。
以下是就自己的个人工作经历谈一些浅见:
1.标准文档的制定:
1.1.任何一个公司要让自己的产品面市,都要有自己的一 套完整的品质标准,这个标准一定是在符合国标及客户标准的基础上形成的企业标准,系统而全面地描述一款产品的功能、性能、可靠性、健壮性、安规要求等一系列的产品标准,并根据客户特定要求相应调整。
1.2.测试仪器的作业指导书(SOP)及保养说明等。定义仪器 的使用步骤、操作指南和保养细则等。
2.测试资料的归档:
标准媒体文件、测试报告、BUG LIST库(电子类问题、结构类问题、软件类问题:方案自存问题、品证测试问题、生产测试问题、客户反馈问题、终端消费者反馈问题等)、认证测试文档归纳总结(认证公司培训资料、认证过程中出现并改善的问题)、测试工程师经验分享、常见问题解答FAQ等。
3.功能测试:
3.1.这是软件测试工作中最核心和最基本的一项测试,该测试的主要内容是检查软件是否符合需求定义,并通过构造正常的操作来检查的动作是否正确;在这个测试里,正确性是最最重要的软件质量要素。
3.2.功能测试按照可见性可以分为两类:显性功能和隐性功能。
显性功能:指在菜单里可以看得到的功能。隐性功能:指在菜单里看不到的功能。
例如,电话本的显性功能有增加、编辑、删除、拨打等,这些功能可以在电话本的菜单里面看得到,姓名列表排序则属于一个隐性功能,因为在电话本的菜单里没有这样一个子菜单,但它却是一个实实在在的功能。如以下这些隐性功能都测试中都需重点关注: a.电话本上下页切换,是否有遗漏联系人信息? b.是否支持手机内存、SIM卡电话本的同时下载?还是支持从一种介质里下载?
c.断电后再上电,系统设置的时间是否有记忆功能? d.GPS信号正常时,导航地图中时间是否有更新? e.TFT屏在Power off→on, ACC off→on时,屏的角度是否有记忆?
f.模拟导航时,是否有双工功能?后台源声音输出是否正常?
g.路试语音产品外置麦克风使用效果时,考虑车速、风声、车内讲话噪声、汽车底盘/发动机噪声等对麦克风录音效果的影响,软件多线程开启时导致的资源占用/系统繁忙对后台录音系统的影响。(也可从结构方面考虑:外置麦克风型腔开孔的接触面积,是否360度可旋转等来增加录音的路径等。)
h.地图上的POI信息通过后台语音搜索获取不到,解决措施:要求方案商讯飞完善后台语音库。
3.3.在实际的测试过程中,显性功能通过菜单遍历可以很容易地进行无遗漏的测试,但是隐性功能却很容易为我们所忽略!一个有效的解决办法是去检查软件的功能定义列表(Feature List),从这个列表里面找出那些隐性的功能。
3.4.制定测试用例时,要充分考虑各功能模块软件的显性功能和隐性功能。
4.健壮性测试:
橘生淮南则为橘,生于淮北则为枳。是说明橘的健壮性太差。该成语充分说明了我们对产品进行健壮性测试的必要性。4.1.健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。健壮性测试主要包括:电子硬件健壮性(如:遥控距离测试、高低电压适应性测试、插拔电及开关机测试、静电抗扰度测试、热插拔测试)和机械健壮性(如:整机结构设计基准测试、模拟运输测试、常温包装跌落测试)。4.2.这项测试主要是检查软件对异常操作的容错能力,异常操作通常要考虑异常输入操作及异常条件两个方面。例如:测试蓝光媒体播放器时,反复把HDMI连接线拔掉,造成通信异常中断,再接上复合视频(CVBS)信号输出,即由数字信号输出转为模拟信号输出。恢复测试重点考察一下几项:(1)系统能否重新运行;(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件或硬件;(4)若软件出现系统报错,是否有自恢复能力。
4.3.软件的很多功能的实现是有很多隐含的条件的,在健壮性测试中,要检查当这些条件不满足的时候的反应。例如:目前大多数3G智能手机,与各电信运营商形成利益捆绑,每款手机支持特定的电信运营商提供的通信服务,其它运营商提供的服务则被拒之门外。当使用移动SIM卡安装在只支持联通通信服务的3G手机上,关注该手机表现:是否在执行自动更新时重启?还是执行自动更新后提示不支持移动运营通信服务:SIM card not supported, emergency calls only?
例如:在做完常温包装跌落测试后,再测试机芯的读碟能力,读取偏芯碟、面振碟、偏重心碟、刮痕碟、指纹碟等等碟片,与未做跌落测试前读碟能力进行比较。如果读碟能力比以前更差,则考虑改进措施:软件适当增加录轨时间或机芯托盘加固等。
5.矩阵测试
5.1.矩阵测试是使处于一个特定的状态,然后构造一个异步事件,检查当这个异步事件发生时软件的性能。
5.2.根据事件的来源,异步事件分为外部事件和内部事件
两种。
外部事件举例:蓝牙模式下来短信、来电话、各种介质(U盘、iPod、导航卡、收音天线)接入等。如接入导航盒后,导航不运行,看是否会对其它模式的运行产生影响?最近测试的Mazda J53R就是在接入导航盒后,产生系统不稳定,长时间播放蓝牙音乐、iPod曲目等会出现系统报错。
内部事件举例:车载DVD蓝牙自动连接、自动接听、音乐下载流量使用提醒, 手机低电警告、自动关机等。如带在线音乐功能的车载DVD,插上3G dongle时,下载歌曲时是否有流量提醒:该歌曲占用多少容量、目前已用多少流量、还剩余多少流量。
6.UI测试
好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI测试遵循的原则:
6.1.易用原则:如主菜单icon的排列布局:横纵向、环形、椭圆形。
6.2.友好原则:歌曲列表中的drag bar是否太窄,导致不方便拖动?
6.3.求美原则:检查在UI的布局里,各种要素是否能传达一种美感,布局是否合理,色彩是否合谐。
如拖动列表的动态效果、刷新列表的沙漏效果等。6.4.一致性原则:同样的一个功能的UI在不同的情景(scenario)所呈现的方式应该保持一致。
例如:在设置菜单选择DSP模式,退出后在各放音源下检查DSP模式与设置菜单中是否一致;将系统语言改为英语等其它语言,播放界面及菜单等,拼写是否正确,显示是否一致、是否越界等。
6.5.普遍性原则:即遵循约定俗成的规定。蓝牙icon一般遵照蓝牙认证协会
标识,如果自己另外搞一种icon设计,反而弄得不伦不类。
测试用户界面的色彩搭配、整体布局、行距、对齐,样式统一等等。还有就是一些控件是否合理,提示信息和页面信息是否有语法错误等等一系列问题,都应考虑进去。
7.用户体验:
用户体验:一种纯主观在用户使用产品过程中建立起来的感受。对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。例如:
7.1.自然往往和人的本性相关的。微信的摇一摇是个以“自然”为目标的设计。设计“摇一摇”时,目标是和人的“自然”或者说“本能”动作体验做到一致。摇一摇的体验包括:动作:摇动;视觉:屏幕裂开并合上来响应动作; 听觉:有吸引力的声音来响应动作;结果:从屏幕中央滑下的一张名片。整个界面没有菜单和按钮。但几乎没有比它更简单的交互体验了。联想到车载DVD,如果能通过手势识别来实现上、下页菜单的切换也是不错的选择。
7.2.如Mazda J53R平台蓝牙电话本的下载,使用部分手机连接成功后下载时间超过2分钟并提示Time out,且电话本条目数量也不多,约200条,从用户角度来说此时长不合理且不易接受。例如建议软件增加电话本保存在内存中,需要调用时直接从主机菜单内导出即可,这样方便且快捷,而且下载时间快,不需再通过蓝牙传输。7.3.主机主音量不变的情况下,通过切换模式,主观感觉不同模式下声音输出幅度不一致,即不同模式间切换感觉声音忽大忽小,这样就会给用户造成较差的听觉感受。此时我们可通过增益平衡(Gain Balance)来分析各源间的信号输出幅度:
a.将TCD-784碟第2曲1KHz 0dB信号作为标准信号通过Line out输出,再在信号发生器上定标准输出; b.调节信号发生器参数为频率98.1MHz,调制率75KHz,信号强度66dB,比较与CD输出时的幅度差别; c.调节信号发生器参数为频率999KHz,调制率80%,信号强度80dB,比较与CD输出时的幅度差别;
d.转到AUX,将输入设置为1KHz,500MV(-12dB), 比较与CD输出时的幅度差别。
通过不同模式下的输出幅度对比作为理论依据来改善, 如判定标准0+/-3dB。
8.兼容性测试:
主要测试不同介质对于被测设备的表现。包括:硬件兼容性测试(USB、SD、碟片、蓝牙手机等兼容性测试)和软件兼容性测试(音视频、图片、文本格式兼容性测试)。
如何在有限的成本和资源考虑下,针对此软件产品规划出适当的兼容性测试,是所有软件测试技术人员关注的重点。8.1.评估软件应用环境,有针对性的制定测试计划。做多少设备投资?投入多少人力?要测试多少兼容性测试完全会影响到软件产品的最终成本。想要专心和投资在研发上,又想要节省成本的做好兼容性测试,只有评估软件应用环境,有针对性的制定兼容性测试计划,才能兼顾成本和产品的兼容性质量。
8.2.在多种平台/应用环境上测试一个软件产品的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已,更重要的是能在用户环境中可靠的运行。因此,软件程序编写工作的完成,其实只是完成了开发任务中的一半,对软件进行模拟用户环境进行兼容性测试其重要性不亚于对程序本身的开发。因此在不同平台、不同版本软件上做对比测试很有必要。
9.性能测试
性能测试通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。
9.1.测试通道延迟和极性(Channel Delay and Polarity),播放通道激励信号bd_8ch_delaypol_21,使用AP2700 扫描到的曲线图(如下),以此观察通道的延迟和极性是否符合要求。
9.2.音视频同步(A/V Synchronize),播放标准AV测试信号,使用AV同步测试仪接受信号,测试仪的另一端连接PC。如Dolby Digital Plus判定标准:视频先于音频10ms或视频后于音频15ms,为可接受范围。
10.临界测试
临界测试,就是指数据在保存、删除、传送、发送时或者这些动作即将发生时,考察软件对外部干扰事件的处理情况。如文本文件容量大于或等于设计容量,关注读取时的表现;蓝牙通话/蓝牙音乐关注传输距离临界值附近的测试结果;蓝牙连接成功立即断开再连接等。如MTK平台的某些机型在即将删除一条短信息时收到一条新信息,但删除的却不是刚刚选定的那条信息,而是刚刚收到的这条新信息!
11.可靠性测试
11.1.可靠性是指在一定的环境下、在给定的时间里,软件不发生故障的概率。
11.2.可靠性本来是硬件领域的术语,比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。
例如:高温工作试验:常温下将产品置于恒温恒湿试验箱中,按实际装车的状态连接输入设备,负载设备,电源,使样机为POWER OFF状态,逐步升温到+70℃,保持2小时后,使样机为POWER ON标准工作状态,分别设置为AM、FM电台收音/DVD、CD、SD卡播放/蓝牙/导航等工作模式下工作,若无电台则接收AM/FM信号发生器输出标准信号,音量开关置1W输出功率位置,试验中经常确认样机工作是否正常。样品工作72小时后,外观、功能应正常;试验后在常温下放置2小时以上,电性能指标测试应正常。
11.3.软件在运行过程中不会发生像硬件那样的物理变化,但是并不代表软件现在运行是正确的,那它一辈子运行也是正确的,说不定哪一天它就不正常了。软件中司空见惯的“内存泄漏”与”误差积累“等问题不是一时半会儿就能测试出来的,需要一个较长时间的观察。例如:做完高温试验导致Flash坏块、或丢代码等,此时需要软件对该模块代码做双备份处理。
11.4.时隐时现的问题一般都属于可靠性问题,纠错的成本非常高。当工程师十万火急地感到问题现场时,问题消失了;等工程师离开后,问题又出现了,仿佛敌进我退一般!此种低概率现象一定要录好Trace和Video。
12.黑盒测试模型
输入黑盒输出制约条件期望结果 12.1.黑盒测试不需要去关注软件的整体架构及其编码细则,只需要通过构造一些合理的输入(操作),来观察被测设备的实际结果或现象(输出),从而判定是否存在问题,需求文档是黑盒测试的主要依据。
12.2.在一个功能的实现过程中,可能存在这一些隐含的制约条件,它们影响着期望结果或者是输出。
“牛吃的是草,挤出的是奶”,这个命题有一个制约条件,鲁迅先生虽然没有说明,但我们应该明白,这里是特指母牛,你就是把公牛捏死了也挤不出奶来!12.3.问题就是输出跟期望结果的差距,需要注意的是,当立场不同时,对问题的定性也可能不一样,开发人员站在研发的角度说这不是问题,测试人员站在质量的角度说这是问题。
13.实用的黑盒技术
13.1.输入的构造通常会采用穷举的思想,可是穷举的空间如果非常大,那将使人十分的沮丧,还不如回家象张恒一样数星星,说不定还能数出个天文学家来。有两种手段可以有效地缩小穷举空间:等价划分和边界值分析。13.2.等价划分:等价区间的概念可以这样表述,设(A,B)是命题f(x)的一个等价区间,在(A,B)中任意取值x1进行测试:
如果f(x1)错误,那么f(x)在整个区间(A,B)上都将出错;
如果f(x1)正确,那么f(x)在整个区间(A,B)上都将正确。
等价划分思想的关键是找到一个合适的标准去划分等价区间!
新中国成立不久,有一位外国记者问周恩来总理:总理先生,请问你们中国有几个厕所?意思是新中国一穷二白,除了厕所多一点之外没有什么别的财富。周恩来回答说:记者先生,我们中国只有两个厕所,一个是男厕所,另一个是女厕所。这是周恩来总理等价划分的高超艺术。
13.3.边界值分析,“缺陷遗漏在角落里,聚集在边界上”,边界值分析是对等价划分的一种有效补充。
14.测试计划
制定一个完整、规范的测试计划对每一个测试管理人员来说是非常重要的!测试计划应该至少包括如下之内容: 14.1.概述(Overview): 文档通常都是以概述开头的,测试计划在概述里应该要写明该测试是做什么的,把测试的范围定下来,要测什么,不测什么。
14.2.测试目标(Test Goals)和发布标准(Release Criteria)一般说来,测试计划以定要写明测试的最终目标(Test Goals),必须使自己和别人明白为什么必须做这个测试,该测试需要达到的目的是什么。
【软件调试心得】推荐阅读:
xs128pwm调试心得07-08
心理健康与心理学习调试心得体会08-29
单片机课设调试过程与心得07-27
调试技巧07-19
电厂调试07-21
虚拟调试10-16
空调调试05-16
调试环境07-09
信号调试07-30
数控调试08-01