关键词:
工业视觉
软件测试
单元测试
功能测试
回归测试
摘要:
在工业视觉软件产品开发领域,保证软件产品的质量是至关重要的一个环节,不仅关系到软件开发团队的信誉,更关系到工业生产过程中的生产效率以及资源的高效利用。因此在工业视觉软件开发过程中软件测试成为保证软件质量的重要途径,也是一个非常有实际应用价值的研究课题。目前软件测试有很多方法,但是工业视觉的特殊应用对软件测试的技术提出了更高的要求,首先考虑工业视觉软件的应用场景的特殊性,软件不断接收并分析处理实时获取的生产线的产品图像,这对软件算法的稳定性和泛化能力提出了较高的要求,然而,工业视觉软件在开发之初,软件测试环节还不能完全考虑软件输入端的图片质量和种类,针对这个问题,本文研究了软件测试工程中测试用例的不断保留并分类精简,很大程度上提高了软件测试的充分性。其次,考虑到工业视觉生产过程中需求的不断增加,进而软件的不断更新,最终带来的大量的重复的软件测试操作执行,为了提高测试的效率与可视化操作执行,本文紧密围绕实际应用需求,从测试的角度研究了功能测试工具的开发应用,并且在软件测试的各个阶段分别采用合理的测试方法:第一、在单元测试阶段,介绍了一种工业视觉单元测试方法,采用Visual Unit的主体测试框架,使用OpenCppCoverage弥补其覆盖率测试不足的缺陷,再用Apache Ant去分配测试任务,提高了工业视觉单元测试的执行覆盖率和测试质量。第二、在功能测试阶段,首先针对测试用例数据的庞大及重复问题完成分类与精简,形成有效的、充分的测试用例集。其次以数据驱动测试模型为基础,开发了功能测试工具,提高测试操作效率和参数输入可操作性,最后使用通信管道工具实时分析处理测试操作过程的交互数据,并且完成数据分析与对比。通过本方法,完成工业视觉软件功能测试整体流程,效果显著,已经应用于实际项目中。第三、在回归测试阶段,以比例增量和针对修改的测试用例维护技术为基础,配合功能测试框架和脚本技术建立回归测试框架,用于解决实际应用当中因图片测试用例不断添加或版本更新测试用例维护困难导致回归测试效率低下的问题。本研究课题立足于实际项目,综合以上方法完成软件测试的工作,真正达到测试的目的,更加高效的协助软件开发的不断完善,其研究成果已被应用于解决项目中的实际问题,在保证测试质量的前提下,缩短了测试开发周期,提高了测试效率,具有较高的实用价值。本文的创新点在于:第一,在功能测试阶段,为提高测试效率,提出一种基于图片数据属性逐级分类精简的方法,完成工业视觉软件的测试用例的分类精简与不断积累形成测试用例库,供回归测试高效利用。第二,将不断精简的测试用例库与数据驱动模型相结合应用于工业视觉软件的测试工作中,更加具体更加高效的完成测试工作。