FPGA软件测试模型及过程管理研究

(整期优先)网络出版时间:2023-11-08
/ 2

FPGA软件测试模型及过程管理研究

徐勇

江南机电设计研究所     贵州省贵阳市      550009

摘要:FPGA(现场可编程门阵列)的应用非常广泛,但是在应用的过程中也存在着一些问题和不足,比如说没有将FPGA软件纳入测试过程,由此种设计的不足导致的修改测试,对相关产品的研发产生了一定的不利影响。在这种情况下,结合当前FPGA的测试现状进行研究,在考FPGA设计特点的基础上,针对FPGA设计中的软件测试模型和过程管理进行了分析,结合自己的工作经验,提出了一套专门满足FPGA设计要求的测试模型,以及与之对应的过程管理体系,包括测试项目跟踪与管理等方面。通过研究,希望能够对FPGA软件开发及测试管理工作提供一些帮助和启示。

关键词:FPGA;测试模型;过程管理

FPGA的特点非常明显,包括高密度、低功耗、高速等,这决定了其在工业领域的应用范围非常广泛,包括航空、航天和通信等行业在内,FPGA都是非常重要的研发工具。之所以其应用如此广泛,是因为通过FPGA器件可以将电路板级的产品集成为芯片级产品,不仅可以显著降低产品的功耗,对提高产品的科技含量和智能化水平也具有非常重要的作用。但是,在FPGA设计中也存在一些问题,比如说设计输入代码与最终硬件电路之间的一致性,导致硬件实现差异,进而引发大量的设计修改等,这些可能会影响设计工作的顺利进行,也会导致设计和研发成本上升。这与缺乏科学的测试模型和测试过程管理措施密切相关,在这种情况下有必要针对测试模型和过程管理进行细致的分析与探讨。

1FPGA软件测试模型分析

1.1软件测试模型概述

针对软件测试的过程,为了提高测试的效果,不同的学者在不同的阶段提出了不同的测试模型,这些测试模型的出现,对提高软件测试的能力和效果起到了非常重要的作用。比如说PaulRook在上世纪八十年代提出了V模型,这种软件测试模型可以显著提高软件开发的效率和效果。通过测试可以较好的反映出测试活动与分析设计活动之间的关系,可以描述基本的开发过程测试行为,并且可以满足多种类型的测试需要,客观准确的描述了测试阶段和开发过程各阶段之间的对应关系。但是,V模型在应用于FPGA软件测试的时候却存在着明显的不足。第一,V测试模型的测试执行是在编码实现以后进行的,这种情况下从需求到设计等阶段存在的缺陷只能在验收测试的时候才能被发现,一旦发现存在缺陷急需要从头进行设计,导致设计效率较低、设计成本相对较高。第二,应用的过程中需要将开发和测试划分为固定边界的不同阶段,设计人员无法在设计阶段验证设计的效果和正确与否,也无法跨过边界进行验证。

1.2适合FPGA软件测试的模型分析

V模型在FPGA软件测试中的问题相对比较多,在这种情况下需要找到或者设计一个更加适合FPGA软件测试需要的模型。在这一过程中,根据FPGA设计的流程及系统特点,以及当前一些学者的论述和分析,可以按照SystemeEvolutif公司的W模型,设计一个适合FPGA软件测试模型。该模型是在V模型的基础上进行设计的,实际上是由两个V重叠形成的,其中的一个V表示的是设计过程,另外一个表示的是测试过程。在设计上,将设计过程与测试过程中的活动对应起来,设计开发过程中的各阶段的设计成果都可以进行测试,这样在设计阶段就可以发现存在的设计缺陷,不需要反复进行重新设计。按照W模型进行的FPGA软件测试,本质上是对其各个开发阶段的设计内容或者交付产品的一种验证和测试活动,以此为基础实现需求评审、概要设计评审、详细设计评,并且可以满足对应软硬件的协同设计要求,也可以满足系统集成测试等测试活动。这种模式解决了传统FPGA软件测试效率低下、比较被动等一系列问题。测试不在局限于代码测试的狭小范围之内,在整个FPGA设计周期内,都可以根据设计成果进行测试,并获得各个阶段的测试文档,根据测试的结果可以更加客观、及时发现设计中的潜在问题并进行修正,从而实现FPGA设计与软件测试的同步进行。

2.FPGA软件测试过程管理分析

2.1测试项目跟踪与管理

