浅谈实验室自动测试软件的管理

2010-04-10 13:00李健一刘冬冬
化学分析计量 2010年4期
关键词:自动测试开发人员实验室

李健一 刘冬冬

(中国人民解放军92493部队89分队,葫芦岛 125000)

随着计算机技术的不断发展,越来越多的自动测试软件被应用在实验室检测/校准过程中。自动测试软件凭借其始终如一的高准确度、低人为干预、在短时间内可以进行多次测量等优势,免去了仪器设置、数据读取、各种计算、合格判定、记录生成等多项人为操作,大大提高了检测/校准工作的效率,受到各检测/校准实验室的青睐。但自动测试软件的编写是否严格符合相应的检定规程,各测试仪器、设备的相关设置是否达到最佳,测量结果是否准确有效等问题,已成为制约自动测试软件应用推广的瓶颈。因此,如何加强自动测试软件的质量管理,提高自动测试软件的可靠性就成为确保检测/校准工作质量的一个重要课题。

1 实验室自动测试软件存在的问题

从检测/校准的工作量考虑,各检测/校准实验室所使用的自动测试软件均属于小型项目,因此综合考虑软件的质量、实用性、经费、人员等方面的因素,各检测/校准实验室多采用自己开发的自动测试软件。实验室人员所学专业一般为仪器、测试类,很少有计算机专业人员。因此大多是计量人员通过自学软件编程技术,担负起开发自动测试软件的工作。开发人员一般仅学习软件编程,对软件项目管理、软件测试、代码书写规则等知识了解很少,致使所开发的自动测试软件不规范、不系统、不完备,容易导致一些不可预知的错误出现,从而降低软件的可靠性,而且在实际工作中,软件开发一般由1~2人开发完成,全面负责软件设计、代码编写、测试、文档编写、维护等工作,不能全面发现软件存在的问题,在软件开发完成后缺少科学严谨的验证机制,不能确保自动测试软件的科学可靠。综上所述,导致了目前各检测/校准实验室所开发使用的自动测试软件普遍存在着以下几个方面的问题[1]:

(1)软件开发人员对校准工作过程或检定规程(校准规范)了解不充分,造成软件设计存在先天性错误。

(2)掌握软件开发工具不熟练,编写的程序中存在错误。

(3)软件文档不清晰、不完备,代码维护和修改困难,软件的可维护性低。

(4)缺少科学的软件验证评审机制,不能确保自动测试软件科学可靠。

(5)软件的重用性低。

2 加强实验室自动测试软件管理的具体措施

2.1 加强实验室人员的培训

自动测试软件可以取代很多的人为工作,提高工作效率,但软件的质量最终还是依靠人来决定。

首先,要加强软件开发人员手动检定操作的培训。软件开发人员要熟悉检定规程(校准规范),能熟练地完成整个手动检定过程。只有熟练掌握手动测试步骤,才能开发出准确、严格符合检定规程的自动测试软件;其次,要加强软件编程语言和编写规范的培训。软件开发人员要熟悉所用开发工具的特点,并且能够熟练地使用开发工具进行编程,软件开发人员还要进一步提高软件编写的规范程度,不断完善软件的可维护性、可重用性,便于日后的维护管理。

2.2 制定软件开发规范[2]

对不同的编码人员,软件编码风格差异较大。要想顺利地将不同开发人员开发的测试模块整合到一起,实现自动测试软件的整体功能,就要求开发人员在进行软件编码时要严格统一标准,也就是软件编码规范的一致性。如使用变量命名规则一致;表达式和语句的选择一致;程序代码清晰、简单和无歧义;采用一致性的编程习惯用法,便于程序代码的交流;在编写代码时,对必要的语句加上简单、意思清楚的注释等[3]。只有通过统一这些细小的编码问题,才能使程序代码保持良好的书写规范,减少程序中错误的出现,便于阅读与理解,方便日后的维护管理和升级工作。

2.3 实现测试软件的全系统全寿命管理

要开发出一套科学、准确、实用的自动测试软件,对软件进行全系统全寿命管理是必不可少的,它能显著提高软件的质量,确保上一阶段产生的缺陷不会进入下一阶段,从而大大减少因纠正软件缺陷而造成的返工,提高软件开发的效率和质量。对自动测试软件的全寿命管理可划分为立项论证、方案设计、程序编制、验收评审、使用维护5个阶段。

