软件测试自动化与SPEM扩展:应对过程可变性挑战
在软件开发领域,软件测试自动化和软件过程的适应性是两个关键议题。一方面,基于规范的测试自动化程度较低,特别是从Z规范中识别前置和后置条件这一基础步骤尚未完全自动化。另一方面,软件组织需要根据每个新项目调整其流程,而现有的软件过程工程元模型(SPEM)缺乏对软件过程线可变性建模的适当机制。
1. Z规范中前置和后置条件的自动提取
基于规范的测试自动化目前较为匮乏。识别前置和后置条件是几乎所有基于Z的测试技术的基本步骤,但目前尚未完全实现自动化。从Z操作中识别前置和后置条件的主要应用是确定该操作的前置和后置状态,这是从规范中提取有限状态机(FSM)的核心步骤。未来的一个重要研究方向是实现前置和后置状态的完全自动识别,并在此基础上自动形成FSM。
2. 软件过程线可变性机制的现状
软件组织需要将其流程适应每个新项目。软件过程线是设计适应不同上下文的流程的最合适方法,但SPEM目前没有包含对其进行建模的适当机制。因此,有必要提出一种SPEM扩展,以支持软件过程线中隐含的可变性。
2.1 产品线可变性的现状
在软件产品线可变性机制方面,大多数提出的机制基于变化点和变体。变化点是发生可变性的地方,而变体是放置在变化点的具体元素,每个变体以不同的方式实现这种可变性。一些方法还定义了变化点之间的依赖关系,并包括不同的抽象级别来建模可变性。这些方法为设计软件过程线的可变性机制提供了思路。
2.2 SPEM概述
SPEM是对象管理组织(OMG)提出的用于表示软件过程和方法的元模型,基于MOF和UML。SPEM 2.0版本具有显著的新功能,分