2.1.1需求分析

在需求分析的时候,需要根据委托方的要求构建软件测试文档,测试需求包括显性需求和隐性需求。显性需求比较好理解和把握,只要进行充分的沟通,就可以准确融入到设计方案中。但是,隐性需求把握难度比较大,由于很多客户专业知识不足,无法用准确的、专业的语言描述自己的需求,但是又隐含在自己的需求之中,这种情况下需要双方进行系统深入的探讨,直到完全理解客户的需求,并且融入到设计方案中形成最终的测试文档。测试文档既是委托方与测试方之间的桥梁,也是测试方进行测试的基本依据。

2.1.2测试策划

测试策划也是FPGA软件测试的一个非常重要的环节,在这一环节之中测试方需要根据测试需求估测测试工作量,包括具体的测试内容、方法、时间,明确分析测试中可能存在的风险,并对风险对测试结果可能产生的影响进行评估,在此基础上完成计划制定、计划评审、计划跟踪、计划变更控制等活动。测试策划阶段完成以后,测试方需要制作具体的测试计划文档,详细向委托方说明测试策划的内容及方法等。

2.1.3测试设计

测试设计主要解决的是满足测试需求规格说明文档列出的所有的测试需求,这样才能达到客户要求的测试目标。这个阶段的后续阶段必须严格遵循测试说明,测试说明需要解决两个方面的问题。一方面,验证所有的需求都被满足;第二,为测试执行阶段进行系统测试提供所需的各种信息。测试设计阶段完成以后需要制作测试说明文档,详细说明测试计划方案。

2.1.4测试执行

在这一阶段需要根据测试说明对被测的FPGA软件进行充分测试,记录每一个测试步骤及其结果,如果测试中发现存在缺陷,需要对测试缺陷进行详细的描述并给出相应的改进建议。测试结束以后需要制作详细的测试问题单文档,连同详细的测试结果一同交给委托方。

2.1.5测试总结

在这一阶段当中,主要针对FPGA软件测试过程发现的问题,对设计方案进行总体、全面评价,并且还要总结评价测试过程,针对测试过程中的不足,对测试技术和方法进行改进和优化。完成以后需要向委托方提交详细的、完整的软件测试报告。

2.2配置管理与风险管理

2.2.1配置管理

配置管理的目的在于确保软件在生命周期内产品的完整性和一致性,FPGA软件测试的配置管理需要按照一般软件测试的配置管理进行。具体来说包括以下几点。就是配置标识、变更控制、配置状态报告和配置审计。其中配置标识是一个非常重要的环节,其目的在于标识出测试的对象,找到与之对应的测试标准和确定所需的测试工具,确保上述内容当中的名称类型保持一致。变更控制也是一个非常重要的环节,在这一环节当中主要是可以控制和限制变更发生,从而对变更进行更好的管理。配置状态报告反映出的是根据配置项操作数据库中的记录,所进行测试工作的进展情况。而配置审计则是测试过程中变更控制的一种补充手段和方法。

测试风险管理也是测试过程中需要解决的一个重要问题,测试风险管理当中,首先要做好设计风险分析,也就是对FPGA设计当中的潜在问题进行识别、平价的过程,确定潜在问题的优先级以及发生的概率和影响的严重程度,以便于能够针对各种潜在的风险,找到与之对应的解决方法和策略,在风险分析的过程中,可以运用风险矩阵的方式进行。测试风险管理以及应急措施,是测试过程中需要解决的一个重要问题,在测试过程中,需要根据软件测试当中可能发生的风险制作相应的风险检查表,一旦出现了与之对应的问题,可以通过风险检查表快速的确定风险。为了解决这些问题,测试计划需要留有余地,以避免测试资源不足给测试结果带来的负面影响。解决测试风险的方法和手段有很多,其中测试人员的素质能力提升也是一个非常重要的方法,对测试人员进行系统的培训,不断提高他们的专业测试能力和水平。

总之,FPGA软件设计与测试及测试管理工作相对比较系统复杂。在测试的过程中必须先解决测试模型的选择和应用问题,同时要做好测试过程管理,对每一个环节都建立与之对应的管理机制和管理方法,只有这样才能强化自身的管理能力,确保测试过程的顺利进行,并实现预期的测试目标。

[1]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.

[2]刘子宜,刘畅,郑军.基于软件测试技术的FPGA测试研究[J].电子技术应用,2011,37(5):28-30.