(1)立项论证阶段

开发小组根据检测/校准工作的实际需求,提出立项申请。申请提出后,实验室技术负责人应根据立项报告对该自动测试软件的可行性及成本、效益评估作出判断,以决定该项目是否可以立项,把好软件管理的第一关。

(2)方案设计阶段

方案设计阶段是软件开发成功的关键,软件设计方案存在的问题、缺陷将在开发过程中不断放大,后期将耗费大量时间来弥补这些错误,甚至造成软件重复设计,因此对设计的方案要进行严格的论证。根据开发小组提供的方案设计报告,分析判断设计思路是否清晰完备、校准过程的设计是否严格符合相应检定规程(校准规范)的要求、校准过程中的不确定度计算、合格判定等算法是否正确、软件功能设计是否齐全、是否留有和其它程序链接的接口、界面设计是否友好等。

(3)程序编制阶段

软件设计方案通过评审后,进入程序编制阶段。在程序编制过程中,当程序员编写出每一模块后,程序员要用白盒测试的方法对模块进行测试,计量人员用黑盒测试方法测试模块功能的正确性[4]。各模块编制完成后,按照自顶向下结合的方式,逐渐将所有模块按设计要求组合成所需的程序,即进行集成测试,经过集成测试无误后进入验收评审阶段。

(4)验收评审阶段

验收评审阶段是在自动测试软件投入使用前,对编码、文档、软件的最终评审,是软件质量保证的关键步骤。验收测试必须有计量人员参与测试方案的制定、测试、测试结果评估等过程。对软件进行验收评审的内容应包含功能测试、原始数据采集与处理的正确性验证、数据的安全性验证、结果报告的正确性验证、容错性测试、规程相符性检查、手动/自动校准数据比较、适用范围验证等。

(5)使用维护阶段

已交付的自动测试软件一旦正式投入使用便进入维护阶段,软件在使用过程中需要不断诊断、修改,包括纠错性维护、适应性维护、完善性维护。计量人员要收集软件使用过程中存在的缺陷,并填写维护申请,经实验室技术负责人批准后,由程序员对软件进行维护。一旦对软件进行了修改,就必须进行测试和验收评审,否则有可能引入新的错误,影响软件质量。修改完成后,验收测试工作由计量人员、程序员共同完成。通过验收测试后,修改版方可投入实际使用并归档。

2.4 提高测试软件的可重用性

虽然不同的自动测试软件应用范围不同,但从功能模块、数据结构、实现技术、设计思路等方面具有很大的相似性,这就使得软件重用成为可能。与开发新软件相比,软件重用能够大大提高软件的质量和开发效率。据惠普(HP)公司研究表明,新开发的软件错误率为每千行源程序代码4.1个错误,而重用软件的错误率为每千行源程序代码0.9个错误。在软件开发效率方面,30%~50%的重用可以提高25%~40%的生产效率。检测/校准实验室应建立自动测试软件集中管理制度,由专人保管每个自动测试软件的源代码和各种文档,方便软件的重用。如需新开发自动测试软件可先行研究已有的软件,利用现有成熟的程序或模块,提高软件的质量和开发效率。

3 结论

检测/校准过程自动化是一个必然的趋势。在检测/校准自动化进程中,进一步加强实验室自动测试软件的管理,增强自动测试软件的可靠性、可维护性和可重用性,会给实验室的工作效率带来显著的提升。笔者结合本实验室自动测试软件管理情况,针对各检测/校准实验室自动测试软件在开发、使用、维护等阶段存在的问题,提出了具体的解决措施,希望能对广大同行起到参考借鉴的作用。

[1] 王长明.浅析自动校准软件的测试[M].计测技术,2007,27(2):31-32.

[2] 程鹏,徐袭,杨志红,等.军用软件项目开发与管理方法研究,科研管理,2003(3):118-119.

[3] 张海藩.软件工程导论[M].北京:清华大学出版社,1998.

[4] 史济民.软件工程原理、方法与应用[M].北京:高等教育出版社,2001.

猜你喜欢
自动测试开发人员实验室
Semtech发布LoRa Basics 以加速物联网应用
电竞实验室
电竞实验室
电竞实验室
电竞实验室
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
后悔了?教你隐藏开发人员选项
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计
一种卫星低频接口自动测试系统