论文部分内容阅读
近年来,我国软件产业发展很快,包括软件产品线技术在内的很多先进的开发技术也进入到国内企业。当前已经有不少企事业单位已经成功的把软件产品线技术运用到了其各自不同的领域并取得的很好的效果。但是这也给我们带来了一些难题,如何对软件产品线进行测试。由于当前并没有一个被大家广泛认可的软件产品线测试方法,各个采用软件产品线的组织也是按照自己的理解和各自的实际情况采用不同的方法,更多的是采用和测试单个产品相同的方法来进行产品线的测试。所以,对于一个采用产品线技术的企业而言,如何在产品线中进行测试和管理是一个需要解决的问题。我们在数控领域的产品线开发上已经有一些基础,初步建立了一个核心资产库,完成了产品集成的设计和实现。本文在研究分析了核心资产和产品在测试上的不同之处,结合已有系统,给出了一种将产品线的测试与我们已有的核心资产库和产品集成系统进行无缝结合的方式。本文提出了测试任务驱动的产品线测试方法,无论是集成产品的测试还是核心资产的测试都是任务驱动,且总的流程一致,具体操作上由于所测对象的差异而有些不同。我们给一个测试任务定义了三种状态,待测任务,已测试任务和历史任务。测试任务在这三种状态间的转换也就是产品线测试的行进过程。为了使测试任务不同状态之间的转换更平滑,我们为不同状态的输出结果都进行了基于XML的形式化的描述。待测任务也就是还没有测试的任务,待测任务被执行测试以后,不管成功与否,都进入第二种状态,已测试任务状态,同时输出测试过程中的测试报告,描述其测试情况。测试管理员综合测试任务和测试报告审查已测试任务,并对此任务的被测对象进行处理,比如入库或者拒绝等。不论测试管理人员如何处理,测试任务都进入第三种状态,历史任务状态。测试管理人员对待测任务进行处理的时候会产生任务处理文件,用于描述是如何处理这个任务的。它作为第二种状态的输出结果进入第三种状态。这时意味着测试任务的终结,这个过程中输出的测试报告,任务处理文件,结合测试任务描述文件一起入库备查。为了便于交互、传输和存档,我们为以上三种文件都定义了形式化的描述。产品线中的测试是测试任务驱动的,一个测试任务可以是一个产品集成完后的测试,如何在已经集成好的产品和核心资产的用例库之间建立良好的映射关系是需要解决的一个问题,我们通过给每个产品族构架定义一个构架测试用例表,其中明确这个产品族的产品必须要测试的测试用例,这样就在产品和测试用例之间搭建了桥梁。本文最后描述了我们课题组在把产品线技术引进到数字控制系统的开发过程中所开发使用的软件产品线测试管理系统。我们以基于COM的组件技术开发实现了这个系统,能和我们产品线开发中的核心资产的开发和产品开发两个部分结合起来,对我们数字控制系统的产品线测试提供测试管理支持。也证明本文提出的概念确实是可行的。